:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2430;--muted:#5d6b7c;--border:#dde2e8;--accent:#1f5f8b;--accent-text:#fff;--good:#1d7a4c;--good-bg:#e6f4ec;--warn:#8a5a00;--warn-bg:#fdf3dd;--bad:#b3261e;--bad-bg:#fbe9e7;--flag-bg:#fff8e6;--radius:8px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#11151b;--surface:#1a2029;--text:#e6eaf0;--muted:#9aa7b6;--border:#2d3643;--accent:#5aa6d6;--accent-text:#0b1118;--good:#6fd19c;--good-bg:#173325;--warn:#f0c35a;--warn-bg:#3a2f14;--bad:#ff8a80;--bad-bg:#3c1d1b;--flag-bg:#2e2915}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);margin:0}a{color:var(--accent)}h1{margin:.2rem 0 .5rem;font-size:1.5rem}h2{margin:1.5rem 0 .6rem;font-size:1.15rem}h3{margin:1.2rem 0 .4rem;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.mono,code{font-family:var(--mono)}code{word-break:break-all;font-size:.8rem}.nowrap{white-space:nowrap}.error{color:var(--bad)}button,.button{font:inherit;cursor:pointer;background:var(--accent);color:var(--accent-text);border:1px solid var(--accent);border-radius:var(--radius);margin:.25rem .5rem .25rem 0;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--accent);background:0 0}button.danger{background:var(--bad);border-color:var(--bad);color:#fff}button.link{color:var(--accent);background:0 0;border:none;margin:0;padding:0;font-weight:500;text-decoration:underline}button.wide{width:100%}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;padding:.45rem .6rem}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{margin:.8rem 0;font-weight:500;display:block}label input,label select{margin-top:.3rem;font-weight:400}label.check{align-items:center;gap:.5rem;display:flex}label.check input{width:auto;margin:0}.hint{color:var(--muted);font-size:.85rem;font-weight:400;display:block}.center-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.card.auth{width:100%;max-width:420px}.brand{letter-spacing:-.02em;color:var(--text);font-weight:800;text-decoration:none}.brand.big{margin-bottom:.5rem;font-size:1.4rem;display:block}ul.plain{padding:0;list-style:none}.shell{min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1.25rem;display:flex}.topbar nav{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.topbar nav a{color:var(--muted);border-radius:6px;padding:.35rem .7rem;font-weight:500;text-decoration:none}.topbar nav a.active{background:var(--bg);color:var(--text)}.who{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.who .org{font-weight:600}.content{max-width:1280px;margin:0 auto;padding:1.25rem}.page-head{justify-content:space-between;align-items:flex-end;margin-bottom:1rem;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;padding:1.5rem}.dropzone.dragging{border-color:var(--accent)}.upload-results{font-size:.9rem}.tabs{flex-wrap:wrap;gap:.25rem;margin:1.25rem 0 .75rem;display:flex}.tab{color:var(--muted);border:1px solid var(--border);background:0 0;margin:0;padding:.35rem .7rem;font-weight:500}.tab.active{background:var(--surface);color:var(--text);border-color:var(--accent)}.tab .count{color:var(--muted);margin-left:.25rem;font-size:.8rem}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .75rem}thead th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem}tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums}tr.flagged{background:var(--flag-bg)}.empty{color:var(--muted);text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:1.5rem}.status{background:var(--bg);color:var(--muted);border-radius:999px;padding:.1rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.s-ready,.s-approved{background:var(--good-bg);color:var(--good)}.s-needs_review{background:var(--warn-bg);color:var(--warn)}.s-failed,.s-rejected{background:var(--bad-bg);color:var(--bad)}.notice{border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);margin:.75rem 0;padding:.75rem 1rem}.notice p{margin:.2rem 0}.notice.warn{background:var(--warn-bg);border-color:#0000}.notice.bad{background:var(--bad-bg);border-color:#0000}.notice.good{background:var(--good-bg);border-color:#0000}.review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}@media (width<=900px){.review-grid{grid-template-columns:1fr}}.viewer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem}.viewer iframe{border:none;width:100%;height:78vh}.viewer img{width:100%;height:auto;margin-bottom:.5rem;display:block}.panel{min-width:0}table.fields th[scope=row]{width:34%;font-weight:500}table.fields input{padding:.3rem .45rem}.conf-high{color:var(--good)}.conf-mid{color:var(--warn)}.conf-low{color:var(--bad);font-weight:700}.checks{padding:0;font-size:.9rem;list-style:none}.check-fail{color:var(--bad)}.check-skipped{color:var(--muted)}details{margin:1rem 0}.actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.actions .reject{flex:100%;gap:.5rem;display:flex}.actions .reject input{flex:1}.actions-cell{white-space:nowrap}ul.reasons{color:var(--muted);margin:.3rem 0 0;padding-left:1rem;font-size:.85rem}.form .row{flex-wrap:wrap;gap:1rem;display:flex}.form .row label{flex:180px}.kv{grid-template-columns:max-content 1fr;gap:.3rem 1rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.danger-zone{border-color:var(--bad)}.pager{justify-content:center;align-items:center;gap:1rem;margin:1rem 0;display:flex}
