:root{--bg:#f4f6f9;--card:#fff;--ink:#1b2430;--muted:#5d6b7c;--line:#e1e6ec;--brand:#1f4e79;
  --red:#b42318;--red-bg:#fdecea;--yel:#8a6100;--yel-bg:#fff6dc;--grn:#1f7a4d;--grn-bg:#e7f6ee}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header{background:var(--brand);color:#fff}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:58px}
.home{color:#fff;opacity:.85;text-decoration:none;font-size:14px}
.home:hover{opacity:1}
.brand{font-weight:700;display:flex;gap:10px;align-items:center}
.logo{background:#a83232;border-radius:7px;padding:4px 7px;font-size:12px}
main{padding:24px 20px 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px}
.narrow{max-width:380px;margin:40px auto}
h2{margin:0 0 6px;font-size:20px} h3{margin:22px 0 10px;font-size:16px}
.muted{color:var(--muted);font-size:14px;margin:4px 0 14px}
.hidden{display:none!important}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;margin-top:6px}
button{background:var(--brand);color:#fff;border:0;border-radius:9px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;margin-top:12px}
button:disabled{opacity:.45;cursor:default}
button.ghost{background:#fff;color:var(--brand);border:1px solid var(--line)}
.err{color:var(--red);font-size:14px;min-height:1em}
.drop{display:block;border:2px dashed #c9d4e0;border-radius:12px;padding:16px;margin:10px 0;cursor:pointer;position:relative}
.drop:hover,.drop.over{border-color:var(--brand);background:#f7faff}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.drop span.muted{display:block;margin:4px 0 0}
.drop.has{border-style:solid;border-color:var(--grn);background:var(--grn-bg)}
.req,.opt{font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px;margin-left:6px}
.req{background:var(--red-bg);color:var(--red)} .opt{background:#eef2f6;color:var(--muted)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:block;font-size:14px;font-weight:600;margin-top:10px}
#progress{display:flex;gap:16px;align-items:center}
.spinner{width:30px;height:30px;border:4px solid #dbe4ee;border-top-color:var(--brand);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.verdict{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.pill{display:inline-block;font-weight:700;font-size:13px;padding:5px 12px;border-radius:99px}
.v-accept{background:var(--grn-bg);color:var(--grn)} .v-questions{background:var(--yel-bg);color:var(--yel)}
.v-rov,.v-new{background:var(--red-bg);color:var(--red)}
.counts{display:flex;gap:10px;margin-top:10px}
.count{padding:8px 14px;border-radius:10px;font-weight:700}
.c-red{background:var(--red-bg);color:var(--red)} .c-yel{background:var(--yel-bg);color:var(--yel)} .c-grn{background:var(--grn-bg);color:var(--grn)}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:14px}
.fact{background:#f7f9fb;border-radius:10px;padding:10px 12px;font-size:13px}
.fact b{display:block;font-size:15px;margin-top:2px}
.flag{border-left:5px solid;border-radius:8px;padding:12px 14px;margin:8px 0;background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.flag.red{border-left-color:var(--red)} .flag.yellow{border-left-color:#e0a800} .flag.green{border-left-color:var(--grn)}
.flag .t{font-weight:700} .flag .meta{font-size:12px;color:var(--muted);margin-left:6px;font-weight:400}
.flag .d{font-size:14px;margin-top:4px;line-height:1.45}
.flag .q{font-size:13px;margin-top:6px;background:#f4f6f9;border-radius:6px;padding:7px 9px}
.flag .src{font-size:11px;background:#eef2f6;color:var(--muted);padding:1px 6px;border-radius:99px;margin-left:6px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{margin:0;padding:7px 12px;font-size:13px}
table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
th,td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}
th{background:#f7f9fb;font-weight:700}
td.num{text-align:right;white-space:nowrap}
.bad{color:var(--red);font-weight:700}
.scroll{overflow-x:auto}
.actions{display:flex;gap:10px;flex-wrap:wrap}
textarea.rov{min-height:220px;font-size:13px;font-family:inherit}
@media print{header,.actions,.filters,#upload{display:none!important}.card{border:0}}
