/* Existing Resident, Professional and Owner workspaces: shared readability correction. */
body:has(.app-shell[data-role][data-workspace]) {
  color:#e5edf5;background-color:#102337;
  background-image:radial-gradient(ellipse at 86% 0%,rgba(79,123,172,.16),transparent 48%),linear-gradient(150deg,#102337,#142b40);
  background-attachment:scroll;
}
.app-shell[data-role][data-workspace] {
  --ws-ink:#e5edf5;--ws-deep:#f5f8fc;--ws-surface:#1b3349;
  --workspace-text:#e5edf5;--workspace-divider:#365066;
  width:min(1280px,calc(100% - 64px));max-width:none;
  padding:24px 0 64px;color:var(--ws-ink);
  font-family:"HCX Manrope",Manrope,system-ui,sans-serif;font-size:16px;line-height:1.6;
}
.app-shell[data-workspace="resident"] {--ws-accent:#80dfb3;--ws-glow:rgba(59,176,122,.14);}
.app-shell[data-workspace="professional"] {--ws-accent:#80ddf4;--ws-glow:rgba(61,170,214,.14);}
.app-shell[data-workspace="owner"] {--ws-accent:#b4ccff;--ws-glow:rgba(96,130,204,.16);}
.app-shell[data-role][data-workspace] :is(h1,h2,h3,p,label,button,a,small,strong,dt,dd,summary,input,select,textarea) {font-family:inherit;}
body:has(.app-shell[data-role][data-workspace]) .hcx-auth-surface--signed-in:not(.hcx-auth-surface--embedded) {
  background:#132a3f!important;color:#d3e3ef;
  border-bottom:1px solid #365066!important;padding:14px max(24px,calc((100vw - 1280px)/2))!important;
}
body:has(.app-shell[data-role][data-workspace]) .hcx-auth-surface--signed-in :is(p,small,.hcx-auth-feedback) {color:#c2d4e3;}
body:has(.app-shell[data-role][data-workspace]) .hcx-auth-surface--signed-in button {
  color:#e2edf6;background:#1d384e;border-color:#678298;min-height:40px;
}
.app-shell[data-role][data-workspace] .hcx-sound-preference {
  background:#162e43;border:1px solid #365066;border-radius:12px;
  color:#dce8f2;padding:12px 16px;margin:0 0 16px;font-size:13px;line-height:1.6;
}
.app-shell[data-role][data-workspace] .hcx-sound-preference :is(p,small) {color:#c1d2e0;line-height:1.6;}
.app-shell[data-role][data-workspace] .hcx-sound-preference label {color:#e1ebf4;}
.app-shell[data-role][data-workspace] input[type="checkbox"] {min-height:18px;width:18px;height:18px;accent-color:var(--ws-accent);}
.app-shell[data-role][data-workspace] > .topbar {
  display:grid;grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;gap:16px 24px;padding:22px 0 26px;margin:0 0 24px;
  background:none;border-bottom:1px solid #365066;
}
.app-shell[data-role][data-workspace] > .topbar > div {min-width:0;}
.app-shell[data-role][data-workspace] > .topbar h1 {
  margin:0;color:#f5f8fc;font-size:clamp(28px,3.2vw,44px);line-height:1.18;
  letter-spacing:-.035em;text-align:left;text-wrap:balance;
}
.app-shell[data-role][data-workspace] .workspace-heading-description {color:#c3d5e4;font-size:15px;line-height:1.65;margin:10px 0 0;}
.app-shell[data-role][data-workspace] .eyebrow {color:var(--ws-accent);font-size:11px;line-height:1.6;letter-spacing:.13em;}
.app-shell[data-role][data-workspace] .topbar > .workspace-links:empty {display:none;}
.app-shell[data-role][data-workspace] .topbar > .workspace-links:not(:empty) {grid-column:2/-1;}
.app-shell[data-role][data-workspace] .view-switcher {justify-content:flex-end;gap:8px;}
.app-shell[data-role][data-workspace] .view-switcher button.active-tab {
  background:#203e52;color:var(--ws-accent);border:1px solid var(--ws-accent);
  border-radius:999px;padding:8px 16px;min-height:40px;line-height:1.4;font-size:14px;font-weight:750;box-shadow:none;
}
.app-shell[data-role][data-workspace] .hcx-attention {padding:22px 24px;margin:0 0 24px;}
.app-shell[data-role][data-workspace] .hcx-attention :is(p,small,span) {color:#c3d5e4;line-height:1.65;}
.app-shell[data-role][data-workspace] .hcx-attention li {background:#203c50;color:#e7f0f7;border-left-color:var(--ws-accent);}
.app-shell[data-role][data-workspace] .hcx-attention li strong {color:#f3f7fc;}
.app-shell[data-role][data-workspace] .flow-strip {color:#c3d5e4;font-size:13px;line-height:1.7;padding:0 0 20px;margin:0 0 20px;border-color:#365066;gap:8px 12px;}
.app-shell[data-role][data-workspace] :is(.owner-heading,.professional-heading) {align-items:center;gap:16px;margin:4px 0 20px;}
.app-shell[data-role][data-workspace] :is(.owner-heading h2,.professional-heading h2,.request-form h2,.request-status h2,.hcx-attention h2) {
  color:#f3f7fc;font-size:clamp(22px,2.2vw,28px);line-height:1.3;margin:0 0 8px;letter-spacing:-.025em;
}
.app-shell[data-role][data-workspace] :is(.owner-workspace,.professional-workspace,.main-grid) {min-width:0;gap:24px;}
.app-shell[data-role][data-workspace] :is(.request-form,.request-status,.owner-request,.professional-request,.hcx-attention,.empty-state,.next-step) {
  background:linear-gradient(135deg,rgba(60,94,120,.12),transparent 80%),#1b3349;
  border:1px solid #3b566b;border-left:3px solid var(--ws-accent);border-radius:16px;
  color:#e5edf5;box-shadow:0 12px 30px rgba(3,13,23,.08);
}
.app-shell[data-role][data-workspace] :is(.request-form,.request-status,.owner-request,.professional-request) {padding:24px;min-width:0;}
.app-shell[data-role][data-workspace] :is(.request-form label,.assign-field,.schedule-field,.professional-picker) {color:#d8e6f0;line-height:1.55;font-size:14px;font-weight:650;}
.app-shell[data-role][data-workspace] :is(.owner-details p,.request-status p,.next-step p,.empty-state p,.hero-copy) {color:#c4d6e5;line-height:1.65;}
.app-shell[data-role][data-workspace] .owner-details strong {color:#e7f0f7;}
.app-shell[data-role][data-workspace] :is(dt,.request-id) {color:#b8cddd;}
.app-shell[data-role][data-workspace] :is(.status-badge,.request-count) {background:#264457;color:#eef6fc;border:1px solid #527086;font-size:13px;line-height:1.5;}
.app-shell[data-role][data-workspace] .primary-action {background:var(--ws-accent);color:#102337;border:1px solid var(--ws-accent);min-height:44px;line-height:1.5;}
.app-shell[data-role][data-workspace] .secondary-action {background:#203e52;color:#e2eff8;border-color:#6c8ca3;min-height:44px;}
.app-shell[data-role][data-workspace] :is(.owner-actions,.professional-actions,.request-status dl div) {border-color:#456176;}
.app-shell[data-role][data-workspace] :is(input:not([type="checkbox"]),select,textarea) {background:#f2f7fb;color:#193348;border-color:#9eb7c9;font-size:16px;line-height:1.5;min-height:46px;}
.app-shell[data-role][data-workspace] :is(input,textarea)::placeholder {color:#526d80;opacity:1;}
.app-shell[data-role][data-workspace] .hcx-request-history {background:#142d42;border-color:#3b596e;color:#dce9f3;}
.app-shell[data-role][data-workspace] .hcx-request-history :is(summary,p,li,small) {color:#d0e0ec;}
.app-shell[data-role][data-workspace] .protected-subnav {border-color:#3b566b;padding-block:8px 14px;margin-bottom:22px;}
.app-shell[data-role][data-workspace] .protected-subnav a {color:#c1d4e3;line-height:1.5;}
.app-shell[data-role][data-workspace] .protected-subnav a[aria-current="page"] {color:var(--ws-accent);border-color:var(--ws-accent);}
@media(max-width:900px) {
  .app-shell[data-role][data-workspace] {width:calc(100% - 40px);padding-top:20px;}
  .app-shell[data-role][data-workspace] .main-grid {grid-template-columns:minmax(0,1fr);}
  .app-shell[data-role][data-workspace] > .topbar {grid-template-columns:48px minmax(0,1fr);gap:16px;}
  .app-shell[data-role][data-workspace] .topbar > .view-switcher {grid-column:2;justify-content:flex-start;}
  .app-shell[data-role][data-workspace] .topbar > .workspace-links:not(:empty) {grid-column:1/-1;}
  .app-shell[data-role][data-workspace] .request-status {position:static;}
}
@media(max-width:480px) {
  .app-shell[data-role][data-workspace] {width:calc(100% - 32px);padding:16px 0 40px;}
  .app-shell[data-role][data-workspace] > .topbar {gap:14px 12px;padding:14px 0 20px;margin-bottom:20px;}
  .app-shell[data-role][data-workspace] > .topbar h1 {font-size:28px;line-height:1.2;}
  .app-shell[data-role][data-workspace] :is(.request-form,.request-status,.owner-request,.professional-request,.hcx-attention) {padding:18px;}
  .app-shell[data-role][data-workspace] .hcx-sound-preference {padding:12px;font-size:12px;}
  .app-shell[data-role][data-workspace] :is(.owner-heading,.professional-heading) {align-items:flex-start;}
}
