:root{--bg: #f3f4f6;--surface: #fff;--text: #1f2933;--muted: #52606d;--border: #cbd2d9;--accent: #1d4e89;--accent-bg: #e8f0fa;--warn-bg: #fff4d6;--warn-border: #b7791f;--bad: #9b1c1c;--bad-bg: #fde8e8;--good: #166534;--good-bg: #e3f6e8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app{max-width:1400px;margin:0 auto;padding:16px 24px 48px}header h1{margin:0;font-size:1.5rem}h2{margin:0 0 12px;font-size:1.15rem}h3{margin:0 0 6px;font-size:.95rem;color:var(--muted)}.sub{color:var(--muted);font-size:.85rem;margin:0}.sub.block{display:block}.muted{color:var(--muted);font-style:italic}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px;margin-top:16px}.dropzone{margin-top:16px;border:2px dashed var(--accent);background:var(--accent-bg);border-radius:6px;padding:28px 16px;text-align:center;cursor:pointer}.dropzone.is-over{background:#cfe0f5;border-style:solid}.dropzone.is-busy{cursor:progress}.dropzone-title{margin:0;font-size:1.15rem;font-weight:600}.dropzone-hint{margin:4px 0 0;color:var(--muted)}progress{width:min(420px,90%);height:14px;margin-top:8px}.error{background:var(--bad-bg);border:1px solid var(--bad);color:var(--bad);padding:10px 12px;border-radius:4px;margin:12px 0 0}.notice{background:var(--warn-bg);border:1px solid var(--warn-border);padding:10px 12px;border-radius:4px;margin:12px 0}.notice p{margin:4px 0 0}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 16px}.summary>div{border:1px solid var(--border);border-radius:4px;padding:8px 10px}.summary dt{color:var(--muted);font-size:.8rem}.summary dd{margin:0}.summary .big{font-size:1.4rem;font-weight:700}.wrap{overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}ul.plain{margin:0;padding-left:18px}.thresholds{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.verdict{padding:10px 12px;border-radius:4px;font-weight:600;border:1px solid}.verdict-ok{background:var(--good-bg);color:var(--good);border-color:var(--good)}.verdict-rework{background:var(--bad-bg);color:var(--bad);border-color:var(--bad)}.table-wrap{overflow-x:auto;max-width:100%}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th,table.data td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}table.data thead th{background:#e4e7eb;position:sticky;top:0;white-space:nowrap}table.data tbody tr:nth-child(2n){background:#f9fafb}table.data tbody th{font-weight:600}table.data .num{text-align:right;white-space:nowrap}table.data tr.flagged{background:var(--bad-bg)!important;box-shadow:inset 4px 0 0 var(--bad)}table.data tr.current{outline:2px solid var(--accent);outline-offset:-2px}.actions{white-space:nowrap}.badges{display:flex;flex-direction:column;gap:2px}.badge{display:inline-block;font-weight:600;color:var(--bad);border:1px solid var(--bad);background:#fff;border-radius:3px;padding:0 6px}.btn,button.sort{font:inherit}.btn{display:inline-block;padding:4px 10px;border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:4px;cursor:pointer;text-decoration:none}.btn:hover{background:var(--accent-bg)}.btn:disabled{opacity:.6;cursor:default}button.sort{background:none;border:0;padding:0;cursor:pointer;font-weight:700;color:inherit}.empty{color:var(--muted);font-style:italic;margin:0}@media (max-width: 600px){.app{padding:12px}}
