/* Shared visual identity: charcoal, neutral greys and indigo. */
:root{--accent:var(--ui-accent);--ink:var(--ui-text);--muted:var(--ui-muted);--line:var(--ui-line);--page:var(--ui-page);--soft:var(--ui-accent-soft)}
body{background:var(--page);color:var(--ink)}
.topbar{position:sticky;top:0;background:#fff;border-color:var(--line);box-shadow:0 2px 14px #1517280d;gap:18px}
.brand,.workspace-heading h1,.card h2,.home-copy h1,#platform-login h1,#login-screen h1{color:var(--ui-text)}
.brand-mark{background:var(--ui-accent);box-shadow:none}
.pilot{background:var(--ui-accent-soft);color:var(--ui-accent)}
.eyebrow,.workspace-heading .eyebrow,#platform-login .eyebrow,#login-screen .eyebrow,.home-path-index{color:var(--ui-accent)}
button{background:var(--ui-accent)}
button.secondary{background:#fff;border-color:#cfd3e1;color:#353b80}
button.quiet{color:#5d6474}
button:hover:not(:disabled){box-shadow:0 3px 10px #353b8024}
input,select,textarea{border-color:#cfd3e1}
input:focus,select:focus,textarea:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px rgb(69 72 173 / 12%)}
label{color:#343949}
.experience-sidebar,.home-hero,footer{background:#fafbfc;border-color:var(--line)}
.experience-sidebar nav button{color:#4c5364}
.experience-sidebar nav button:hover,#clinical-subnavigation button:hover{background:#eff0f8}
.experience-sidebar nav button[aria-current=page],.experience-sidebar nav button.active{background:#e9ebfa;color:#343b9b;box-shadow:inset 3px 0 var(--ui-accent)}
.sidebar-kicker,#clinical-subnavigation p{color:#747b8d}
.sidebar-footer,.workspace-heading,.card,.metric,.tile,.home-paths article{border-color:var(--line)}
.status-dot{background:var(--ui-accent);box-shadow:0 0 0 3px #e9ebfa}
.metric strong,.auth-alternate,.home-paths a{color:var(--ui-accent)}
.badge,.notice{background:var(--ui-accent-soft);border-color:#d8dcf6;color:#343b80}
details>summary,.history-sharing .history-record summary{color:var(--ui-accent)}
.home-copy h1 em{color:var(--ui-accent)}
.home-button{background:var(--ui-accent)}.home-button:hover{background:var(--ui-accent-hover)}.home-button.secondary{background:var(--ui-accent-soft);color:#353b80}.home-button.secondary:hover{background:#e2e5f8}
.home-illustration{filter:grayscale(1)}
#workspace{padding-bottom:78px}
.global-patient-search{display:flex;align-items:center;gap:7px;flex:1;max-width:440px;margin:0}
.global-patient-search input{min-height:40px;min-width:0;margin:0;background:#f7f8fb}
.global-patient-search button{min-height:40px;padding:8px 12px;display:flex;align-items:center;gap:7px}
.top-module-navigation{border:0;padding:0;margin:0;display:flex;align-items:center;gap:3px;overflow:visible}
.top-module-navigation button{display:flex;align-items:center;gap:7px;padding:8px 10px;min-height:40px;background:transparent;color:#4c5364;box-shadow:none}
.top-module-navigation button:hover{background:var(--ui-accent-soft);box-shadow:none}
.top-module-navigation button[aria-current=page]{background:#e9ebfa;color:#343b9b}
.top-module-navigation svg,.global-patient-search svg,.patient-bottom-nav svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
#clinical-subnavigation button{display:flex;align-items:center;gap:10px}
#clinical-subnavigation button svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
.patient-bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:5px;padding:9px max(12px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom));margin:0;border:0;border-top:1px solid #303443;background:#191c28;box-shadow:0 -8px 30px #16192624;overflow-x:auto}
.patient-bottom-nav button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;white-space:nowrap;padding:8px 14px;color:#e6e8f1;background:transparent;box-shadow:none}
.patient-bottom-nav button:hover{background:#343959;box-shadow:none}
.patient-bottom-nav button[data-patient-action=attention]{background:var(--ui-accent);color:#fff}
#patient-card,#patient-longitudinal,#patient-clinical-summary{scroll-margin-top:94px}
@media(max-width:1150px){.topbar{flex-wrap:wrap;height:auto;min-height:78px;padding-top:10px;padding-bottom:10px}.global-patient-search{order:3;max-width:none;flex-basis:100%}.top-module-navigation{margin-left:auto}}
@media(max-width:700px){.topbar{gap:8px}.account{margin-left:auto}.top-module-navigation{order:4;width:100%;justify-content:flex-start;overflow-x:auto}.top-module-navigation button{font-size:.82rem}.global-patient-search{order:3}.patient-bottom-nav{justify-content:flex-start}.patient-bottom-nav button{font-size:.78rem;gap:5px;padding:8px 11px}}

/* Shared foundations adapted to the existing, authorized portal markup. */
:root { font-family: var(--ui-font); color-scheme: light; }
button, .item-list li button, .global-patient-search button { min-height: var(--ui-touch-target); }
input, select, textarea { font-size: 1rem; border-color: var(--ui-control-border); }
*:focus-visible { outline: 3px solid var(--ui-focus); outline-offset: 3px; }
input:focus, select:focus, textarea:focus { outline: 3px solid var(--ui-focus); outline-offset: 2px; box-shadow: none; }
button:disabled { cursor: not-allowed; }
.notice { color: var(--ui-info-text); background: var(--ui-info-bg); }
.notice.care-simulation, .ui-notice--warning { color: var(--ui-warning-text); background: var(--ui-warning-bg); border-color: var(--ui-warning-text); }
.badge.pending { color: var(--ui-warning-text); background: var(--ui-warning-bg); }
button.danger { color: var(--ui-danger-text); background: var(--ui-danger-bg); border-color: var(--ui-danger-text); }
.tile { background: var(--ui-surface); }
.footnote, .rcc-provenance { font-size: .875rem; }
.topbar > * { min-width: 0; }
#active-organization { max-width: 250px; color: var(--ui-muted); overflow-wrap: anywhere; }
#workspace > .workspace-heading { padding: 18px clamp(16px, 3vw, 40px); margin: 0; }
#workspace > .workspace-heading h1 { font-size: clamp(1.25rem, 2.2vw, 1.8rem); }
#workspace .experience-sidebar, #platform-dashboard .experience-sidebar { top: var(--ui-header-height); height: auto; max-height: calc(100vh - var(--ui-header-height)); align-self: start; }
#patient-card, #patient-longitudinal, #patient-clinical-summary, [data-panel], .ui-heading, #dashboard-title, #main, details[id] { scroll-margin-top: calc(var(--ui-header-height) + var(--ui-scroll-gap)); }
.ui-nav-toggle { display: none; }
.experience-content { padding-top: 24px; }
#workspace { padding-bottom: 110px; }
.skip:focus { z-index: 100; color: var(--ui-focus); }
@media (max-width: 1150px) {
  #active-organization { order: 2; max-width: none; }
}
@media (max-width: 900px) {
  .experience-sidebar { padding: 12px 16px; }
  .experience-sidebar .ui-nav-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; background: var(--ui-surface); color: var(--ui-accent); border: 1px solid var(--ui-control-border); }
  .ui-nav-toggle::after { content: "+"; font-size: 1.25rem; margin-left: 12px; }
  .ui-nav-toggle[aria-expanded="true"]::after { content: "−"; }
  .experience-sidebar:not([data-navigation-open]) nav { display: none; }
  .experience-sidebar[data-navigation-open] nav { display: flex; flex-direction: column; max-height: 55vh; overflow-y: auto; padding: 8px 2px; }
  .experience-sidebar nav button { width: 100%; flex: 0 0 auto; font-size: .95rem; }
  .experience-content { padding: 20px 16px 32px; }
  #clinical-subnavigation { display: none; }
}
@media (max-width: 700px) {
  .topbar { padding: 8px 12px; min-height: 64px; gap: 6px 10px; }
  .brand { font-size: 1.1rem; gap: 6px; }
  .brand-mark { width: 30px; height: 30px; line-height: 27px; font-size: 1.6rem; }
  .pilot { display: inline-block; margin-left: 5px; font-size: .55rem; padding: 2px 4px; }
  .account { gap: 4px; flex: 1 1 auto; justify-content: flex-end; }
  .account span { max-width: 90px; font-size: .75rem; }
  .account button { padding: 8px; font-size: .8rem; }
  #active-organization { order: 4; flex-basis: 100%; font-size: .875rem; }
  .global-patient-search { display: none; }
  #workspace > .workspace-heading { padding: 14px 16px; flex-direction: row; align-items: center; gap: 8px; }
  #workspace > .workspace-heading h1 { font-size: 1.15rem; }
  #workspace > .workspace-heading .eyebrow { display: none; }
  #workspace > .workspace-heading button { width: auto; flex: 0 0 115px; font-size: .8rem; padding: 8px; }
  .patient-bottom-nav { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 3px; padding: 6px 8px max(6px, env(safe-area-inset-bottom)); overflow: visible; }
  .patient-bottom-nav button { flex-direction: column; min-width: 0; min-height: 58px; gap: 4px; padding: 5px 2px; white-space: normal; font-size: .75rem; line-height: 1.2; }
  .card h2 { font-size: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  button:hover:not(:disabled) { transform: none; }
}

/* Keep the compact module switcher available while reading long records. */
@media (max-width: 900px) {
  :root { --ui-scroll-gap: 85px; }
  #workspace .experience-sidebar, #platform-dashboard .experience-sidebar { position: sticky !important; top: var(--ui-header-height) !important; z-index: 4; }
  .account span { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
}

/* Portal return link: presentation only; preserves the existing draft guard. */
.topbar a.brand { color: var(--ui-text); text-decoration: none; min-height: 44px; }
