:root{--navy: #1f4e79;--bg: #f5f7fa;--line: #d9dee5;--muted: #667085;--danger: #b42318;--ok: #067647}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:#1a1f2b}a{color:var(--navy);text-decoration:none}button{font:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--line);background:#fff;padding:8px 14px}button.primary{background:var(--navy);border-color:var(--navy);color:#fff}button.danger{color:var(--danger);border-color:#f1c0bb}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}textarea{min-height:64px;resize:vertical}label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px;color:#344054}.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;gap:24px;padding:0 20px;height:52px}.topbar .brand{font-weight:700;letter-spacing:1px}.topbar a{color:#d7e3f0}.topbar .spacer{flex:1}.page{max-width:1180px;margin:24px auto;padding:0 16px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:16px}h1{color:var(--navy);font-size:22px;margin:0 0 16px}h2{font-size:16px;margin:0 0 12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase}.chip{display:inline-block;font-size:12px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);margin-right:6px}.chip.draft{background:#fff8e6;border-color:#ecd393}.chip.published{background:#e8f5ee;border-color:#a6d8bc;color:var(--ok)}.error{color:var(--danger);font-size:14px;margin:8px 0}.muted{color:var(--muted);font-size:13px}.builder{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}.section-item{padding:8px 10px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.section-item.active{background:#e8eef6;font-weight:600}.q-item{padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer}.q-item.active{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.q-flags{font-size:12px;color:var(--muted);margin-top:4px}.issues{background:#fff4f2;border:1px solid #f1c0bb;border-radius:8px;padding:12px 16px;margin-bottom:12px}.issues.ok{background:#e8f5ee;border-color:#a6d8bc}.row{display:flex;gap:12px}.row>*{flex:1}.banner{background:#eef4fb;border:1px solid #c4d6ea;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:14px}.chat{max-width:520px;margin:0 auto}.bubbles{display:flex;flex-direction:column;gap:10px;padding:4px 0 12px}.bubble{max-width:82%;padding:10px 14px;border-radius:14px;font-size:15px;line-height:1.45;white-space:pre-wrap}.bubble.ai{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}.bubble .who{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.6;margin-bottom:3px}.evidence{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff8e6;border:1px solid #ecd393;font-size:13px}.progress{height:6px;background:#e6ebf1;border-radius:999px;overflow:hidden;margin:6px 0 14px}.progress>div{height:100%;background:var(--navy);transition:width .3s}.composer{display:flex;gap:8px;position:sticky;bottom:0;background:var(--bg);padding:10px 0}.thinking{align-self:flex-start;font-size:13px;color:var(--muted);font-style:italic;padding:4px 2px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1018288c;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{background:#fff;width:100%;max-width:520px;border-radius:14px 14px 0 0;padding:16px;max-height:92vh;overflow-y:auto}@media(min-width:560px){.sheet-backdrop{align-items:center}.sheet{border-radius:14px}}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sheet-head button{border:none;background:none;font-size:18px;color:var(--muted);padding:2px 6px}.sheet .row{margin-top:12px}.sheet>button,.sheet .filepick{width:100%;margin-top:8px}button.big{padding:12px;font-size:16px}.instruction{background:#eef4fb;border:1px solid #c4d6ea;border-radius:8px;padding:10px 14px;font-size:15px;line-height:1.45}.or{text-align:center;margin:10px 0 4px}.fine{margin-top:12px;font-size:12px}.filepick{display:block;text-align:center;border:1px dashed var(--line);border-radius:6px;padding:12px;cursor:pointer;font-size:14px}.cam{width:100%;border-radius:10px;background:#10141c;margin-top:12px;aspect-ratio:3 / 4;object-fit:cover}.shot{width:100%;border-radius:10px;margin-top:12px;display:block}.shot.doc{padding:24px;text-align:center;background:var(--bg);border:1px solid var(--line);font-size:14px}.trust{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);margin-top:8px}.trust.high{background:#e8f5ee;border-color:#a6d8bc;color:var(--ok)}.trust.medium{background:#fff8e6;border-color:#ecd393;color:#9a6a00}.trust.low{background:#fff4f2;border-color:#f1c0bb;color:var(--danger)}.trust.checking{background:var(--bg);color:var(--muted);font-style:italic}.reasons{list-style:none;margin:8px 0 0;padding:0;font-size:13px}.reasons li{display:flex;gap:6px;padding:4px 0;border-bottom:1px solid var(--line);color:#344054}.reasons li:last-child{border-bottom:none}.reasons .mark{flex:0 0 14px;font-weight:700}.reasons li.pass .mark{color:var(--ok)}.reasons li.warn .mark{color:#9a6a00}.reasons li.fail .mark{color:var(--danger)}.reasons li.skipped{color:var(--muted)}.reasons .penalty{color:var(--danger);font-weight:600;margin-left:auto;padding-left:8px}.ev-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0}.ev-name{font-size:13px;word-break:break-all}.scorecard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:12px}.scorecard table,.scorecard .issues{margin-top:12px}.verdict{display:flex;align-items:baseline;gap:12px;padding:12px 14px;border-radius:8px}.verdict.pass{background:#e8f5ee;border:1px solid #a6d8bc}.verdict.fail{background:#fff4f2;border:1px solid #f1c0bb}.verdict .grade{font-size:34px;font-weight:700;line-height:1}.verdict.pass .grade{color:var(--ok)}.verdict.fail .grade{color:var(--danger)}.verdict .pct{font-size:18px;font-weight:600;color:#344054}.verdict .verdict-label{margin-left:auto;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:16px}.tile{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column}.tile.ok{border-color:#a6d8bc}.tile.warn{border-color:#ecd393}.tile.bad{border-color:#f1c0bb}.tile-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.tile-value{font-size:30px;font-weight:700;line-height:1.15;margin-top:6px;color:var(--navy)}.tile.bad .tile-value{color:var(--danger)}.tile.ok .tile-value{color:var(--ok)}.tile-status{font-size:20px;letter-spacing:.5px}.tile-sub{font-size:13px;color:#344054;margin-top:4px}.tile-note{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.45}.chart{width:100%}.chart svg{width:100%;height:calc(100% - 18px);display:block;overflow:visible}.chart.empty{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:8px}.chart-line{fill:none;stroke:var(--navy);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--navy);stroke:#fff;stroke-width:1}.chart-threshold{stroke:var(--danger);stroke-width:1;stroke-dasharray:3 3}.chart-axis{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);padding-top:4px}.chart-threshold-label{color:var(--danger)}.bars{display:flex;flex-direction:column;gap:8px}.bar-row{display:flex;align-items:center;gap:10px}.bar-row .bar-label{flex:0 0 28px;font-size:13px;font-weight:600}.bar-row .progress{flex:1;margin:0}.bar-row .bar-value{flex:0 0 auto;font-size:13px;min-width:24px;text-align:right}.bands{display:flex;flex-wrap:wrap;gap:8px}.band{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:6px 8px}.band input[type=text]{width:46px;text-align:center}.band input[type=number]{width:70px}.chip.role-chip{background:#ffffff1f;border-color:#41648a;color:#d7e3f0;margin-right:12px}.topbar a{white-space:nowrap}.topbar{overflow-x:auto}
