:root{--bg:#f6f7f9;--surface:#fff;--text:#1b1f24;--muted:#5d6673;--border:#dfe3e8;--accent:#1f5eff;--accent-text:#fff;--danger:#b42318;--danger-bg:#fdecea;--warn:#8a5a00;--warn-bg:#fff4d6;--ok:#127a3d;--ok-bg:#e6f6ec;--info:#2c4f9e;--info-bg:#e8eefc;--radius:8px}@media (prefers-color-scheme:dark){:root{--bg:#111418;--surface:#1a1e24;--text:#e7eaee;--muted:#9aa4b1;--border:#2c323b;--accent:#5b8cff;--danger:#ff8a80;--danger-bg:#3a1d1b;--warn:#ffd27a;--warn-bg:#3a2f14;--ok:#7fd6a0;--ok-bg:#16301f;--info:#a9c1ff;--info-bg:#1b2540}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}header.top{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;padding:10px 24px;display:flex}header.top .brand{font-weight:700}header.top nav{flex-wrap:wrap;flex:1;gap:16px;display:flex}header.top nav a{color:var(--text);text-decoration:none}header.top nav a:hover{color:var(--accent)}header.top .who{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.demo{background:var(--warn-bg);color:var(--warn);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}main{max-width:1400px;margin:0 auto;padding:24px}h1{margin:0 0 4px;font-size:22px}h2{margin:24px 0 8px;font-size:16px}.sub{color:var(--muted);margin:0 0 20px}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.card .value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px;display:flex}.toolbar .spacer{flex:1}label{color:var(--muted);gap:4px;font-size:12px;display:grid}input,select,button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px}button,.button{background:var(--accent);color:var(--accent-text);border-color:var(--accent);cursor:pointer;border-radius:6px;padding:6px 12px;text-decoration:none;display:inline-block}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button:disabled{opacity:.5;cursor:not-allowed}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}th{color:var(--muted);background:var(--surface);font-size:12px;font-weight:600;position:sticky;top:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr:last-child td{border-bottom:none}.muted{color:var(--muted)}.small{font-size:12px}.badge{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.b-EXCEPTION{background:var(--danger-bg);color:var(--danger)}.b-NEEDS_REVIEW{background:var(--warn-bg);color:var(--warn)}.b-INFO{background:var(--info-bg);color:var(--info)}.b-MATCHED{background:var(--ok-bg);color:var(--ok)}.pos{color:var(--danger)}.neg{color:var(--info)}.alert{border-radius:var(--radius);margin-bottom:16px;padding:10px 14px}.alert.error{background:var(--danger-bg);color:var(--danger)}.alert.ok{background:var(--ok-bg);color:var(--ok)}.dispute-form{flex-wrap:wrap;gap:4px;display:flex}.dispute-form input{width:90px;padding:3px 6px}.dispute-form select,.dispute-form button{padding:3px 6px;font-size:12px}.login{max-width:420px;margin:80px auto}.grid2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}code{background:var(--bg);border-radius:4px;padding:1px 4px}details summary{cursor:pointer}@media print{header.top,.no-print{display:none!important}body{color:#000;background:#fff}main{padding:0}.panel,.table-wrap,.card{border-color:#999}}@media (max-width:640px){main{padding:16px}header.top{padding:10px 16px}}
