:root{--green: #83b81a;--green-faint: #83b81a15;--bg: #111b27;--card: #162030;--sidebar: #0c1520;--border: #1a2e40;--text: #dce8f0;--muted: #6a8499;--red: #ef4444;--amber: #f59e0b;--blue: #3b82f6;--font: "Segoe UI", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--font);line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font)}code{font-family:var(--font-mono);font-size:.85em;color:var(--green)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100vh}.topbar{height:53px;display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--sidebar);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:700;color:var(--green);letter-spacing:.02em}.brand-link,.brand-link:hover{text-decoration:none}.topbar .subtitle{color:var(--muted);font-size:.9rem}.subnav{display:flex;gap:20px;padding:7px 24px;background:var(--sidebar);border-bottom:1px solid var(--border);font-size:.85rem}.subnav a{color:var(--muted);padding:2px 0}.subnav a:hover{color:var(--text);text-decoration:none}.subnav a.subnav-on{color:var(--green);border-bottom:2px solid var(--green)}.content{max-width:1080px;margin:0 auto;padding:32px 24px}.content h1{margin:0 0 8px;font-size:1.6rem}.muted{color:var(--muted)}.page-head{margin-bottom:16px}.back{display:inline-block;font-size:.85rem;margin-bottom:8px}.loading,.empty{padding:24px 0}.empty{color:var(--muted)}.error-box{background:#ef444418;border:1px solid var(--red);color:#fca5a5;padding:14px;border-radius:8px}table.grid{width:100%;border-collapse:collapse;margin-top:8px}.grid th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border)}.grid td{padding:10px;border-bottom:1px solid var(--border)}.grid tr:hover td{background:var(--card)}.grid .row-flag td{box-shadow:inset 3px 0 0 var(--red)}.mono{font-family:var(--font-mono);font-size:.85rem}.btn-sm{display:inline-block;padding:4px 12px;border:1px solid var(--green);border-radius:6px;color:var(--green);font-size:.8rem}.btn-sm:hover{background:var(--green-faint);text-decoration:none}.gate{font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.gate-not_started{background:#f59e0b22;color:var(--amber);border:1px solid var(--amber)}.gate-pending{background:#3b82f622;color:var(--blue);border:1px solid var(--blue)}.gate-returned{background:#ef444422;color:var(--red);border:1px solid var(--red)}.gate-approved{background:var(--green-faint);color:var(--green);border:1px solid var(--green)}.gate-mini{font-size:.62rem;padding:1px 6px;background:#1a2e40;color:var(--muted);border:1px solid var(--border)}.review-grid{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}@media (max-width: 860px){.review-grid{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px 20px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.panel h2{font-size:1.05rem;margin:0 0 10px}.panel h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 6px}.ref{font-size:.85rem}.check-row{padding:10px 0;border-bottom:1px solid var(--border)}.check-top{display:flex;align-items:center;gap:8px;cursor:pointer}.check-label{font-weight:600}.tag{margin-left:8px;font-size:.65rem;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:1px 5px;text-transform:uppercase}.help{color:var(--muted);font-size:.78rem;margin:2px 0 6px 24px}.check-row input.val,.check-row input.note,textarea.notes,input.approver{width:100%;margin-top:6px;background:var(--sidebar);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 9px;font-family:var(--font);font-size:.85rem}.check-row input.note{font-size:.8rem;color:var(--muted)}textarea.notes{min-height:60px;margin-top:14px;resize:vertical}input:disabled,textarea:disabled{opacity:.6}.actions{display:flex;gap:8px;margin-top:16px;align-items:center;flex-wrap:wrap}.actions .approver{flex:1;margin:0;min-width:160px;width:auto}.btn{padding:8px 16px;border-radius:7px;border:1px solid var(--border);background:#1a2e40;color:var(--text);font-size:.85rem;cursor:pointer}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.btn-warn{border-color:var(--amber);color:var(--amber);background:#f59e0b14}.btn-go{border-color:var(--green);color:#0c1520;background:var(--green);font-weight:700}.btn-go:hover{filter:brightness(1.07)}.msg{margin-top:10px;font-size:.85rem;color:var(--muted)}.banner{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.banner-warn{background:#ef444418;border:1px solid var(--red);color:#fca5a5}.banner-ok{background:var(--green-faint);border:1px solid var(--green);color:var(--green)}dl.kv{display:grid;grid-template-columns:40% 60%;gap:2px 10px;margin:0 0 8px}dl.kv dt{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}dl.kv dd{margin:0;overflow-wrap:anywhere}.audit{list-style:none;padding:0;margin:0;font-size:.82rem}.audit li{padding:5px 0;border-bottom:1px solid var(--border)}.nav{display:flex;gap:18px;margin-left:8px}.nav a{color:var(--muted);font-size:.9rem;padding:4px 0}.nav a:hover{text-decoration:none;color:var(--text)}.nav a.nav-on{color:var(--green);border-bottom:2px solid var(--green)}.filters{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.chip{background:var(--sidebar);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.8rem;cursor:pointer}.chip:hover{color:var(--text)}.chip-on{color:var(--green);border-color:var(--green)}.status-sel{background:var(--sidebar);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px;font-size:.82rem}a.gate:hover{text-decoration:none}.check-row.is-confirmed .check-label{color:var(--green)}.check-row.is-confirmed input.val{border-color:var(--green);color:var(--text);opacity:1;background:#83b81a0d}.sub{font-size:.75rem;color:var(--muted)}.search{background:var(--sidebar);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:5px 10px;font-size:.82rem;margin-left:auto;min-width:200px}.status-sel.st-warn{border-color:var(--amber);color:var(--amber)}.status-sel.st-ok{border-color:var(--green);color:var(--green)}.status-sel.st-wait{border-color:var(--blue);color:var(--blue)}.status-sel.st-dead{border-color:var(--red);color:var(--red)}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar-user .who{font-size:.85rem;color:var(--muted)}.who-tag{margin-left:6px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--green);border:1px solid var(--green);border-radius:999px;padding:1px 6px}.btn-link{background:none;border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:4px 10px;font-size:.8rem;cursor:pointer}.btn-link:hover{color:var(--text);border-color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px}.lbl{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.card input[type=email],.card input[type=password]{background:var(--sidebar);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:.9rem}.card input[type=email]:focus,.card input[type=password]:focus{outline:none;border-color:var(--green)}.metric-row{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 16px}.metric{flex:1 1 150px;display:flex;flex-direction:column;gap:6px;background:var(--sidebar);border:1px solid var(--border);border-radius:9px;padding:13px 15px}.metric-lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.metric-val{font-size:1.5rem;font-weight:700;line-height:1.1}.metric.hero{border-color:var(--green);background:var(--green-faint)}.metric.hero .metric-val{color:var(--green)}.bar{height:10px;background:var(--sidebar);border:1px solid var(--border);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--green);transition:width .3s}.bar-fill.bar-warn{background:var(--amber)}.bar-fill.bar-over{background:var(--red)}.cat-block{border-bottom:1px solid var(--border)}.cat-head{display:flex;justify-content:space-between;align-items:center;padding:11px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.cat-head:hover{background:var(--card)}.cat-name{font-weight:600}.rate-ctl{display:flex;align-items:center;gap:8px;background:var(--sidebar);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.rate-ctl .metric-lbl{margin:0}.rate-ctl input{width:64px;text-align:center}.grid th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.grid th.sortable:hover{color:var(--text)}.grid tr.filter-row th{padding:4px 6px;background:var(--sidebar)}.filter-row input,.filter-row select{width:100%;min-width:56px;box-sizing:border-box;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:.78rem}.filter-row input::placeholder{color:var(--muted);opacity:.7}.filter-row select:has(option:checked:not([value=""])),.filter-row input:not(:placeholder-shown){border-color:var(--green)}:root{--green-dim: #1a3020;--input-bg: #0c1520}.pill{display:inline-block;padding:2px 8px;border-radius:18px;font-size:10px;font-weight:700;letter-spacing:.03em;white-space:nowrap}select.pill{line-height:1.4}.content:has(.full-bleed){max-width:none}.breakout{width:calc(100vw - 64px);position:relative;left:50%;transform:translate(-50%)}
