:root{--paper:#F5F0E6;--surface:#FFFCF5;--surface-2:#F1EADC;--ink:#302B26;--muted:#655B50;--rule:#E2D7C3;--rule-strong:#CBBBA0;--accent:#247C78;--accent-ink:#FFFFFF;--accent-soft:#E0EEEB;--focus:#1D6763;--link:#1D6763;--teal:#247C78;--terra:#BC593E;--terra-ink:#A04A31;--mustard:#B78A2F;--sage:#7A8C70;--warn:#86621A;--warn-bg:#F5EACD;--bad:#A3262A;--bad-bg:#F6DDDA;--ok:#4C6B42;--ok-bg:#E5ECDF;--shadow:0 1px 0 rgba(48,43,38,.03),0 2px 8px rgba(48,43,38,.05);--f-display:"Bitter",Georgia,"Times New Roman",serif;--f-label:"Oswald","Arial Narrow","Roboto Condensed","Helvetica Neue",sans-serif;--f-body:"Noto Sans","Noto Sans Bengali","Hind Siliguri","Segoe UI",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--r:8px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1D1A17;--surface:#272320;--surface-2:#312C27;--ink:#F2EADB;--muted:#BFB29E;--rule:#3B352F;--rule-strong:#564C41;--accent:#5DB3AC;--accent-ink:#0F211F;--accent-soft:#1E3533;--focus:#86CFC8;--link:#86CFC8;--teal:#5DB3AC;--terra:#E2896C;--terra-ink:#EDA48C;--warn:#E2BC66;--warn-bg:#392E16;--bad:#F2928A;--bad-bg:#43221F;--ok:#AFC6A2;--ok-bg:#283225;--shadow:0 1px 0 rgba(0,0,0,.2),0 2px 10px rgba(0,0,0,.25);color-scheme:dark}}:root[data-theme=dark]{--paper:#1D1A17;--surface:#272320;--surface-2:#312C27;--ink:#F2EADB;--muted:#BFB29E;--rule:#3B352F;--rule-strong:#564C41;--accent:#5DB3AC;--accent-ink:#0F211F;--accent-soft:#1E3533;--focus:#86CFC8;--link:#86CFC8;--teal:#5DB3AC;--terra:#E2896C;--terra-ink:#EDA48C;--warn:#E2BC66;--warn-bg:#392E16;--bad:#F2928A;--bad-bg:#43221F;--ok:#AFC6A2;--ok-bg:#283225;--shadow:0 1px 0 rgba(0,0,0,.2),0 2px 10px rgba(0,0,0,.25);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--f-display);letter-spacing:-.01em;margin:0 0 4px;text-wrap:balance}h2{font-size:1.35rem}a{color:var(--link)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mono,.sid{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.sid{white-space:nowrap}.small{font-size:13px}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eyebrow{font-family:var(--f-label);letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--terra-ink)}.app{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr}.top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));background:var(--surface);border-bottom:1px solid var(--rule-strong);box-shadow:0 3px 0 -2px var(--rule)}.brand{display:flex;flex-direction:column;line-height:1.15}.brand b{font-family:var(--f-display);font-weight:700;letter-spacing:.08em;font-size:17px}.brand span{font-family:var(--f-label);letter-spacing:.14em;font-size:11px;color:var(--muted);text-transform:uppercase}.centres{display:flex;gap:8px;flex-wrap:wrap}.cpill{font:inherit;font-family:var(--f-label);letter-spacing:.08em;background:var(--surface-2);border:1px solid var(--rule-strong);color:var(--ink);border-radius:6px;padding:6px 14px;min-height:38px;cursor:pointer}.cpill.c-DCS2{box-shadow:inset 3px 0 0 var(--teal)}.cpill.c-IMPACT{box-shadow:inset 3px 0 0 var(--terra)}.cpill.on.c-DCS2{background:var(--teal);color:#fff;border-color:var(--teal)}.cpill.on.c-IMPACT{background:var(--terra);color:#fff;border-color:var(--terra)}.who{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}nav.side{display:flex;gap:6px;flex-wrap:wrap;padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));background:var(--surface);border-bottom:1px solid var(--rule)}nav.side button{font:inherit;font-weight:500;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:6px;padding:6px 12px;min-height:40px;cursor:pointer}nav.side button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--link);font-weight:650}.tag{font-family:var(--f-label);letter-spacing:.08em;font-size:10.5px;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule-strong);border-radius:4px;padding:0 5px}.work{padding:18px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.btn{font:inherit;font-weight:600;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);border-radius:6px;padding:8px 16px;min-height:40px;cursor:pointer}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.ghost{border-color:transparent;background:transparent}.btn.sm{padding:4px 10px;min-height:34px;font-size:13px}.f{display:flex;flex-direction:column;gap:4px;min-width:0}.f>span{font-size:13px;font-weight:600}.f.inline{flex-direction:row;align-items:center;gap:6px}input,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);border-radius:6px;padding:8px 10px;min-height:40px;width:100%}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;border:0;padding:0;margin:0}fieldset{border:1px solid var(--rule);border-radius:var(--r);padding:10px 12px;margin:0}legend{font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--muted);padding:0 6px}.f.wide{grid-column:span 2}@media(max-width:520px){.f.wide{grid-column:auto}}.checks{display:flex;flex-wrap:wrap;gap:6px 18px}.chk{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.req{color:var(--bad)}.callout{border-radius:6px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--rule)}.callout.bad{background:var(--bad-bg);border-color:var(--bad);color:var(--ink)}.callout.ok{background:var(--ok-bg);border-color:var(--ok)}.chip{display:inline-block;font-family:var(--f-label);letter-spacing:.06em;font-size:12px;border:1px solid var(--rule-strong);border-radius:999px;padding:0 8px;margin-left:6px}.chip.bad{border-color:var(--bad);color:var(--bad)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.grid{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}table.grid th,table.grid td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--rule);vertical-align:top}table.grid thead th{font-family:var(--f-label);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--muted);border-bottom:1px solid var(--rule-strong)}table.grid .num{text-align:right}table.perms td,table.perms th{text-align:center}table.perms th:first-child{text-align:left}th.c-DCS2{color:var(--teal)}th.c-IMPACT{color:var(--terra)}.staff-card,.req-card{border:1px solid var(--rule);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}.staff-card.inactive{opacity:.65}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px))}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--rule-strong);border-radius:12px;box-shadow:4px 4px #302b261f;padding:24px;display:flex;flex-direction:column;gap:14px}.auth-brand{text-align:center;border-bottom:2px solid var(--ink);padding-bottom:10px}.auth-brand h1{font-size:28px;letter-spacing:.08em;margin:2px 0}@media print{.top,nav.side,.btn,input[type=search]{display:none!important}body{background:#fff;color:#000}.panel{border:0;box-shadow:none;padding:0}}ul.access{list-style:none;padding-left:0;margin:4px 0 0;display:flex;flex-direction:column;gap:2px}
