:root{--bg:#f6f7f9;--card:#fff;--text:#171c24;--muted:#6b7686;--line:#e3e7ed;--line-soft:#eceff3;--hover:#f2f5f9;--sel:#f4f7fb;--accent:#2c4a77;--accent-2:#3556a8;--accent-text:#fff;--input-bg:#fff;--input-border:#c6d0de;--chip-ok-bg:#e5f1e3;--chip-ok-fg:#2f5d31;--chip-warn-bg:#faf1d6;--chip-warn-fg:#8a6116;--chip-bad-bg:#f8e3e3;--chip-bad-fg:#a03434;--chip-info-bg:#e7eefb;--chip-info-fg:#2c4a77;--walk-bg:#faf5e6;--walk-border:#d8c896;--demo:#7a1f1f;--demo-bg:#fff;--demo-dim:#8a5a5a;--demo-hover:#faf0f0;--err:#a03434;--shadow:#171c241a;--side-bg:#14181f;--side-text:#aab4c2;--side-bright:#fff;--side-dim:#7d8794;--side-active:#262f3f;--side-line:#262f3f;--side-icon:#8fb4ff}[data-theme=dark]{--bg:#0f1319;--card:#171c24;--text:#dfe4ea;--muted:#8f99a8;--line:#262f3c;--line-soft:#212a36;--hover:#1b2330;--sel:#20293a;--accent:#4569a3;--accent-2:#7ea2d8;--accent-text:#fff;--input-bg:#12161d;--input-border:#3a4552;--chip-ok-bg:#223527;--chip-ok-fg:#8fce9b;--chip-warn-bg:#3a2f17;--chip-warn-fg:#e0c06a;--chip-bad-bg:#3a2222;--chip-bad-fg:#e39a9a;--chip-info-bg:#223047;--chip-info-fg:#9db8e8;--walk-bg:#2a2820;--walk-border:#6b5f35;--demo:#d47a7a;--demo-bg:#171c24;--demo-dim:#b08a8a;--demo-hover:#2a2226;--err:#e39a9a;--shadow:#00000080}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font:14.5px/1.5 IBM Plex Sans,system-ui,sans-serif}.shell{min-height:100vh;display:flex}.side{background:var(--side-bg);width:232px;color:var(--side-text);flex-direction:column;flex-shrink:0;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.side-brand{padding:4px 12px 20px}.side-brand .name{color:var(--side-bright);letter-spacing:.2px;font-size:19px;font-weight:700}.side-brand .tag{color:var(--side-dim);letter-spacing:1.2px;text-transform:uppercase;margin-top:2px;font-size:10.5px;font-weight:600}.side-nav{flex-direction:column;gap:2px;display:flex}.side-nav button{color:var(--side-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font:500 14px IBM Plex Sans,system-ui,sans-serif;display:flex}.side-nav button svg{flex-shrink:0}.side-nav button:hover{background:var(--side-active)}.side-nav button.active{background:var(--side-active);color:var(--side-bright);font-weight:600}.side-nav button.active svg{stroke:var(--side-icon)}.side-spacer{flex-grow:1}.side-foot{border-top:1px solid var(--side-line);flex-direction:column;gap:2px;padding:12px 4px 0;display:flex}.side-foot button{color:var(--side-dim);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 8px;font:500 13px IBM Plex Sans,system-ui,sans-serif}.side-foot button:hover{color:var(--side-text);background:var(--side-active)}.side-foot button.active{color:var(--side-bright);background:var(--side-active);font-weight:600}.main-col{flex-direction:column;flex-grow:1;min-width:0;display:flex}.demo-banner{color:#fff;text-align:center;letter-spacing:2px;text-transform:uppercase;background:#7a1f1f;padding:3px;font:600 10.5px/1.7 IBM Plex Sans,system-ui}main{width:100%;max-width:1500px;margin:0 auto;padding:26px 36px 60px}.page-head{align-items:center;margin-bottom:18px;display:flex}.page-head h1{color:var(--text);margin:0;font-size:21px;font-weight:700}.page-head .primary{margin-left:auto}.stats{gap:14px;margin-bottom:18px;display:flex}.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;flex:1;padding:14px 18px}.stat .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;font-weight:600}.stat .val{color:var(--text);margin-top:2px;font-size:26px;font-weight:700}.stat .val.ok{color:var(--chip-ok-fg)}.stat .val.warn{color:var(--chip-warn-fg)}.stat .val.bad{color:var(--chip-bad-fg)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:18px;padding:18px 20px}.card-head{justify-content:space-between;align-items:baseline;display:flex}h2{color:var(--text);margin:0 0 12px;font-size:15px;font-weight:700}table.grid{border-collapse:collapse;width:100%;font-size:14px}table.grid th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font:600 11.5px IBM Plex Sans,system-ui}table.grid td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:11px 10px}table.grid tr.sel td{background:var(--sel)}table.grid tr:hover td{background:var(--hover);cursor:pointer}.chip{white-space:nowrap;border-radius:999px;padding:3px 12px;font:600 12px IBM Plex Sans,system-ui;display:inline-block}.chip.ok{background:var(--chip-ok-bg);color:var(--chip-ok-fg)}.chip.warn{background:var(--chip-warn-bg);color:var(--chip-warn-fg)}.chip.bad{background:var(--chip-bad-bg);color:var(--chip-bad-fg)}.chip.info{background:var(--chip-info-bg);color:var(--chip-info-fg)}button.primary{background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font:600 13.5px IBM Plex Sans,system-ui}button.primary:hover{background:var(--accent-2)}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:var(--card);color:var(--accent);border:1px solid var(--input-border);cursor:pointer;border-radius:8px;padding:8px 14px;font:600 13px IBM Plex Sans,system-ui}button.ghost:hover{background:var(--hover)}button.ghost:disabled{opacity:.5;cursor:default}input[type=text],input[type=password],select,textarea{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text);border-radius:8px;padding:9px 11px;font:14px IBM Plex Sans,system-ui}textarea{resize:vertical}.login-wrap{background:var(--side-bg);justify-content:center;align-items:center;min-height:88vh;display:flex}.login{background:var(--card);border:1px solid var(--line);border-radius:12px;width:370px;padding:32px 36px;box-shadow:0 12px 40px #00000059}.login h1{color:var(--text);margin:0 0 2px;font-size:22px;font-weight:700}.login .tag{color:var(--muted);margin-bottom:20px;font-size:12.5px}.login label{color:var(--muted);margin:12px 0 4px;font:600 12px IBM Plex Sans,system-ui;display:block}.login .err{color:var(--err);margin-top:10px;font-size:12.5px}.searchbar{gap:10px;margin-bottom:14px;display:flex}.cand{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:10px;padding:9px 6px;display:flex}.cand .name{font-weight:600}.cand .via{color:var(--muted);font-size:12px;font-style:italic}.cand.pick{cursor:pointer}.cand.pick:hover{background:var(--hover)}.cand .add{color:var(--accent-2);margin-left:auto;font:600 12px IBM Plex Sans,system-ui}.walkthrough{background:var(--walk-bg);border:1px solid var(--walk-border);border-radius:10px;padding:14px 18px;font-size:13.5px}.timeline{border-left:3px solid var(--line);margin:6px 0 6px 6px;padding-left:16px;font-size:13px}.timeline .ev{margin-bottom:9px}.timeline .t{color:var(--muted);font:11px ui-monospace,monospace}.detail-actions{gap:10px;margin:12px 0;display:flex}.sha-box{background:var(--sel);border:1px solid var(--line);border-radius:8px;flex-basis:100%;margin:4px 0 6px;padding:8px 12px}.sha-label{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:4px;font:600 11px IBM Plex Sans,system-ui}.sha-row{align-items:center;gap:10px;display:flex}.sha-row code{color:var(--text);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font:13px ui-monospace,Consolas,monospace}.add-employer{border:1px dashed var(--input-border);border-radius:10px;margin-top:14px;padding:12px 14px}.inv-search{margin-bottom:12px}.empty-row{color:var(--muted);text-align:center;font-style:italic}.dl{grid-template-columns:max-content 1fr;gap:3px 16px;margin:10px 0;font-size:13.5px;display:grid}.dl dt{color:var(--muted);padding-top:2px;font:500 12px IBM Plex Sans,system-ui}.dl dd{margin:0}.kv{color:var(--text);font-size:13px}.kv b{color:var(--text);font-weight:600}.kv a{color:var(--accent-2)}.form-row{gap:14px;display:flex}.form-row>div{flex:1}.form-row label,.field label{color:var(--muted);margin:8px 0 4px;font:600 12px IBM Plex Sans,system-ui;display:block}.err{color:var(--err);font-size:13px}.manual-form{background:var(--walk-bg);border:1px solid var(--walk-border);border-radius:10px;margin-top:12px;padding:12px 16px}.checkline input{margin-right:6px}.docs{font-size:13.5px}.docs .doc{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:baseline;gap:10px;padding:6px 0;display:flex}.docs .doc a{color:var(--accent-2)}.upload-row{align-items:center;gap:10px;margin-top:10px;display:flex}.upload-row select{max-width:220px}.upload-row input[type=file]{color:var(--text);font:13px IBM Plex Sans,system-ui}.demo-panel{background:var(--demo-bg);border:2px dashed var(--demo);z-index:50;width:250px;box-shadow:0 4px 14px var(--shadow);border-radius:10px;padding:12px 14px;position:fixed;bottom:18px;right:18px}.demo-panel-head{letter-spacing:1.5px;text-transform:uppercase;color:var(--demo);justify-content:space-between;align-items:center;margin-bottom:10px;font:700 11px IBM Plex Sans,system-ui;display:flex}.demo-panel-head button{cursor:pointer;color:var(--demo);background:0 0;border:0;font-size:16px}.demo-panel>button{background:var(--demo-bg);border:1px solid var(--demo);width:100%;color:var(--demo);cursor:pointer;border-radius:8px;margin-bottom:8px;padding:8px 10px;font:12.5px IBM Plex Sans,system-ui;display:block}.demo-panel>button:hover:not(:disabled){background:var(--demo-hover)}.demo-panel>button:disabled{opacity:.45;cursor:default}.demo-note{color:var(--demo-dim);margin-top:6px;font:11px IBM Plex Sans,system-ui}.demo-fab{z-index:50;background:var(--demo);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:0;border-radius:20px;padding:10px 14px;font:700 11px IBM Plex Sans,system-ui;position:fixed;bottom:18px;right:18px}
