:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2330;--muted:#5f6b7a;--border:#dde2e8;--accent:#2b5d8a;--accent-text:#fff;--danger:#b3261e;--warn-bg:#fff4cc;--warn-text:#6b4e00;--ok-bg:#e3f4e8;--ok-text:#1e6b3a;--bad-bg:#fde4e2;--bad-text:#8c1d18;--info-bg:#e6f0fa;--info-text:#1d4b73;--hl:#fff1b8;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#11151b;--surface:#1a2029;--text:#e6e9ee;--muted:#9aa5b3;--border:#2d3643;--accent:#6ea8dc;--accent-text:#0d1620;--danger:#f2877f;--warn-bg:#3d3310;--warn-text:#f4d97a;--ok-bg:#173323;--ok-text:#8fd9a8;--bad-bg:#3d1a18;--bad-text:#f5a39c;--info-bg:#172a3d;--info-text:#a9cdee;--hl:#4a3f12}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1{margin:0;font-size:1.5rem}h2{margin:0;font-size:1.15rem}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .4rem;font-size:.95rem}p{margin:0}ul{margin:0;padding-left:1.2rem}code{font-size:.9em}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.6rem 1.25rem;display:flex}.brand{color:var(--accent);font-weight:700}.topbar nav{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.topbar nav a{border-radius:var(--radius);color:var(--text);padding:.35rem .7rem;text-decoration:none}.topbar nav a.active{background:var(--info-bg);color:var(--info-text);font-weight:600}.who{align-items:center;gap:.75rem;display:flex}.page{max-width:1280px;margin:0 auto;padding:1.5rem 1rem 3rem}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.row.wrap>*{flex:160px}.grow{flex:1}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.card.empty{text-align:center;flex-direction:column;gap:.4rem;padding:2rem 1rem;display:flex}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{flex-direction:column;gap:.9rem;width:100%;max-width:400px;display:flex}.auth-card form{flex-direction:column;gap:.9rem;display:flex}label{flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:500;display:flex}label.check{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:0;padding:.45rem .6rem}textarea{resize:vertical;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:6px;padding:.45rem .9rem;font-weight:600}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{color:var(--accent);background:0 0}button.danger{color:var(--danger);border-color:var(--danger);background:0 0}button.link{color:var(--accent);text-align:left;background:0 0;border:none;padding:0;font-weight:500}.tabs{border-bottom:1px solid var(--border);gap:.25rem;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.password-field{display:flex;position:relative}.password-field input{flex:1;padding-right:2.6rem}.password-field .reveal{color:var(--muted);background:0 0;border:none;border-radius:4px;place-items:center;padding:.3rem;font-weight:400;display:grid;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.password-field .reveal:hover{color:var(--text)}.password-field .reveal[aria-pressed=true]{color:var(--accent)}.notice{background:var(--info-bg);color:var(--info-text);border-radius:var(--radius);padding:.7rem .9rem}.notice-error{background:var(--bad-bg);color:var(--bad-text)}.field-error{color:var(--danger);font-size:.85rem}.copy-row{gap:.5rem;margin:.4rem 0;display:flex}.copy-row input{flex:1}.filters{flex-wrap:wrap;align-items:flex-end;gap:.8rem 1rem;display:flex}.filters label.search{flex:2 260px}.filters label.wide{flex:240px}.filters label.wide select{width:100%}.filters-more{display:contents}.filters-toggle{display:none}.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;vertical-align:top;border-bottom:1px solid var(--border);padding:.55rem .7rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:600}tbody tr:last-child td{border-bottom:none}tr.selected td{background:var(--info-bg)}tr.disabled td{opacity:.6}td.num,th.num{text-align:right}.nowrap{white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.82rem}.overdue{color:var(--danger);font-weight:600}.reason{color:var(--warn-text);background:var(--warn-bg);border-radius:4px;margin-top:.3rem;padding:.2rem .4rem;font-size:.82rem}table.items td.quotes{min-width:280px;max-width:460px;font-size:.85rem}.quote{color:var(--text);margin-bottom:.3rem;font-weight:400;display:block}.line-no{background:var(--bg);border:1px solid var(--border);min-width:2.2em;color:var(--muted);text-align:center;border-radius:4px;margin-right:.4rem;padding:0 .3rem;font-size:.75rem;display:inline-block}.status-select{padding:.25rem .4rem;font-weight:600}.status-select.status-check{background:var(--warn-bg);color:var(--warn-text)}.status-select.status-done{background:var(--ok-bg);color:var(--ok-text)}.badge{background:var(--bg);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-done,.badge-ok{background:var(--ok-bg);color:var(--ok-text);border-color:#0000}.badge-failed,.badge-high{background:var(--bad-bg);color:var(--bad-text);border-color:#0000}.badge-processing,.badge-running{background:var(--info-bg);color:var(--info-text);border-color:#0000}.badge-check,.badge-skipped{background:var(--warn-bg);color:var(--warn-text);border-color:#0000}.transcript{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.5rem 0;list-style:none}.transcript li{gap:.3rem;padding:.3rem .8rem;scroll-margin-top:6rem;display:flex}.transcript li.hl{background:var(--hl)}.tab-count{background:var(--warn-bg);color:var(--warn-text);border-radius:999px;margin-left:.4rem;padding:0 .45rem;font-size:.78rem}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:.2rem;padding:1.4rem 1rem;font-weight:500;display:flex}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:var(--info-bg)}.dropzone input{max-width:100%;margin-top:.4rem;font-size:.85rem}.upload-results{font-size:.9rem}.notice-warn{background:var(--warn-bg);color:var(--warn-text)}.review-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.pdf-pane{flex-direction:column;gap:.4rem;display:flex;position:sticky;top:1rem}.pdf-viewer{flex-direction:column;gap:.4rem;display:flex}.pdf-toolbar{align-items:center;gap:.6rem;display:flex}.pdf-toolbar button{padding:.15rem .7rem;font-size:1.1rem;line-height:1.2}.pdf-toolbar a{margin-left:auto}.pdf-page{border:1px solid var(--border);border-radius:var(--radius);background:#fff;min-height:320px;max-height:calc(100vh - 9rem);overflow:auto}.pdf-page canvas{display:block}.facts{flex-direction:column;margin:0;display:flex}.fact{border-bottom:1px solid var(--border);grid-template-columns:11rem minmax(0,1fr) auto;gap:.2rem .8rem;padding:.45rem 0;display:grid}.fact:last-child{border-bottom:none}.fact dt{color:var(--muted);font-size:.85rem;font-weight:600}.fact dd{overflow-wrap:anywhere;margin:0}.fact-quote{color:var(--muted);margin-top:.15rem;font-size:.8rem;font-style:italic}.fact-check{text-align:right}.badge-button{cursor:pointer;font:inherit;font-size:.78rem;font-weight:600}.badge-muted{color:var(--muted)}.candidate{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.75rem .85rem;display:flex}.candidate-approved{border-color:var(--ok-text);background:var(--ok-bg)}.candidate-rejected{opacity:.7}.candidate-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.score{color:var(--accent);white-space:nowrap;font-size:1.25rem;font-weight:700}.repair-waiting{border-color:var(--warn-text)}.fix{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.75rem .85rem;display:flex}.fix-failed{opacity:.8}.fix-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.fix-body{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:.9rem;display:grid}code.sel{background:var(--bg);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:4px;padding:.05rem .35rem;font-size:.82rem}code.sel.old{color:var(--muted);text-decoration:line-through}code.sel.new{background:var(--ok-bg);color:var(--ok-text);border-color:#0000}.shot img{border:1px solid var(--border);border-radius:6px;width:100%;display:block}details>summary{cursor:pointer}@media (width<=960px){.review-layout{grid-template-columns:1fr}.pdf-pane{position:static}.pdf-page{max-height:75vh}}@media (width<=640px){.topbar{gap:.4rem .75rem;padding:.6rem 1rem}.who{margin-left:auto;font-size:.9rem}.topbar nav{flex-wrap:nowrap;flex:100%;order:3;overflow-x:auto}.topbar nav a{white-space:nowrap}.page{padding:1rem 1rem 2rem}.fact{grid-template-columns:1fr auto}.fix-body{grid-template-columns:1fr}.filters{flex-wrap:nowrap}.filters label.search{flex:auto}.filters-toggle{white-space:nowrap;display:inline-block}.filters-more{display:none}.filters.open{flex-wrap:wrap}.filters.open .filters-more{grid-template-columns:1fr 1fr;gap:.6rem .8rem;width:100%;display:grid}.filters-more select,.filters-more input{width:100%}.filters-more>button{grid-column:1/-1}.fact dd:not(.fact-check){grid-area:2/1/auto/-1}}
