/* Fonts are served from this site (no Google request, and they work offline). SIL Open Font Licence, see fonts/OFL-*.txt. */
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/bricolage.woff2) format("woff2")}
/* Layout: app shell. Side rail on desktop, bottom tab bar on phones. One screen at a time. */
:root{
  --bg:#f3f5f9; --surface:#ffffff; --sunk:#e8ecf3; --line:#d5dbe6;
  --ink:#16223a; --muted:#56627a; --accent:#1f3864; --accent-ink:#ffffff; --accent-soft:#e3e9f5;
  --low:#276b43; --low-bg:#e2f3e8; --med:#755a00; --med-bg:#fbf0c8; --high:#9a4508; --high-bg:#fde5cf; --crit:#b42318; --crit-bg:#fbe0dd;
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-body:"Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;
  --r:10px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0f1522; --surface:#172033; --sunk:#111a2a; --line:#2a3650;
  --ink:#e8edf6; --muted:#9aa6bd; --accent:#8fb0ea; --accent-ink:#0f1522; --accent-soft:#1f2c47;
  --low:#7dd3a0; --low-bg:#173326; --med:#f0cf5c; --med-bg:#3a3110; --high:#f6a565; --high-bg:#3d2614; --crit:#f59a90; --crit-bg:#401a17; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f1522; --surface:#172033; --sunk:#111a2a; --line:#2a3650;
  --ink:#e8edf6; --muted:#9aa6bd; --accent:#8fb0ea; --accent-ink:#0f1522; --accent-soft:#1f2c47;
  --low:#7dd3a0; --low-bg:#173326; --med:#f0cf5c; --med-bg:#3a3110; --high:#f6a565; --high-bg:#3d2614; --crit:#f59a90; --crit-bg:#401a17; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.5}
h1,h2,h3{font-family:var(--f-display);line-height:1.2;text-wrap:balance;margin:0}
h1{font-size:1.6rem} h2{font-size:1.2rem} h3{font-size:1.02rem}
p{margin:0}
button,select,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.shell{display:grid;grid-template-columns:230px 1fr;min-height:100%}
.rail{background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}
.brand{display:flex;flex-direction:column;gap:2px;padding:0 8px}
.brand b{font-family:var(--f-display);font-size:1.15rem;color:var(--accent)}
.brand span{font-size:.8rem;color:var(--muted)}
nav{display:flex;flex-direction:column;gap:4px}
nav button{display:flex;align-items:center;gap:10px;border:0;background:none;padding:10px 10px;min-height:44px;border-radius:8px;text-align:left;cursor:pointer;color:var(--muted)}
nav button svg{width:20px;height:20px;flex:none}
nav button[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:700}
nav .count{margin-left:auto;background:var(--accent);color:var(--accent-ink);font-size:.75rem;border-radius:99px;padding:0 7px}
.svc{margin-top:auto;padding:12px;border-radius:8px;background:var(--sunk);font-size:.85rem}
.svc small{display:block;color:var(--muted)}
main{padding-block:24px 96px;padding-inline:clamp(16px,4vw,40px);min-width:0;max-width:880px}
.proto{font-size:.9rem;color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:8px 12px;margin:0 0 18px}
.screen{display:flex;flex-direction:column;gap:18px}
.lead{color:var(--muted);max-width:62ch}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.status{display:flex;flex-wrap:wrap;gap:14px 28px}
.status div{display:flex;flex-direction:column}
.status small{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.status strong{font-size:1.05rem}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:2px 10px;font-size:.82rem;font-weight:700;white-space:normal;max-width:100%}
.p-draft{background:var(--med-bg);color:var(--med)}
.p-ok{background:var(--low-bg);color:var(--low)}
.p-Low{background:var(--low-bg);color:var(--low)} .p-Medium{background:var(--med-bg);color:var(--med)}
.p-High{background:var(--high-bg);color:var(--high)} .p-Critical{background:var(--crit-bg);color:var(--crit)}
.p-muted{background:var(--sunk);color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer;text-decoration:none;text-align:center}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.small{padding:8px 12px;font-size:.9rem}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.todo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.todo li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.todo li:first-child{border-top:0}
.todo li div{flex:1;min-width:0}
.todo small{display:block;color:var(--muted)}
.banner{background:var(--accent);color:var(--accent-ink);border-radius:var(--r);padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.banner .btn{background:var(--accent-ink);color:var(--accent);border-color:var(--accent-ink)}
.banner .btn.ghost{background:transparent;color:var(--accent-ink);border-color:var(--accent-ink)}
.done-note{font-weight:700}
/* intake */
.steps{display:flex;flex-direction:column;gap:2px}
.steps button{display:flex;align-items:center;gap:10px;border:0;background:none;padding:8px 6px;min-height:44px;min-width:44px;border-radius:6px;cursor:pointer;text-align:left;color:var(--ink)}
.steps button[aria-current="step"]{background:var(--accent-soft)}
.dot{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.72rem;font-weight:700;border:2px solid var(--line);color:var(--muted)}
.dot.done{background:var(--low);border-color:var(--low);color:var(--surface)}
.dot.now{border-color:var(--accent);color:var(--accent)}
.bar{height:8px;background:var(--sunk);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.intake{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}
.q{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--line)}
.q:first-of-type{border-top:0}
.q label,.q legend{font-weight:700}
.q fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.hint{font-size:.85rem;color:var(--muted)}
.warn{font-size:.85rem;color:var(--high)}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:8px 6px;border-top:1px solid var(--line);vertical-align:middle}
thead th{border-top:0;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
select,input[type=text],input[type=search],input[type=date],textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-width:100%}
textarea{width:100%;min-height:84px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:8px 14px;cursor:pointer;font-size:.92rem}
.chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.chip:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}
.chip:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.chip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}
.who{display:none}
.who.show{display:block}
/* risks */
.risk{display:grid;grid-template-columns:1fr auto;gap:10px 16px;padding:16px 0;border-top:1px solid var(--line)}
.risk:first-of-type{border-top:0}
.risk .meta{font-size:.85rem;color:var(--muted)}
.risk .why{font-size:.92rem}
.risk .chg{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
.scorer{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mono{font-variant-numeric:tabular-nums}
.toast:empty{display:none}
.toast{z-index:30;position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:.92rem;max-width:calc(100% - 32px)}
.doclist{list-style:none;margin:0;padding:0}
.doclist li{display:flex;flex-wrap:nowrap;gap:8px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.doclist li:first-child{border-top:0}
.doclist li div{flex:1;min-width:0}.doclist li>.pill,.doclist li>.btn,.doclist li>.hint{flex:none}
.doclist small{display:block;color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(10,16,30,.55);display:grid;place-items:center;padding:16px;z-index:20}
.sheet{background:var(--surface);color:var(--ink);border-radius:12px;max-width:560px;width:100%;max-height:calc(100vh - 32px);overflow:auto;padding:20px;display:flex;flex-direction:column;gap:14px}
.mx{display:grid;grid-template-columns:auto repeat(5,1fr);gap:4px;font-variant-numeric:tabular-nums}
.mx div{display:grid;place-items:center;border-radius:6px;min-height:46px;font-weight:700;text-align:center;padding:2px}
.mx .ax{background:none;font-weight:400;font-size:.78rem;color:var(--muted);min-height:0;padding:4px}
.mx .c-Low{background:var(--low-bg);color:var(--low)} .mx .c-Medium{background:var(--med-bg);color:var(--med)}
.mx .c-High{background:var(--high-bg);color:var(--high)} .mx .c-Critical{background:var(--crit-bg);color:var(--crit)}
.mx small{display:block;font-size:.66rem;font-weight:700;line-height:1.1}
.key{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;font-size:.9rem;align-items:center}
.flow{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.flow li{display:flex;gap:10px;align-items:flex-start}
.flow .offtxt{display:none;color:var(--muted)}
.flow li.off .offtxt{display:inline}
.gap{color:var(--high);font-size:.9rem}
.bia td{vertical-align:top}
.bia td:first-child{font-weight:700}
.tc{display:inline-block;background:var(--med-bg);color:var(--med);border-radius:4px;padding:0 5px;font-size:.88em}
.phase{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:6px}
.phase:first-of-type{border-top:0;padding-top:0}
.phase h3{font-size:.95rem;color:var(--accent)}
.phase ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.em-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.em-btn{background:var(--crit);border-color:var(--crit);color:var(--surface)}
nav button.em{color:var(--crit)}
nav button.em[aria-current="page"]{background:var(--crit-bg);color:var(--crit)}
.big{font-size:1.15rem;font-weight:700}
.log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.log li{display:flex;gap:10px;font-size:.95rem}
.log time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.fields label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:.92rem}
.fields input,.fields select{width:100%}
.act{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;align-items:center}
.act input{width:100%}
.ex{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:8px}
.seg{display:flex;gap:4px;background:var(--sunk);border-radius:10px;padding:4px;overflow-x:auto}
.seg button{flex:1 0 auto;min-height:44px;border:0;background:none;border-radius:7px;padding:8px 12px;cursor:pointer;color:var(--muted);font-weight:700;white-space:nowrap}
#tTabs{flex-wrap:wrap}
.seg button[aria-current="page"]{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.back{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;border:0;background:none;color:var(--accent);font:inherit;font-weight:700;padding:8px 4px;margin:0 0 4px -4px;min-height:44px;cursor:pointer}
.back:focus-visible{outline:2px solid var(--accent);border-radius:6px}
.callrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:8px;margin-top:12px}
.call{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:8px 12px;text-decoration:none;color:var(--ink);min-width:0;min-height:44px}
.call b{font-size:1.1rem;font-variant-numeric:tabular-nums;color:var(--crit)}
.call small{color:var(--muted)}
.gaps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px}
.gaps div,.gaps button{background:var(--sunk);border-radius:8px;padding:10px;border:0;text-align:left;font:inherit;color:inherit}.gaps button{cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}.gaps button:hover{box-shadow:inset 0 0 0 2px var(--accent)}
.gaps strong{display:block;font-size:1.3rem;font-variant-numeric:tabular-nums}
.gaps small{color:var(--muted)}
.ccards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px}
.cc{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.cc .num{font-variant-numeric:tabular-nums;font-weight:700}
.notice{background:var(--accent-soft);border-radius:8px;padding:10px 12px;font-size:.92rem}
.p-crit{background:var(--crit-bg);color:var(--crit)}
.tstate{border-left:4px solid var(--line)}
.tstate.ok{border-left-color:var(--low)} .tstate.soon{border-left-color:var(--high)} .tstate.over{border-left-color:var(--crit)}
.p-amber{background:var(--high-bg);color:var(--high)}
@media (max-width:760px){
  .act{grid-template-columns:1fr 1fr}
  nav button{flex:1 1 0;min-width:0}
  .shell{grid-template-columns:1fr}
  .rail{position:fixed;bottom:0;top:auto;left:0;right:0;height:auto;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));flex-direction:row;border-right:0;border-top:1px solid var(--line);z-index:5}
  .brand,.svc{display:none}
  nav{flex-direction:row;width:100%;justify-content:space-around}
  nav button{flex-direction:column;gap:2px;font-size:.8rem;padding:6px 2px;position:relative}
  nav .count{position:absolute;top:0;right:4px;margin:0}
  .intake{grid-template-columns:1fr}
  .steps{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}
  .steps button span.lbl{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.sec{border-top:1px solid var(--line)} .sec:first-child{border-top:0}
.sec summary{cursor:pointer;padding:12px 0;font-weight:700;list-style-position:outside}
.sec .body{padding:0 0 14px;font-size:.95rem;overflow-wrap:anywhere}.sec .body table{display:block;max-width:100%;overflow-x:auto}.sec .body th,.sec .body td{overflow-wrap:normal;word-break:normal}
.sec .body h3{font-size:1rem;margin:14px 0 6px}
.sec .body p,.sec .body ul,.sec .body ol{margin:0 0 8px}
.tw{overflow-x:auto;margin:6px 0 10px}
.tw table{border-collapse:collapse;font-size:.85rem;min-width:100%}
.tw th,.tw td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.rg summary{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;list-style:none}
.rg summary::-webkit-details-marker{display:none}
.rg dl{display:grid;gap:4px 0;margin:0;font-size:.92rem} .rg dt{font-weight:700;margin-top:6px} .rg dd{margin:0;white-space:pre-line}
mark{background:var(--med-bg);color:inherit}

.xl{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:8px}
.xl table{border-collapse:separate;border-spacing:0;font-size:.8rem}
.xl th,.xl td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top;background:var(--surface);white-space:pre-line}
.xl th{position:sticky;top:0;z-index:2;background:var(--accent);color:var(--accent-ink);white-space:nowrap}
.xl td:first-child,.xl th:first-child{position:sticky;left:0;z-index:1;font-weight:700}
.xl th:first-child{z-index:3}
.xl td.w{min-width:220px} .xl td.n{text-align:center;font-variant-numeric:tabular-nums}
.xl td.r-Low{background:var(--low-bg);color:var(--low);font-weight:700} .xl td.r-Medium{background:var(--med-bg);color:var(--med);font-weight:700}
.xl td.r-High{background:var(--high-bg);color:var(--high);font-weight:700} .xl td.r-Critical{background:var(--crit-bg);color:var(--crit);font-weight:700}
main:has(#s-register:not([hidden])){max-width:none}
.notice.offline{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.mcheck2 label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;min-height:44px;padding:8px 0}.mcheck2 input{width:24px;height:24px;flex:none;margin-top:0}.mcheck2 .hint{margin:6px 0 0 32px}.banner.flash{outline:3px solid var(--accent);outline-offset:3px}#clSheet table{width:100%;border-collapse:collapse;font-size:.92rem;table-layout:fixed}#clSheet th:nth-child(1){width:38%}#clSheet th:nth-child(2){width:28%}#clSheet th,#clSheet td{border:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}#clSheet th{background:var(--sunk)}#clSheet .wl{display:inline-block;width:100%;border-bottom:1px solid currentColor;height:1.1em}#clSheet .nt{font-size:.85rem;color:var(--muted)}
.exb table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;margin:8px 0}.exb th,.exb td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top;overflow-wrap:normal}.exb p{margin:8px 0}.exb ul,.exb ol{padding-left:20px}.exprint{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.exprint label{display:flex;gap:8px;align-items:center;margin:6px 0}.prOnly{display:none}
@media print{body[data-pr=sum] #sumSheet,body[data-pr=sum] #sumSheet *{visibility:visible!important}body[data-pr=sum] #sumSheet{display:block;position:absolute;left:0;top:0;width:100%;color:#000;background:#fff}#sumSheet table{width:100%;border-collapse:collapse}#sumSheet th,#sumSheet td{border:1px solid #888;padding:5px 7px;text-align:left;vertical-align:top}body[data-pr=ex] #exSheet,body[data-pr=ex] #exSheet *{visibility:visible!important}body[data-pr=ex] #exSheet{display:block;position:absolute;left:0;top:0;width:100%;color:#000;background:#fff}#exSheet table{width:100%;border-collapse:collapse}#exSheet th,#exSheet td{border:1px solid #888;padding:6px 8px;text-align:left;vertical-align:top}#exSheet .pb{page-break-before:always}body *{visibility:hidden!important}#clSheet,#clSheet *{visibility:visible!important}#clSheet{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;padding:0;color:#000;background:#fff}#clSheet th,#clSheet td{border-color:#888}#clSheet th{background:#eee}nav,.proto{display:none!important}}
#eTabs{flex-wrap:wrap}.mlist{list-style:none;margin:0 0 12px;padding:0}.mlist li{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.mlist li:first-child{border-top:0}.mlist label{flex:1;display:flex;gap:12px;align-items:flex-start;cursor:pointer;min-height:44px;padding:4px 0}.mlist input{width:24px;height:24px;flex:none;margin-top:0}.mlist small{display:block;color:var(--muted)}.mlist .sent{color:var(--accent);font-weight:700;font-size:.9rem}.mcheck{flex-basis:100%;font-size:.92rem} .mcheck label{display:inline-flex;gap:8px;align-items:center;cursor:pointer}
.prog{display:flex;flex-direction:column;gap:6px;padding-bottom:10px}
.risk.done{grid-template-columns:1fr;padding:10px 0}
.linklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.linklist button{background:none;border:0;padding:10px 0;min-height:44px;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer;text-align:left;width:100%}
.helplist{margin:0;padding-left:1.2em;display:grid;gap:8px}

/* Added for the live app */
body{margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;background:var(--surface);color:var(--accent);padding:10px 14px;border-radius:8px;z-index:40;font-weight:700}
.skip:focus{top:8px}
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}
.row.spread{justify-content:space-between}.row.top{align-items:flex-start}
.mt{margin-top:14px}.center{text-align:center}.key.small{font-size:.85rem}.grow{flex:1;min-width:200px}.stack{display:flex;flex-direction:column;gap:8px}.lbl{font-weight:700}
.checkrow{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:8px 0;cursor:pointer}.checkrow input{width:24px;height:24px;flex:none}
.todo label.hint{min-height:44px;cursor:pointer}.todo label.hint input{width:24px;height:24px}
.gate{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}
.gate-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;max-width:460px;width:100%;display:flex;flex-direction:column;gap:12px}
.gate-card>div{display:flex;flex-direction:column;gap:12px}
.gate-brand{font-family:var(--f-display);font-weight:700;color:var(--accent);font-size:1.1rem}
.offline-note{margin:0 0 18px}
nav .count{min-width:1.4em;text-align:center}
@media (max-width:760px){
  .doclist li{flex-wrap:wrap}
  .doclist li>div{flex-basis:100%}
}
@media print{.toast,.skip,.gate{display:none!important}}
.exrow{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;background:none;border:0;padding:10px 0;min-height:44px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.exrow small{display:block;color:var(--muted)}
#exList li{padding:0}
#calList li.now{background:var(--accent-soft);border-radius:8px;padding:8px}
.todo label.hint.row{gap:8px;flex-wrap:nowrap}
.risk h2.rt{font-size:1.02rem}
select,input[type=text],input[type=search],input[type=date]{min-height:44px}
.mlist li{flex-wrap:wrap}
.risk{grid-template-columns:minmax(0,1fr) auto}
@media (max-width:420px){.risk{grid-template-columns:minmax(0,1fr)}}
.rg summary{flex-wrap:wrap}.rg summary>div{min-width:0;flex:1 1 12rem;overflow-wrap:anywhere}
@media (max-width:340px){nav button:not(.em) .nl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}nav button svg{width:24px;height:24px}nav button.em{flex:1.6 1 0}}

/* A new client whose plan isn't written yet sees only the set-up questions and the Emergency numbers. */
.newOnly { display: none; }
.newclient .newOnly { display: block; }
.newclient .oldOnly { display: none !important; }
