:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1e3038;background:#f2f5f7;line-height:1.55;font-size:16px;--ink:#123c48;--accent:#177d78;--border:#d9e2e6;--muted:#5d6f77}*{box-sizing:border-box}body{margin:0}a{color:var(--ink)}header{background:#fff;border-bottom:1px solid var(--border)}.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:750;font-size:21px;line-height:1.25}.logo{background:var(--ink);color:white;border-radius:12px;font-size:16px;letter-spacing:1px;padding:13px 9px}.brand small{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:5px}.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tools select{max-width:235px}.tools button{padding:9px 13px}nav{background:white;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--border)}#tabs{max-width:1132px;margin:auto;display:flex;overflow-x:auto;gap:8px}#tabs button{border:0;border-radius:0;background:transparent;white-space:nowrap;padding:17px 20px;color:var(--muted);border-bottom:3px solid transparent}#tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink);font-weight:750}main,footer{max-width:1180px;margin:auto;padding:24px}main{min-height:60vh}footer{font-size:13px;color:var(--muted);padding-top:0}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.5px;line-height:1.25}h2{font-size:21px;line-height:1.35;margin-bottom:8px}h3{font-size:17px;margin-bottom:8px}p{margin-bottom:14px}.muted{color:var(--muted);font-size:14px}.card{background:white;border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:0 3px 14px #102f3b04}.section-head,.spread{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head p{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#435a64}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:11px 12px;color:#203943;border:1px solid #bdcdd4;border-radius:9px;background:white;font-size:16px;min-width:0}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0}input[type=number]{appearance:textfield}.check{flex-direction:row;align-items:center;gap:9px}.checks{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}button{border:1px solid #bdcdd4;border-radius:9px;padding:10px 16px;background:white;color:var(--ink);font-weight:600;cursor:pointer;min-height:44px}button:hover{background:#edf4f6}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button.primary:hover{background:#1d5666}button.danger{color:#a83131;border-color:#e9c4c4}button.ghost{border-color:transparent;background:transparent}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #47a9bc;outline-offset:3px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.actions.end{justify-content:flex-end}.pill{display:inline-block;border-radius:99px;font-size:13px;padding:5px 10px;background:#edf3f5;white-space:nowrap;color:#45606b}.pill.good{color:#16633d;background:#e5f5ed}.pill.warn{background:#fff0d6;color:#93610f}.hint{font-size:14px;border-radius:9px;background:#edf4f6;padding:12px 14px;margin:16px 0;color:#435b65}.alert{padding:13px 16px;border-left:4px solid #d5952a;background:#fff7e8;border-radius:8px;font-size:14px;margin-bottom:10px}.alert.high{border-color:#c65353;background:#fff0f0}.alert.info{border-color:#41939c;background:#edf6f7}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.stat{border:1px solid var(--border);border-radius:12px;padding:16px;background:#f8fafb}.stat b{display:block;font-size:24px;letter-spacing:-.6px;color:var(--ink);overflow-wrap:anywhere}.stat span{font-size:13px;color:var(--muted)}.stat.emphasis{background:var(--ink);border-color:var(--ink)}.stat.emphasis b,.stat.emphasis span{color:white}.alloc{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:10px;align-items:end;margin-top:10px}.allocation-block{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.legend{display:flex;gap:20px;font-size:14px;flex-wrap:wrap;margin:20px 0}.key:before{content:"";display:inline-block;width:12px;height:12px;background:var(--accent);border-radius:3px;margin-right:7px}.key.default:before{background:#8b9fb2}details.person{border-top:1px solid var(--border);padding:16px 0}details.person summary{list-style:none;cursor:pointer}details.person summary::-webkit-details-marker{display:none}.person-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.person-head strong{font-size:16px}.bar-line{display:grid;grid-template-columns:minmax(80px,1fr) minmax(180px,230px);gap:16px;align-items:center;margin:7px 0;font-size:14px}.track{background:#eef3f5;height:14px;border-radius:4px;overflow:hidden}.fill{height:100%;background:var(--accent);border-radius:4px}.fill.default{background:#8b9fb2}.bar-value{text-align:right}.breakdown{background:#f5f8fa;border-radius:9px;padding:14px;margin-top:14px}.kv{display:flex;justify-content:space-between;gap:18px;font-size:14px;margin-bottom:7px}.table-scroll{overflow-x:auto;margin-top:16px}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;border-bottom:1px solid var(--border);padding:12px 10px;vertical-align:top}th{color:var(--muted);font-weight:600;background:#f5f8fa}.num{text-align:right;white-space:nowrap}progress{height:10px;width:100%;accent-color:var(--accent);margin:12px 0}.check-card{border-left:4px solid #d5dee3}.check-card.done{border-left-color:#268961}.check-card.progress{border-left-color:#d69a37}.intro{max-width:700px;margin:38px auto;padding:36px}.intro h1{margin-top:22px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:700;color:var(--accent)}.intro .actions{margin-top:24px}.intro p{font-size:16px}.intro .muted{font-size:14px}.notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:10px;z-index:20;box-shadow:0 5px 30px #0002;max-width:90vw;font-size:14px}dialog{border:1px solid var(--border);border-radius:18px;padding:28px;max-width:480px;width:calc(100% - 32px);color:#203943}dialog::backdrop{background:#102c3b77}dialog .check{margin:18px 0}.report-heading{border-bottom:3px solid var(--ink);padding-bottom:16px;margin-bottom:20px}.small{font-size:14px}.empty{padding:20px;color:var(--muted);text-align:center}.route-note{margin:8px 0 0;font-size:14px;color:var(--muted)}.save-error{color:#ab3131}body.printing main{padding:0}
@media(max-width:900px){.header-inner{align-items:flex-start;flex-direction:column;gap:18px}.tools{width:100%}.tools select{flex:1;max-width:none}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.header-inner{padding:16px}.brand{font-size:19px}.brand small{font-size:12px}.tools{gap:6px}.tools select{flex-basis:100%;margin-bottom:4px}.tools button{flex:1;font-size:14px;padding:8px}main,footer{padding:16px}#tabs{gap:0}#tabs button{padding:14px 15px;font-size:14px}.card{padding:18px;border-radius:12px}.grid,.grid.four{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.stats{gap:8px}.stat{padding:12px}.stat b{font-size:21px}.alloc{grid-template-columns:minmax(0,1fr) 86px}.alloc button{grid-column:1/-1;justify-self:end;min-height:36px;padding:5px 12px;font-size:14px}.bar-line{grid-template-columns:1fr;gap:2px}.bar-value{text-align:left}.person-head{flex-direction:column;gap:3px}.intro{margin:12px auto;padding:24px}.spread{flex-wrap:wrap}h1{font-size:25px}.kv{flex-wrap:wrap}.tools #client-select{width:100%}}
@media print{@page{size:A4;margin:14mm}body{background:white;color:#111;font-size:11pt}.no-print,header,nav,dialog,footer,#notice{display:none!important}main{padding:0;max-width:none;min-height:0}.card{box-shadow:none;border:0;border-radius:0;padding:0;margin-bottom:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.stat{padding:8px;background:white!important;border:1px solid #aaa}.stat b{font-size:16px;color:#111!important}.stat span{font-size:10px;color:#333!important}h1{font-size:22pt}h2{font-size:16pt}h3{font-size:12pt;break-after:avoid}.table-scroll{overflow:visible}table{font-size:9pt}th,td{padding:7px 4px}thead{display:table-header-group}tr,.stat,details.person,.alert{break-inside:avoid}.track,.fill,.pill,.alert{print-color-adjust:exact;-webkit-print-color-adjust:exact}.bar-line{grid-template-columns:1fr 180px}.report-block{margin-top:20px}.checklist-table td:first-child{width:38%}.muted,.small{font-size:10pt}.report-disclaimer{font-size:9pt;border-top:1px solid #aaa;padding-top:10px;margin-top:18px}}
/* v1.2: reference-style light layout and an equivalent dark theme. */
:root{--ink:#205e67;--accent:#205e67;--border:#deded8;--muted:#667176;--surface:#fff;--page:#f6f5f1;--field:#fff;--text:#263238;background:var(--page);color:var(--text);color-scheme:light}
.header-inner,main,footer{max-width:1084px}.header-inner{padding:14px 24px;gap:18px}.brand{font-size:19px}.brand small{font-size:12px}.logo{padding:8px 6px;border-radius:6px;font-size:12px}header,nav{background:var(--surface)}nav{background:var(--page)}#tabs{max-width:1036px;gap:0}#tabs button{padding:13px 14px;font-weight:400}main{padding-top:22px}.card{border-radius:12px;padding:18px;box-shadow:0 2px 5px #26323809,0 6px 20px #26323804}h1{font-size:23px;letter-spacing:0}h2{font-size:20px}h3{font-size:17px}.description{font-size:14px;line-height:1.6}.check-card{border-left:1px solid var(--border)}.check-card h3{display:flex;align-items:center;gap:9px;margin-bottom:2px}.check-card .description{margin:0 0 12px 22px}.status-dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid #b7564c;flex:none}.done .status-dot{background:#258755;border-color:#258755}.progress .status-dot{background:#d5952a;border-color:#d5952a}.na .status-dot{border-color:#8a969b}.group-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:27px 0 14px}.status-control{display:flex;border:1px solid var(--border);border-radius:7px;overflow:hidden;margin-bottom:12px}.status-control button{border:0;border-right:1px solid var(--border);border-radius:0;min-height:38px;font-size:14px;font-weight:400;padding:7px 12px}.status-control button[aria-pressed=true]{background:var(--accent);color:#fff;font-weight:600}.check-notes{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px}.check-notes textarea{min-height:42px;height:42px}.theme-switch{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.theme-switch button{border:0;border-radius:0;padding:7px 10px;font-size:13px;min-height:36px}.theme-switch button[aria-pressed=true]{background:var(--accent);color:white}.header-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats .pending-stat{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}.stats .pending-stat b{font-size:19px}.stat.emphasis{background:#f4f7f6;border-color:var(--border)}.stat.emphasis b{color:var(--ink)}.stat.emphasis span{color:var(--muted)}.stat b{font-size:23px}.bar-line{grid-template-columns:1fr}.track{height:28px;position:relative}.bar-value{margin-top:-30px;z-index:1;position:relative;pointer-events:none;text-align:left;padding:2px 10px}.bar-value b{font-weight:500}.fill{opacity:.23}.fill.default{background:#8b9fb2;opacity:.25}.report-heading{border-bottom:1px solid var(--border)}.report-block{margin-top:25px}.report-disclaimer{font-size:13px;color:var(--muted);border-top:1px solid var(--border);padding-top:16px;margin-top:24px}input,select,textarea,button{background:var(--field);color:var(--text);border-color:var(--border)}label{color:var(--text)}
:root[data-theme=dark]{--ink:#9ed6d6;--accent:#55b9b5;--border:#34464e;--muted:#b0bec5;--surface:#1b2a32;--page:#111e26;--field:#22343d;--text:#e7eef1;color-scheme:dark}
[data-theme=dark] a{color:var(--ink)}[data-theme=dark] .card,[data-theme=dark] dialog{background:var(--surface);color:var(--text)}[data-theme=dark] .hint,[data-theme=dark] .breakdown,[data-theme=dark] th,[data-theme=dark] .stat,[data-theme=dark] .stat.emphasis{background:#22343d;color:var(--text)}[data-theme=dark] .stat span,[data-theme=dark] .stat.emphasis span{color:var(--muted)}[data-theme=dark] .stat.emphasis b{color:var(--ink)}[data-theme=dark] .track{background:#30414b}[data-theme=dark] .alert{background:#3b3222;color:#f5e3c4}[data-theme=dark] .alert.high{background:#3f282e;color:#ffe1e0}[data-theme=dark] .alert.info{background:#213f47;color:#d3eff1}[data-theme=dark] .pill{background:#30454d;color:#d8e6eb}[data-theme=dark] .pill.good{background:#214537;color:#c6f1da}[data-theme=dark] .pill.warn{background:#4b3b20;color:#ffe0a3}[data-theme=dark] button:hover{background:#304852}[data-theme=dark] button.primary{background:#55b9b5;color:#102c32;border-color:#55b9b5}[data-theme=dark] .logo{background:#55b9b5;color:#102c32}[data-theme=dark] button.danger{color:#ffb2ad;border-color:#65424a}[data-theme=dark] .notice{background:#d1eeee;color:#142f35}[data-theme=dark] .theme-switch button[aria-pressed=true],[data-theme=dark] .status-control button[aria-pressed=true]{color:#102c32}
@media(max-width:900px){.header-controls{width:100%;justify-content:flex-start}.header-inner{gap:12px}.tools{width:auto;flex:1}.tools select{max-width:260px}.theme-switch{margin-left:auto}}
@media(max-width:560px){.header-inner{padding:14px 16px}.header-controls{gap:8px}.tools{flex-basis:100%}.tools select{max-width:none}.theme-switch{margin-left:0}.check-notes{grid-template-columns:1fr}.check-card .description{margin-left:0}.status-control button{flex:1;padding:7px 8px}.stats{grid-template-columns:1fr}.stats .pending-stat{flex-wrap:wrap}.card{padding:16px}.brand small{font-size:11px}.track{height:30px}}
@media print{:root[data-theme]{background:white;color:#111;color-scheme:light;--text:#111;--ink:#111;--muted:#555;--border:#ccc;--surface:white;--field:white}.card,.stat,.stat.emphasis,.hint,.breakdown,th{background:white!important;color:#111!important}.alert{color:#111!important}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats .pending-stat{grid-column:1/-1}.fill{background:#267b78!important}.fill.default{background:#899dac!important}.bar-line{grid-template-columns:1fr}.bar-value{font-size:10pt;margin-top:-30px}.report-heading{border-bottom:2px solid #333}.theme-switch{display:none}.check-card .description{margin-left:0}}

/* Downward-opening client menu; independent of native select placement. */
.client-picker{position:relative;min-width:240px;max-width:330px;flex:1}.client-picker>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.client-menu{position:absolute;top:calc(100% + 6px);left:0;width:max(100%,320px);max-width:calc(100vw - 32px);max-height:min(60vh,470px);overflow-y:auto;z-index:30;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 36px #102f3b30;padding:6px}.client-menu[hidden]{display:none}.client-menu button{display:block;width:100%;text-align:left;border:0;padding:10px 12px;margin:2px 0;white-space:normal}.client-menu button small{display:block;color:var(--muted);font-weight:400}.client-menu button[aria-current=true]{background:#e5f4f1;color:#13675f}.menu-heading{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:10px 12px 5px}header{position:relative;z-index:20}[data-theme=dark] .client-menu{background:#172e37}[data-theme=dark] .client-menu button[aria-current=true]{background:#24534f;color:#d9fff5}@media(max-width:640px){.client-picker{max-width:none;flex-basis:100%}.client-menu{width:100%;max-height:55vh}}

.death-controls{margin:12px 0 20px;padding:16px;border:1px solid var(--border);border-radius:10px;background:#f5f9fa}.death-controls label{margin-bottom:12px}.death-controls p{margin-bottom:0}[data-theme=dark] .death-controls{background:#172e37}@media print{.alert,.alert.high,.alert.info,.hint,.death-controls{background:#fff!important;color:#172d36!important;border-color:#71818a!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
