@media screen {
 html[data-appearance]:root{--raised:color-mix(in srgb,var(--hf-surface) 94%,var(--hf-accent));--tblr-body-font-family:var(--hf-font);--bg:var(--hf-background);--card:var(--hf-surface);--ink:var(--hf-ink);--text:var(--hf-ink);--muted:var(--hf-muted);--green:var(--hf-accent);--accent:var(--hf-accent);--line:var(--hf-border);--border:var(--hf-border);--surface:var(--hf-surface);font-family:var(--hf-font);font-size:var(--hf-size);color-scheme:light}
 html[data-appearance=dark]:root{color-scheme:dark}
 html[data-appearance] body{background:var(--hf-background)!important;color:var(--hf-ink)!important;font-family:var(--hf-font)!important;font-size:var(--hf-size)}
 html[data-appearance] :is(h1,h2,h3,h4,strong,label,summary){color:inherit}
 html[data-appearance] :is(.sidebar,.topbar,.card,.empty,.source-notice,.source-card,.source-table,.clinical-person,.clinical-detail,.panel,.section,.metric,.kpi,.stat,.report-section,dialog){background:var(--hf-surface);color:var(--hf-ink);border-color:var(--hf-border);border-radius:var(--hf-radius)}
 html[data-appearance] :is(.card,.source-card,dialog){padding:var(--hf-space)}
 html[data-appearance] :is(.muted,.hint,.eyebrow,.nav-label,.footer-note,small){color:var(--hf-muted)}
 html[data-appearance] :is(input,select,textarea){background:var(--hf-surface);color:var(--hf-ink);border-color:var(--hf-border);border-radius:calc(var(--hf-radius) * .6)}
 html[data-appearance] a{color:var(--hf-accent)}
 html[data-appearance] button{border-radius:calc(var(--hf-radius) * .7)}
 html[data-appearance] :is(.primary,button.primary,.mark,.hf-global-brand>b){background:var(--hf-accent)!important;color:var(--hf-accentText)!important}
 html[data-appearance] :is(.secondary,.tag,.preview-strip,.topbar,.clinical-tabs,.path-tabs,.source-tabs,.hint,.restricted-panel,.source-warning){background:color-mix(in srgb,var(--hf-surface) 90%,var(--hf-accent));color:var(--hf-ink);border-color:var(--hf-border)}
 html[data-appearance] :is(button:hover,.nav button.active,.clinical-person.selected){background:color-mix(in srgb,var(--hf-surface) 86%,var(--hf-accent));color:var(--hf-ink)}
 html[data-appearance] :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--hf-accent);outline-offset:3px}
 html[data-appearance] #commonNav{background:var(--hf-surface);color:var(--hf-ink);border-color:var(--hf-border)}
 html[data-appearance] #commonNav :is(a,strong){color:var(--hf-ink)}
 html[data-appearance] #commonNav a[aria-current=page]{background:var(--hf-accent);color:var(--hf-accentText)}
 html[data-appearance] .hf-global-brand{color:var(--hf-accent)!important}
 html[data-appearance] :is(th,td,.row,.permission-row){border-color:var(--hf-border)}
 /* Owner applications retain their data/charts and print appearance. */
 html[data-appearance] body[data-owner-app] :is(.card,.panel,.section,.report,.sheet,.summary-card,.kpi,.stat,.metric,.chart-card,.table-wrap,section){background:var(--hf-surface)!important;color:var(--hf-ink)!important;border-color:var(--hf-border)!important}
 html[data-appearance] body[data-owner-app] :is(h1,h2,h3,h4,thead,th,td,label){color:var(--hf-ink)!important}
 html[data-appearance] body[data-owner-app] :is(th,thead){background:color-mix(in srgb,var(--hf-surface) 94%,var(--hf-accent))!important}
 html[data-appearance=dark] body[data-owner-app] :is(.sidebar,.header,.toolbar,header,.nav,.tabs,.item,.message,.email-row,.task,.stat-row){background:var(--hf-surface)!important;color:var(--hf-ink)!important;border-color:var(--hf-border)!important}
 html[data-appearance=dark] body[data-owner-app] svg text{fill:var(--hf-ink)}
}

@media screen {
html[data-appearance] :is(.nav button,.nav-owner,.nav-label,.profile,.sidebar-bottom,.private-note,.profile small){color:var(--hf-muted)}
html[data-appearance] .private-note{background:var(--hf-surface);border-color:var(--hf-border)}
html[data-appearance] .nav button.active{color:var(--hf-ink)}
html[data-appearance] body[data-owner-app] :is(.balance,.balance-value,.stat-value,.stat-label,.date,.sub,.eyebrow){color:var(--hf-ink)}
html[data-appearance=dark] body[data-owner-app] :is(.refresh-banner,.notice,.warning,.callout){background:var(--hf-surface)!important;color:var(--hf-ink)!important}
}

