:root{--ink: #181c24;--ink-soft: #5a6172;--paper: #f6f7f4;--card: #ffffff;--line: #e2e4de;--blue: #1450c8;--blue-soft: #e8eefb;--green: #1b7f4b;--alert: #b4421e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,Segoe UI,system-ui,sans-serif}#root{max-width:1080px;margin:0 auto;padding:0 24px 64px}header.app{display:flex;align-items:baseline;gap:16px;padding:28px 0 20px;border-bottom:2px solid var(--ink);margin-bottom:28px}header.app .mark{background:var(--blue);color:#fff;font-weight:700;padding:2px 10px;border-radius:4px;letter-spacing:.02em}header.app h1{font-size:18px;font-weight:600;margin:0}header.app nav{margin-left:auto;display:flex;gap:4px}header.app nav button{border:0;background:none;padding:6px 12px;font:inherit;color:var(--ink-soft);cursor:pointer;border-radius:6px}header.app nav button[aria-current=true]{background:var(--blue-soft);color:var(--blue);font-weight:600}header.app nav button:focus-visible{outline:2px solid var(--blue)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px 24px;margin-bottom:20px}.card h2{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:9px 10px;border-bottom:1px solid var(--line)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13.5px}tr:last-child td{border-bottom:0}.status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px}.status.confirmed{background:#e4f3ea;color:var(--green)}.status.pending_review{background:#fdf1e6;color:#9a5b14}.status.failed{background:#fbe9e3;color:var(--alert)}.status.uploaded,.status.extracting{background:var(--blue-soft);color:var(--blue)}button.primary{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:none;border:1px solid var(--line);border-radius:8px;padding:8px 14px;font:inherit;cursor:pointer}input,select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.dropzone{border:2px dashed var(--line);border-radius:10px;padding:32px;text-align:center;color:var(--ink-soft);transition:border-color .15s}.dropzone.over{border-color:var(--blue);background:var(--blue-soft)}.warn{background:#fdf1e6;border:1px solid #f0d9b8;border-radius:8px;padding:10px 14px;margin:10px 0;font-size:13.5px}.error{color:var(--alert)}pre.json{background:#f0f1ec;border-radius:8px;padding:14px;overflow:auto;font-size:12.5px;max-height:480px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.muted{color:var(--ink-soft);font-size:13px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
