:root{--blue:#00539f;--blue-dark:#003867;--blue-pressed:#001a2f;--blue-light:#e4f2fe;--green:#72a230;--green-dark:#567b24;--green-light:#edf7e2;--red:#b91c1c;--red-light:#fbe9e9;--amber:#8a6400;--amber-light:#fbf4d9;--focus:#58b3ff;--bg:#f4f6f9;--surface:#fff;--ink:#222b36;--muted:#5d6b7a;--line:#dde3ea;--chip:#eef2f6;--accent:var(--blue);--radius:10px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814}@media (prefers-color-scheme:dark){:root{--bg:#0f141b;--surface:#171e27;--ink:#e6ebf1;--muted:#9aa8b8;--line:#2a3441;--chip:#222b36;--accent:#58b3ff;--blue-light:#0f2a44;--green-light:#1f2d12;--red-light:#3a1515;--amber-light:#352b0c;--shadow:none}}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:15px/1.45 Roboto,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0 0 16px;font-size:22px;font-weight:700}h2{margin:0 0 12px;font-size:16px;font-weight:700}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #00539f26}button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;padding:7px 14px;font-weight:500;transition:background .12s,border-color .12s}button:hover:not(:disabled){border-color:var(--blue)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}button.primary:hover:not(:disabled){background:var(--blue-dark)}button.go{background:var(--green);color:#fff;border-color:var(--green)}button.go:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark)}button.danger{color:var(--red)}button.link{color:var(--accent);background:0 0;border:none;padding:0;font-weight:500}button.ghost{background:0 0;border-color:#0000}.topbar{background:var(--blue);color:#fff;z-index:5;flex-wrap:wrap;align-items:center;gap:18px;padding:10px 24px;display:flex;position:sticky;top:0}.topbar nav{flex-wrap:wrap;gap:4px;display:flex}.topbar nav a{color:#ffffffd9;border-radius:8px;padding:7px 12px;font-weight:500}.topbar nav a:hover{color:#fff;background:#ffffff1f;text-decoration:none}.topbar nav a.active{color:var(--blue);background:#fff}.topbar .spacer{flex:1}.topbar .who{color:#ffffffd9;font-size:13px}.topbar select,.topbar button{color:#fff;background:0 0;border-color:#fff6}.topbar select option{color:#222}.topbar button:hover:not(:disabled){background:#ffffff1a;border-color:#fff}.brand{flex-direction:column;line-height:1.1;display:inline-flex}.brand img{width:auto;height:30px;display:block}.wordmark{letter-spacing:.01em;white-space:nowrap;font-size:19px;font-weight:900}.wordmark .q{color:var(--green)}.brand-sub{opacity:.85;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:500}.brand-large .wordmark{color:var(--blue);font-size:28px}.brand-large .brand-sub{color:var(--muted);opacity:1;margin-top:4px;font-size:12px}.brand-large img{height:44px}@media (prefers-color-scheme:dark){.brand-large .wordmark{color:#fff}}main{max-width:1320px;margin:0 auto;padding:24px}.page-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.page-head h1{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row+.row{margin-top:8px}.stack>*+*{margin-top:10px}.grid2{grid-template-columns:repeat(auto-fit,minmax(440px,1fr));align-items:start;gap:16px;display:grid}.muted{color:var(--muted)}.small{font-size:12.5px}.right{margin-left:auto}.pill{background:var(--chip);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:500;display:inline-block}.pill.in_progress{background:var(--blue-light);color:var(--blue)}.pill.submitted{background:var(--amber-light);color:var(--amber)}.pill.locked,.pill.reconciled{background:var(--green-light);color:var(--green-dark)}.pill.returned,.pill.reopened{background:var(--red-light);color:var(--red)}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.chip .n{font-weight:700}.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}.chip.attention{border-color:var(--amber)}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.tile{border:1px solid var(--line);border-radius:8px;padding:12px 14px}.tile .v{font-variant-numeric:tabular-nums;color:var(--blue);font-size:22px;font-weight:700}.tile .k{color:var(--muted);font-size:12.5px}@media (prefers-color-scheme:dark){.tile .v{color:var(--ink)}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:12.5px;font-weight:500}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--blue-light)}tr.dirty td{background:var(--amber-light)}tr.dragging td{background:var(--blue-light)}td.handle{width:32px;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;text-align:center;font-size:18px}td.handle:active{cursor:grabbing}.empty{text-align:center;color:var(--muted);padding:28px}.notice{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-bottom:12px;padding:10px 14px}.notice.ok{border-left:4px solid var(--green)}.notice.err{border-left:4px solid var(--red)}.notice.info{border-left:4px solid var(--blue)}.problem.error{color:var(--red)}.problem.warning{color:var(--amber)}.ok-text{color:var(--green-dark);font-weight:500}.toasts{z-index:50;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:var(--surface);border-radius:8px;max-width:380px;padding:11px 16px;animation:.15s ease-out toast-in;box-shadow:0 6px 20px #0003}.toast.ok{border-left:4px solid var(--green)}.toast.err{border-left:4px solid #ef6b6b}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}dialog{background:var(--surface);width:min(460px,100vw - 32px);color:var(--ink);border:none;border-radius:12px;padding:0;box-shadow:0 20px 50px #00000040}dialog::backdrop{background:#001a2f73}dialog form{padding:20px}dialog h2{margin-bottom:6px}dialog textarea,dialog input{width:100%;margin-top:10px}dialog .actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;margin-bottom:-1px;padding:9px 12px}.tabs button.on{color:var(--blue);border-bottom-color:var(--blue)}@media (prefers-color-scheme:dark){.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}}.center{background:linear-gradient(160deg, var(--blue) 0%, var(--blue-dark) 100%);place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{width:100%;max-width:400px;padding:28px}.auth-card .brand{margin-bottom:20px}.auth-card label{margin-bottom:12px;font-weight:500;display:block}.auth-card input{width:100%;margin-top:4px}.auth-card button.go{width:100%;padding:10px}.loading-screen{min-height:100vh;color:var(--muted);place-items:center;display:grid}.checks label{align-items:center;gap:10px;padding:5px 0;display:flex}.checks input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}input.narrow{width:120px}code{background:var(--chip);border-radius:4px;padding:1px 5px;font-size:12.5px}@media (width<=640px){main{padding:14px 16px}.topbar{gap:10px;padding:10px 16px}.grid2{grid-template-columns:1fr}}.spec-group>h2{margin:22px 0 10px}.spec-card h3{margin:10px 0 6px;font-size:16px}.spec-card p{margin:6px 0}.spec-card.status-answered,.spec-card.status-resolved{border-left:4px solid var(--green)}.spec-card.status-asked{border-left:4px solid var(--amber)}.spec-card.status-deferred{opacity:.7}.pill.ref{background:var(--blue);color:#fff;font-weight:700}.pill.prio-blocker{background:var(--red-light);color:var(--red)}.pill.prio-pilot{background:var(--amber-light);color:var(--amber)}.pill.prio-v1b{background:var(--blue-light);color:var(--blue)}.spec-meta{grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0;font-size:13.5px;display:grid}.spec-meta dt{color:var(--muted);font-weight:500}.spec-meta dd{margin:0}.answer{background:var(--green-light);border-radius:8px;margin-top:8px;padding:8px 12px}.answer p{white-space:pre-wrap;margin:4px 0}@media print{.topbar,.no-print,.toasts{display:none!important}body{color:#000;background:#fff;font-size:12px}main{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid;margin-bottom:8px;padding:10px 12px}.tiles{grid-template-columns:repeat(4,1fr)}}.thumbs{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.thumb{border:1px solid var(--line);background:var(--chip);border-radius:8px;width:96px;height:96px;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}button.thumb:hover{border-color:var(--accent)}.thumb.pending{text-align:center;color:var(--muted);border-style:dashed;place-items:center;padding:6px;font-size:11px;display:grid}dialog.lightbox{width:min(920px,100vw - 32px)}dialog.lightbox figure{margin:0}dialog.lightbox img{object-fit:contain;background:#000;width:100%;max-height:calc(100vh - 160px);display:block}dialog.lightbox figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.cash-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.cash-tiles .tile .v{font-size:18px}.tile.good{border-color:var(--good)}.tile.bad{border-color:var(--bad)}.tile.good .v{color:var(--good)}.tile.bad .v{color:var(--bad)}.cash-form{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cash-form .wide{grid-column:1/-1}.cash-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}@media (width<=640px){.cash-tiles,.cash-form{grid-template-columns:1fr}}.quick-signin{border:1px dashed var(--line);border-radius:8px;gap:6px;margin-top:18px;padding:12px;display:grid}