@media screen {
html[data-appearance] body[data-owner-app] :is(button,.btn){background:var(--hf-surface);color:var(--hf-ink);border-color:var(--hf-border)}
html[data-appearance] body[data-owner-app] button.print-control{background:var(--hf-surface)!important;color:var(--hf-ink)!important}
html[data-appearance] body[data-owner-app=operations] #theme{display:none}
html[data-appearance=dark] body[data-owner-app] svg rect[fill="#f3f6f8"]{fill:color-mix(in srgb,var(--hf-surface) 84%,var(--hf-accent))}
html[data-appearance=dark] body[data-owner-app] .negative{color:#f29d96}
}

@media screen {
html[data-appearance=light]:root{--amber:#805319;--purple:#625092}
html[data-appearance=dark]:root{--amber:#f0c780;--purple:#c6baff}
}

/* Shared contrast tokens cover page, raised, selected and hover surfaces. */
@media screen {
 html[data-appearance]:root{--hf-soft:color-mix(in srgb,var(--hf-surface) 90%,var(--hf-accent));--hf-hover:color-mix(in srgb,var(--hf-surface) 86%,var(--hf-accent));--hf-divider:color-mix(in srgb,var(--hf-surface) 75%,var(--hf-border));--line:var(--hf-divider);--border:var(--hf-divider)}
 html[data-appearance=light]:root{--hf-danger:#9e342f;--hf-warning:#805015;--hf-success:#246445;--red:var(--hf-danger);--amber:var(--hf-warning)}
 html[data-appearance=dark]:root{--hf-danger:#ffb4aa;--hf-warning:#f2ca87;--hf-success:#aadfc1;--red:var(--hf-danger);--amber:var(--hf-warning)}
 html[data-appearance] :is(input,select,textarea){background:var(--hf-surface)!important;color:var(--hf-ink)!important;border-color:var(--hf-border)!important;accent-color:var(--hf-accent)}
 html[data-appearance] :is(input,textarea)::placeholder{color:var(--hf-muted);opacity:1}
 html[data-appearance] :is(button,.button,.btn,.secondary){border-color:var(--hf-border)}
 html[data-appearance] button{background:var(--hf-surface);color:var(--hf-ink)}
 html[data-appearance] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--hf-accent);outline-offset:3px}
 html[data-appearance] :is(.clinical-role,.resource-status,.source-refs small,.resource-field dt small){color:var(--hf-muted)!important}
 html[data-appearance] :is(th,thead,.admin-toolbar){background:var(--raised);color:var(--hf-ink)}
 html[data-appearance] .source-notice p{color:var(--hf-muted)}
 html[data-appearance] :is(.path-tabs,.source-tabs) button{background:transparent;color:var(--hf-ink)}
 html[data-appearance] :is(.path-tabs,.source-tabs) button[aria-selected=true]{background:var(--hf-accent);color:var(--hf-accentText);border-color:var(--hf-accent)}
 html[data-appearance] .source-tabs span{background:transparent;color:inherit}
 html[data-appearance] .toggle{background:var(--hf-surface);color:var(--hf-ink)}
 html[data-appearance] .toggle.on{color:var(--hf-success);border-color:currentColor}
 html[data-appearance] :is(.error,.danger,.negative){color:var(--hf-danger)!important}
 html[data-appearance] :is(.card,.panel,.section,.source-card,.clinical-person,.clinical-detail,.hr-contract,.hr-roster,.hr-stats,.theme-specimen){border-color:var(--hf-divider)}
 /* Native app badges sometimes supplied a fixed light fill in dark mode. */
 html[data-appearance] body[data-owner-app] :is(.button,.planning-empty,input[readonly],textarea[readonly]){background:var(--hf-surface)!important;color:var(--hf-ink)!important;border-color:var(--hf-border)}
 html[data-appearance] body[data-owner-app] .pill{background:var(--hf-surface);color:var(--hf-warning);border:1px solid currentColor}
 html[data-appearance] body[data-owner-app] :is(.amount.danger,.negative){color:var(--hf-danger)!important}
 /* Keep selected navigation labels and counts on the same contrast pair. */
 html[data-appearance] #sectionNav :is(a,button):is([aria-current=page],[aria-selected=true],.active),
 html[data-appearance] #sectionNav :is(a,button):is([aria-current=page],[aria-selected=true],.active):hover{background:var(--hf-accent)!important;color:var(--hf-accentText)!important}
 html[data-appearance] #sectionNav :is([aria-current=page],[aria-selected=true],button.active) :is(small,span){background:transparent;color:inherit;opacity:1}
 html[data-appearance] .theme-preview-bar button[aria-pressed=true]{background:var(--hf-accent);color:var(--hf-accentText)}
 /* HR text uses explicit readable colors instead of stacked opacity. */
 html[data-appearance] :is(.hr-area,.hr-area small,.hr-hero-meta small,.hr-stats span,.hr-caption,.hr-person small,.hr-person em,.hr-facts dt,.hr-empty,.hr-message-top,.hr-byline,.hr-email-table small){opacity:1}
 html[data-appearance] :is(.hr-person.selected,.hr-avatar,.hr-dialog .hr-message){background:var(--hf-soft);color:var(--hf-ink)}
 html[data-appearance] .hr-person.selected{box-shadow:inset 3px 0 var(--hf-accent)}
 html[data-appearance] :is(.hr-person small,.hr-person em,.hr-facts dt,.hr-caption,.hr-byline,.hr-empty,.hr-area small){color:var(--hf-muted)}
 html[data-appearance] .hr-hero{background:var(--hf-accent);color:var(--hf-accentText)}
 html[data-appearance] .hr-hero :is(p,small,.eyebrow,svg){color:inherit;opacity:1}
 html[data-appearance] .hr-badge.positive{background:var(--hf-surface);color:var(--hf-success);border-color:currentColor}
}

/* Match report series and legend keys; keep essential marks visible in each mode. */
@media screen {
 html[data-appearance=light]:root{--hf-chart-teal:#177365;--hf-chart-blue:#315d82;--hf-chart-gold:#916020;--hf-chart-purple:#74518f;--hf-chart-rose:#96526e;--hf-chart-cyan:#3d777d;--hf-chart-gray:#5c6e65}
 html[data-appearance=dark]:root{--hf-chart-teal:#77d1be;--hf-chart-blue:#9cc9f3;--hf-chart-gold:#e3b46e;--hf-chart-purple:#c5a5ed;--hf-chart-rose:#efa8c0;--hf-chart-cyan:#87cdd7;--hf-chart-gray:#b9c7c0}
 html[data-appearance] body[data-owner-app] svg [fill="#168373"]{fill:var(--hf-chart-teal)}
 html[data-appearance] body[data-owner-app] svg [stroke="#168373"]{stroke:var(--hf-chart-teal)}
 html[data-appearance] body[data-owner-app] svg [fill="#375d7a"]{fill:var(--hf-chart-blue)}
 html[data-appearance] body[data-owner-app] svg [stroke="#375d7a"]{stroke:var(--hf-chart-blue)}
 html[data-appearance] body[data-owner-app] svg [fill="#bd8846"]{fill:var(--hf-chart-gold)}
 html[data-appearance] body[data-owner-app] svg [stroke="#bd8846"]{stroke:var(--hf-chart-gold)}
 html[data-appearance] body[data-owner-app] svg :is([fill="#81729c"],[fill="#8776a7"]){fill:var(--hf-chart-purple)}
 html[data-appearance] body[data-owner-app] svg [fill="#ac5f78"]{fill:var(--hf-chart-rose)}
 html[data-appearance] body[data-owner-app] svg [fill="#70a9a0"]{fill:var(--hf-chart-cyan)}
 html[data-appearance] body[data-owner-app] svg [fill="#bcc6c0"]{fill:var(--hf-chart-gray)}
 html[data-appearance] body[data-owner-app] i[style*="background:#168373"]{background:var(--hf-chart-teal)!important}
 html[data-appearance] body[data-owner-app] i[style*="background:#375d7a"]{background:var(--hf-chart-blue)!important}
 html[data-appearance] body[data-owner-app] i[style*="background:#bd8846"]{background:var(--hf-chart-gold)!important}
 html[data-appearance] body[data-owner-app] i:is([style*="background:#81729c"],[style*="background:#8776a7"]){background:var(--hf-chart-purple)!important}
 html[data-appearance] body[data-owner-app] i[style*="background:#ac5f78"]{background:var(--hf-chart-rose)!important}
 html[data-appearance] body[data-owner-app] i[style*="background:#70a9a0"]{background:var(--hf-chart-cyan)!important}
 html[data-appearance] body[data-owner-app] i[style*="background:#bcc6c0"]{background:var(--hf-chart-gray)!important}
 html[data-appearance] body[data-owner-app] svg :is([stroke="white"],[stroke="#ffffff"]){stroke:var(--hf-surface)}
 html[data-appearance] body[data-owner-app] svg circle[fill="white"]{fill:var(--hf-surface)}
 html[data-appearance] body[data-owner-app] svg rect:is([fill="#375d7a"],[fill="#bd8846"],[fill="#168373"],[fill="#8776a7"],[fill="#ac5f78"]){stroke:var(--hf-surface);stroke-width:1;vector-effect:non-scaling-stroke}
}
