:root{--bg:#f6f7f9;--card:#fff;--ink:#1c2330;--muted:#5b6573;--line:#e3e6eb;--accent:#1f5fbf;--accent-ink:#fff;--crit:#b3261e;--major:#c8641a;--minor:#8a6d00;--query:#5b4ba8;--sugg:#2e7d5b;--unver:#6b7280;--hl:#fff3b0;--hl2:#dbeafe;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}body{margin:0;font:14px/1.5 var(--sans);color:var(--ink);background:var(--bg)}
a{color:var(--accent)}h1,h2,h3{margin:.2em 0 .5em;line-height:1.25}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-weight:700;text-decoration:none;color:var(--ink)}.brand span{font-weight:400;color:var(--muted);margin-left:8px;font-size:13px}
.topbar nav{display:flex;gap:14px;align-items:center}.topbar nav a{text-decoration:none;color:var(--ink)}
.container{max-width:1500px;margin:18px auto;padding:0 20px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}
.card.narrow{max-width:420px;margin:60px auto}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1.4fr 1fr}.grid.review{grid-template-columns:1.15fr 1fr;align-items:start}
.span2{grid-column:span 2}.stack>*{margin-bottom:16px}.row{display:flex;gap:10px;align-items:center}.between{justify-content:space-between}
label{display:block;margin:8px 0;font-size:13px;color:var(--muted)}input,select,textarea{display:block;width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font:inherit;color:var(--ink);background:#fff}
textarea{min-height:64px}form.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}form.inline input,form.inline select{width:auto;flex:1;min-width:140px}label.check{display:flex;gap:6px;align-items:center}label.check input{width:auto}
.btn{padding:7px 12px;border:1px solid var(--line);background:#fff;border-radius:6px;font:inherit;cursor:pointer;color:var(--ink)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.danger{background:var(--crit);color:#fff;border-color:var(--crit)}.btn.ghost{border-color:transparent}.btn.small{padding:3px 8px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}
.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-weight:600;font-size:12px}.table.small{font-size:12px}
.muted{color:var(--muted)}.small{font-size:12px}.pre{white-space:pre-wrap;font-family:var(--mono);font-size:12px;background:#f3f4f6;padding:10px;border-radius:6px;max-height:320px;overflow:auto}
.list{list-style:none;padding:0;margin:0}.list li{padding:6px 0;border-bottom:1px solid var(--line)}
.toast{position:fixed;bottom:20px;right:20px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;max-width:420px;z-index:20}
.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:var(--muted);text-transform:uppercase;letter-spacing:.02em}
.badge.critical{background:var(--crit)}.badge.major{background:var(--major)}.badge.minor{background:var(--minor)}.badge.query{background:var(--query)}.badge.suggestion{background:var(--sugg)}.badge.unable_to_verify{background:var(--unver)}.badge.stage{background:var(--accent)}
.dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.dash .kpi{border:1px solid var(--line);border-radius:8px;padding:10px}.dash .kpi b{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.dash .kpi span{font-size:16px}
.dash .kpi.wide{grid-column:1/-1}
.doc{font-family:var(--serif);font-size:15px;line-height:1.7;max-height:78vh;overflow:auto;padding-right:6px}.doc p{margin:0 0 10px;position:relative;padding-left:44px}.doc p .pn{position:absolute;left:0;top:2px;font:11px var(--mono);color:#aab;user-select:none}
.doc p.heading{font-weight:700;font-family:var(--sans)}.doc p.hit{background:#fffbea}.doc mark{background:var(--hl);border-bottom:2px solid var(--major);cursor:pointer;padding:0 1px}.doc mark.active{background:#ffd76a}.doc mark .cid{font:10px var(--mono);color:var(--major);vertical-align:super}
.doc .diff-old{background:#fde8e8;text-decoration:line-through;color:#7a1d1d}.doc .diff-new{background:#e6f6ea}.doc .tbl{font-family:var(--sans);font-size:12px;margin:8px 0 12px 44px;border-collapse:collapse}.doc .tbl td{border:1px solid var(--line);padding:3px 6px}
.doc table.compare{width:100%;border-collapse:collapse;font-size:13px}.doc table.compare td{width:50%;vertical-align:top;padding:6px;border-bottom:1px solid var(--line)}
.side-pane{max-height:86vh;overflow:auto}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:10px;flex-wrap:wrap}.tabs button{border:0;background:none;padding:8px 10px;cursor:pointer;color:var(--muted);font:inherit;border-bottom:2px solid transparent}.tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}
.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.filters select{font-size:12px;padding:4px}
.finding{border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:6px;padding:8px 10px;margin-bottom:8px;font-size:13px}.finding.critical{border-left-color:var(--crit)}.finding.major{border-left-color:var(--major)}.finding.minor{border-left-color:var(--minor)}.finding.query{border-left-color:var(--query)}.finding.suggestion{border-left-color:var(--sugg)}.finding.unable_to_verify{border-left-color:var(--unver)}
.finding.resolved,.finding.dismissed{opacity:.6}.finding .id{font-family:var(--mono);font-size:11px;color:var(--muted)}.finding .quote{font-family:var(--serif);background:#fafafa;border-left:2px solid var(--line);padding:2px 6px;margin:4px 0;font-size:12px}
.finding .meta{font-size:11px;color:var(--muted)}.finding .actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.finding textarea{font-size:12px;min-height:40px}
.finding .origin{font-size:10px;padding:0 5px;border-radius:4px;background:#eef;color:#335}.finding .origin.llm{background:#fdf0e6;color:#7a3a00}.finding .origin.system{background:#e8f4ec;color:#1f5c37}.finding .origin.editor,.finding .origin.reviewer{background:#eee;color:#333}
.approval{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.approval .rec{flex:1;min-width:280px}.approval select,.approval input{width:auto}
.kv{display:grid;grid-template-columns:180px 1fr;gap:4px 10px;font-size:13px}.kv b{color:var(--muted);font-weight:600}
.conflict{background:#fff1f0}.unconfirmed{background:#fffbe6}.ok{color:var(--sugg)}.bad{color:var(--crit)}
@media (max-width:1100px){.grid.two,.grid.review{grid-template-columns:1fr}.doc,.side-pane{max-height:none}}

body.embedded .topbar{display:none}body.embedded .container{margin:8px auto;padding:0 8px}body.embedded .doc{max-height:70vh}body.embedded .side-pane{max-height:78vh}

.kpi.section{background:#eef4ff;border-color:#c9d9f5}.kpi.section span{font-weight:600}

.stage1-list .doc-pane{display:none}.stage1-list .grid.review{grid-template-columns:1fr}.stage1-list [data-a=goto]{display:none}
.finding .basis{margin-top:.25rem;color:#555;white-space:normal;word-break:break-word}

.export-bar{margin:.75rem 0;padding:.75rem;border:1px solid #c9d9f5;background:#eef4ff;border-radius:6px;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.finding .btn.primary{background:#1f5fbf;color:#fff;border-color:#1f5fbf}
