:root{--bg:#f6f7f9;--panel:#fff;--text:#1b1f24;--muted:#5a6370;--border:#d4d9e0;--accent:#0050d8;--accent-text:#fff;--good:#146c2e;--good-bg:#e3f4e7;--bad:#a4141b;--bad-bg:#fde8e8;--warn:#7a4b00;--warn-bg:#fff4d6;--info:#0b4a8b;--info-bg:#e6f0fb;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1{margin:.25rem 0 .75rem;font-size:1.5rem}h2{margin:.25rem 0 .5rem;font-size:1.15rem}h3{margin:.25rem 0;font-size:1rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{position:absolute;left:-999px}.skip:focus{z-index:10;background:#fff;padding:6px;top:8px;left:8px}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{word-break:break-all;font-family:ui-monospace,Consolas,monospace}.center{text-align:center;margin-top:20vh}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{color:#fff;background:#14213d;align-items:center;gap:1.5rem;padding:.6rem 1.25rem;display:flex}.topbar a{color:#fff;text-decoration:none}.topbar nav{gap:1rem;display:flex}.topbar nav a.active{text-underline-offset:4px;text-decoration:underline}.brand{font-weight:700}.who{align-items:center;gap:.75rem;margin-left:auto;display:flex}.who .muted{color:#c9d1dd}.who .link{color:#fff}.content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:1rem 1.25rem}.footer{border-top:1px solid var(--border);padding:.5rem 1.25rem;font-size:.8rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin:.75rem 0;padding:.9rem 1rem}.card.narrow{flex-direction:column;gap:.75rem;max-width:380px;margin:15vh auto;display:flex}.row{align-items:center;gap:.5rem;display:flex}.row.wrap,.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}.grid2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;display:grid}label{flex-direction:column;gap:.2rem;font-size:.9rem;font-weight:500;display:flex}label.check{flex-direction:row;align-items:center;gap:.4rem;font-weight:400}input,select,textarea{font:inherit;color:var(--text);background:#fff;border:1px solid #9aa4b2;border-radius:6px;padding:.4rem .5rem}textarea.mono{font-size:.8rem}button,.button{font:inherit;color:var(--text);cursor:pointer;background:#fff;border:1px solid #8c96a5;border-radius:6px;padding:.4rem .8rem;display:inline-block}button:hover:not(:disabled),.button:hover{background:#eef1f5}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.primary:hover:not(:disabled){background:#003fa8}button.danger{background:var(--bad);color:#fff;border-color:var(--bad)}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.req{color:var(--bad);font-weight:400}.table{border-collapse:collapse;background:var(--panel);width:100%;font-size:.9rem}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.45rem .5rem}.table th{background:#eef1f5;font-weight:600}.badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .5rem;font-size:.8rem;font-weight:600;display:inline-flex}.tone-good{color:var(--good);background:var(--good-bg)}.tone-bad{color:var(--bad);background:var(--bad-bg)}.tone-warn{color:var(--warn);background:var(--warn-bg)}.tone-info{color:var(--info);background:var(--info-bg)}.tone-neutral{color:var(--muted);background:#eef1f5}.tag{border:1px solid var(--border);color:var(--muted);border-radius:4px;margin-left:.35rem;padding:0 .35rem;font-size:.72rem;display:inline-block}.alert{border-left:5px solid;border-radius:6px;margin:.5rem 0;padding:.6rem .8rem}.alert.bad{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}.alert.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.alert.info{background:var(--info-bg);color:var(--info);border-color:var(--info)}.warnings{background:var(--warn-bg);color:var(--warn);border-radius:6px;margin:.5rem 0;padding:.5rem .5rem .5rem 1.6rem;font-size:.88rem}.summary{flex-wrap:wrap;gap:.5rem;margin:.75rem 0;display:flex}.stat{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:110px;padding:.4rem .8rem;font-size:.85rem;display:flex}.stat .num{font-size:1.4rem;font-weight:700}.dropzone{text-align:center;background:var(--panel);border:2px dashed #8c96a5;border-radius:8px;margin:.75rem 0;padding:1rem}.upload-results{font-size:.9rem}.upload-results .bad{color:var(--bad)}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:.75rem;display:flex}.tabs button{border-bottom:none;border-radius:6px 6px 0 0}.tabs button.active{background:var(--accent);color:#fff}.login{min-height:100vh}.review-grid{grid-template-columns:minmax(0,3fr) minmax(340px,2fr);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.review-grid{grid-template-columns:1fr}}.pane.side{max-height:calc(100vh - 1rem);position:sticky;top:.5rem;overflow:auto}.toolbar{flex-wrap:wrap;margin:.5rem 0}.viewer{border:1px solid var(--border);-webkit-user-select:none;user-select:none;background:#fff;position:relative}.viewer img{width:100%;height:auto;display:block}.viewer svg{width:100%;height:100%;position:absolute;inset:0}.viewer.drawing svg{cursor:crosshair}.det-box{cursor:pointer}.box-tag{fill:#4a2a00;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font-weight:700}.textpanel{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-top:.75rem;padding:.5rem .75rem}.segtext{white-space:pre-wrap;max-height:420px;margin:0;font-family:ui-monospace,Consolas,monospace;font-size:.85rem;overflow:auto}.segtext mark{cursor:pointer;border-radius:2px;padding:0 1px}.segtext mark.st-pending{background:#ffe8a3;outline:1px dashed #7a4b00}.segtext mark.st-accepted{color:#fff;background:#222}.segtext.opaque mark.st-accepted{color:#000;background:#000}.segtext mark.st-rejected{background:0 0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.segtext mark.sel{outline:3px solid var(--accent)}.filters{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.filters label{font-size:.8rem}.detlist{max-height:50vh;margin:.5rem 0;padding:0;list-style:none;overflow:auto}.detlist li{border-bottom:1px solid var(--border);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:.35rem .4rem;font-size:.88rem;display:flex}.detlist li.sel{background:var(--info-bg);outline:2px solid var(--accent)}.detlist .status-sym{width:1.1rem;font-weight:700}.detlist .cat{font-weight:600}.detlist .txt{word-break:break-all;background:#f1f3f6;border-radius:3px;padding:0 .3rem;font-family:ui-monospace,Consolas,monospace}.detlist li.st-accepted .txt{color:#fff;background:#222}.detlist li.st-rejected .txt{color:var(--muted);text-decoration:line-through}.conf{font-size:.78rem}.band-high{font-weight:700}.band-low{color:var(--warn)}.editor .meta{font-size:.85rem}.meta{grid-template-columns:max-content 1fr;gap:.15rem .75rem;margin:.5rem 0;display:grid}.meta dt{color:var(--muted)}.meta dd{margin:0}.matches{max-height:200px;font-size:.85rem;overflow:auto}.compare{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.compare figure{border:1px solid var(--border);margin:0}.compare figcaption{background:#eef1f5;padding:.3rem .5rem;font-weight:600}.compare img{width:100%;display:block}fieldset.exemptions{flex-direction:column;gap:.15rem;max-height:170px;padding:.3rem .5rem;display:flex;overflow:auto}fieldset.exemptions legend{font-size:.9rem;font-weight:500}fieldset{border:1px solid var(--border);border-radius:6px;margin:.5rem 0}.result{background:#f1f3f6;max-height:360px;padding:.5rem;overflow:auto}.confirm{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem;max-width:560px;padding:.3rem .5rem;font-size:.88rem;display:inline-flex}.card.highlight{border:2px solid var(--accent);box-shadow:0 0 0 3px var(--info-bg)}.comments{max-height:260px;margin:.3rem 0;padding:0;list-style:none;overflow:auto}.comments li{border-bottom:1px solid var(--border);padding:.3rem 0;font-size:.88rem}.stat.kpi{gap:.2rem;min-width:180px}.stack{flex-direction:column;gap:.75rem;display:flex}.button.primary.sso{background:var(--accent);color:#fff;text-align:center;padding:.6rem;text-decoration:none}.center-text{text-align:center}.help-toggle{color:#fff}.help-panel{background:var(--panel);width:min(420px,100vw - 2rem);max-height:75vh;color:var(--text);border:2px solid var(--accent);z-index:20;border-radius:8px;padding:.8rem 1rem;position:fixed;top:3.2rem;right:1rem;overflow:auto;box-shadow:0 6px 24px #0003}.help-panel li{margin:.3rem 0;font-size:.9rem}.similar{border-top:1px solid var(--border);padding:.5rem 0}.similar p{margin:.3rem 0}td.bad,.bad-text{color:var(--bad)}.ai-rec{margin-top:.2rem;font-size:.8rem}.ai-rec.keep{color:var(--info)}.ai-rec.redact{color:var(--warn)}.builder fieldset{border:1px solid var(--border);border-radius:8px;margin:.6rem 0;padding:.5rem .75rem}.builder legend{padding:0 .3rem;font-weight:600}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.25rem .75rem;display:grid}.custom-cat{border:1px dashed var(--border);border-radius:6px;margin:.4rem 0;padding:.5rem}.builder textarea{box-sizing:border-box;width:100%}.pre-redacted h3{margin-top:.75rem}.pr-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.5rem;display:grid}.pr-stats .stat{min-width:0}.pr-stats .stat.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.pr-list{flex-direction:column;gap:.35rem;max-height:340px;margin:.25rem 0;padding:0;list-style:none;display:flex;overflow:auto}.pr-item{border:1px solid var(--border);cursor:pointer;background:var(--panel);border-radius:6px;padding:.4rem .55rem}.pr-item.sel{outline:2px solid var(--accent)}.pr-item .row{margin-top:.25rem}.small-btn{padding:.15rem .6rem;font-size:.85rem}.confirm-box{border:1px solid var(--accent);background:var(--panel);border-radius:6px;width:100%;margin:.4rem 0;padding:.5rem .6rem}.segtext mark.search-hit{background:#0078ff40;outline:3px solid #0050d8;scroll-margin:4rem}.matches{max-height:260px;margin:.3rem 0;padding:0;list-style:none;overflow:auto}.match-item{text-align:left;background:0 0;border:1px solid #0000;width:100%;padding:.25rem .4rem;display:block}.match-item:hover{background:#eef1f5}.match-item.current{background:#0078ff14;border-color:#0050d8}.consistency{border:2px solid var(--warn);background:var(--warn-bg)}.consistency.ok{border-color:var(--good);background:var(--good-bg)}.consistency td.row{gap:.3rem;display:flex}.compare-text{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;display:grid}.compare-text pre{max-height:640px;overflow:auto}.origin-tag{border:1px solid;border-radius:4px;margin-right:.25rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-block}.origin-ai{color:#5b2a86;background:#f1e8fb}.origin-rules{color:#1d4f91;background:#e7f0fb}.origin-person{color:#1f6b3a;background:#e6f4ea}.origin-reused{color:#6b4e00;background:#fff4d6}.provenance{margin-top:.15rem}.provenance-legend{margin:.25rem 0 .5rem}
