:root{color-scheme:light;--surface:#fff;--ink:#24332f;--muted:#58665f;--line:#dce3de;--accent:#176552;--radius-lg:12px;font:16px/1.6 system-ui,-apple-system,sans-serif;background:#f7f8f4;color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button{min-height:44px;padding:9px 16px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}button:hover{border-color:var(--accent)}button.active,button[aria-current=step],.primary{background:var(--accent);color:white}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:3px solid #087a65;outline-offset:3px}a{color:var(--accent)}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:12px;z-index:2000;background:white;padding:12px}.skip-link:focus{top:5px}
.masthead{height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--line);background:white;position:relative;z-index:20}.host-brand{font-weight:650;color:var(--ink);text-decoration:none;font-size:.875rem;white-space:nowrap}.host-brand span{font-size:.75rem;font-weight:400;margin-left:14px;color:var(--muted)}.main-tabs{display:flex;gap:8px;align-items:center}.main-tabs>button{min-height:34px;padding:3px 10px;font-size:.8125rem;border:0;background:transparent;color:var(--accent)}.host-tools>summary{font-size:.8125rem;padding:4px 8px}.host-tools>div{position:absolute;right:8px;top:42px;display:grid;background:white;padding:8px;min-width:220px;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 24px #18352a12}.host-tools button{text-align:left;border:0}.host-tools:not([open])>div{display:none}#panelAiDoc{height:calc(100dvh - 44px);width:100%;overflow:hidden}#panelAiDoc iframe{display:block;border:0;width:100%;height:100%;background:#f7f8f4}.aidoc-active{overflow:hidden}.aidoc-active .action-dock,.aidoc-active .tiny-footer{display:none}.tiny-footer{display:none}
.tool-workspace{max-width:1100px;margin:0 auto;padding:clamp(24px,5vw,64px) 24px 170px}.workspace-heading{max-width:720px;margin-bottom:32px}.workspace-heading h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;letter-spacing:-.04em;font-weight:550;margin:8px 0 16px}.workspace-heading p{color:var(--muted)}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.mode-switcher{font-size:.8125rem;color:var(--muted);display:flex;gap:12px;align-items:center;margin-bottom:24px}.mode-switcher button{min-height:28px;padding:0 10px}.calculator-steps{display:flex;gap:8px;overflow:auto;margin:0 0 32px;padding:3px}.calculator-steps button{white-space:nowrap}.calculator-stage{max-width:780px}.calculator-stage fieldset{border:0;margin:0;padding:0;min-width:0}.calculator-stage legend{font-size:1.3rem;font-weight:600;margin-bottom:20px}.clinical-section{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}h2{font-weight:550;font-size:1.1rem}h3,h4{font-weight:550}p.hint,.minihelp,.dev-tip{font-size:.875rem;color:var(--muted)}label{display:block;font-size:.875rem;margin:12px 0 5px}input,select,textarea{width:100%;min-height:44px;border:1px solid #aab8b0;border-radius:7px;padding:10px 12px;background:white;color:var(--ink)}input[type=radio],input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--accent)}.grid-2,.grid-3{display:grid;gap:16px;margin:12px 0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.chip-row{display:flex;flex-wrap:wrap;gap:8px 20px}.chip{display:flex;align-items:center;gap:8px}.tab-bar{display:flex;gap:8px;margin:24px 0}.tab-panel{display:none}.tab-panel.active{display:block}.step-actions{display:flex;gap:16px;align-items:center;justify-content:space-between;max-width:780px;margin-top:24px}#calculatorProgress{font-size:.8125rem;color:var(--muted)}.results-card{padding:24px 0}.results-grid{display:flex;flex-wrap:wrap;gap:32px}.metric{display:grid;gap:8px}.metric span{font-size:2rem}.metric small{color:var(--muted)}.action-dock{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:12px 24px calc(12px + env(safe-area-inset-bottom));z-index:15}.action-dock__inner{max-width:1050px;margin:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.incomplete-note{margin-right:auto;font-size:.8125rem;color:var(--muted)}.sheet-workspace{min-width:0}.admin-card{margin:32px 0;padding-top:24px;border-top:1px solid var(--line)}.admin-actions,.admin-inputs{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.admin-inputs>div{flex:1;min-width:120px}.table-wrap,.help-tablewrap{overflow:auto;max-height:60vh;border:1px solid var(--line);border-radius:8px;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);color:var(--ink)!important}th{background:#eef2ed;position:sticky;top:0}#panelHelp details{border-top:1px solid var(--line);padding:20px 0}#panelHelp summary{font-size:1.1rem;font-weight:550}.pill{font-size:.8125rem;color:var(--muted)}.dup-indicator{display:none}.dup-indicator.show{display:inline-flex}.toast{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:16px 24px;background:#234d40;color:white;max-width:90vw;border-radius:10px;z-index:2000}.toast.err,.toast.warn{background:#7a3929}.toast.center{top:40%;bottom:auto}.dev-backdrop{display:none;position:fixed;inset:0;background:#13281e55;z-index:100}.dev-backdrop[data-visible=true]{display:block}.dev-panel{display:none;position:fixed;inset:5vh max(12px,calc((100vw - 640px)/2));z-index:101;background:white;padding:24px;border-radius:12px;overflow:auto;max-height:90dvh}.dev-panel[aria-hidden=false]{display:block}.dev-sheet>div:first-child{display:flex;justify-content:space-between;align-items:center}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f3ef;padding:16px;font-size:.8125rem;max-height:240px;overflow:auto}.help-note{padding:16px 0}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%}
@media(max-width:600px){.host-brand span{display:none}.masthead{padding:0 8px;gap:4px}.main-tabs{gap:0}.tool-workspace{padding:28px 16px 200px}.grid-2,.grid-3{grid-template-columns:1fr}.calculator-steps{gap:4px}.calculator-steps button{font-size:.8125rem;padding:8px}.action-dock{padding:12px 16px}.action-dock button{flex:1;font-size:.8125rem}.incomplete-note{width:100%}.dev-panel{padding:20px}.admin-inputs{align-items:stretch}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{.masthead,.action-dock,.calculator-steps,.step-actions{display:none}.calculator-stage fieldset[hidden]{display:block!important}.tool-workspace{padding:0}}

.aidoc-immersive .masthead{display:none}.aidoc-immersive #panelAiDoc{height:100dvh}

/* The embedded app owns navigation; its brand must not be duplicated by its host. */
.aidoc-active .masthead{display:none}.aidoc-active #panelAiDoc{height:100dvh}
.masthead{height:auto;min-height:64px;display:grid;grid-template-columns:auto 1fr auto;padding:8px 16px;gap:16px}
.host-brand{font-size:1.15rem}.main-tabs{justify-self:end}.main-tabs>button{min-height:44px;font-size:.875rem}
.host-tools>summary{min-height:44px;display:flex;align-items:center}.host-tools>div{top:100%}
@media(max-width:767px){.masthead{grid-template-columns:minmax(0,1fr) auto;padding:0 16px;gap:0 8px}.host-brand{grid-row:1;grid-column:1;min-height:44px;display:flex;align-items:center}.host-tools{grid-row:1;grid-column:2}.main-tabs{grid-row:2;grid-column:1/-1;justify-self:stretch;display:flex}.main-tabs>button{flex:1}}
.host-tools>div{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
@media print{.masthead{display:none!important}}

/* Secondary groups stay inside Menu; release notices cannot cover a clinical screen. */
.host-menu-group{min-width:0;padding:4px}.host-menu-group+section{border-top:1px solid var(--line)}
.host-menu-group h2{font-size:.72rem;color:var(--muted);margin:8px;text-transform:uppercase;letter-spacing:.06em}
.host-menu-group button{display:block;width:100%}.ui-update-notice{border-top:1px solid var(--line);padding:12px 8px;display:flex;gap:8px;flex-wrap:wrap}
.ui-update-notice span{width:100%;font-size:.85rem}.host-tools>div{width:min(420px,calc(100vw - 24px));grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
