:root{--bg: #f4f5f7;--panel: #ffffff;--ink: #1b1b1f;--sub: #55555c;--mut: #8a8a92;--line: #e3e3e8;--accent: #0066cc;--accent-ink: #ffffff;--ok: #1a7f37;--ok-bg: #e9f6ec;--ok-line: #bfe3c8;--bad: #c62828;--bad-bg: #fdecea;--bad-line: #f2c4c0;--warn: #9a6b00;--warn-bg: #fdf4dd;--warn-line: #ecd9a0;--r-card: 14px;--r-btn: 10px;--r-btn-sm: 8px;--r-badge: 6px;--r-box: 12px;--r-dialog: 16px;--r-pill: 999px;--f-base: 13.5px;--f-lead: 13px;--f-small: 12.5px;--f-tiny: 11.5px;--f-caps: 11px;--f-h2: 19px;--f-h3: 14px;--f-val: 22px;--s-1: 4px;--s-2: 6px;--s-3: 8px;--s-4: 10px;--s-5: 12px;--s-6: 16px;--s-7: 18px;--s-8: 26px;--font: -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;color-scheme:light}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:var(--f-base) / 1.55 var(--font);padding-bottom:env(safe-area-inset-bottom)}button{font:inherit;cursor:pointer}a{color:var(--accent)}.num{font-variant-numeric:tabular-nums}:is(button,a,input,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.hdr{position:sticky;top:0;z-index:30;background:var(--panel);box-shadow:0 1px 0 var(--line)}.top{display:flex;align-items:center;gap:var(--s-4);padding:11px var(--s-7) var(--s-3)}.top .logo{font-size:18px}.top h1{margin:0;font-size:16px;font-weight:700;letter-spacing:-.2px}.top h1{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .who{color:var(--sub);font-size:12px;margin-left:auto;white-space:nowrap;display:flex;align-items:center;gap:var(--s-3);flex:none}@media (max-width: 640px){.top{padding:9px var(--s-5) var(--s-2);gap:var(--s-3)}.top h1{font-size:15px}.top .who{font-size:11px;gap:var(--s-2)}.top .who .stamp{display:none}main{padding:var(--s-5) var(--s-5) 48px}}.nav{display:flex;gap:2px;align-items:center;padding:0 var(--s-5);overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{padding:9px var(--s-5);font-size:13px;color:var(--sub);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.nav a:hover{color:var(--accent)}.nav a.on{color:var(--ink);font-weight:700;border-bottom-color:var(--accent)}.nav .zone-gap{width:var(--s-5);flex:none}.navcount{display:inline-block;margin-left:5px;font-size:11px;font-weight:700;padding:1px 6px;border-radius:var(--r-pill);background:var(--bg);color:var(--sub);vertical-align:1px}.navcount.hot{background:var(--bad-bg);color:var(--bad)}main{max-width:1020px;margin:0 auto;padding:var(--s-7) var(--s-6) 60px}.eyebrow{font-size:var(--f-caps);letter-spacing:.07em;text-transform:uppercase;color:var(--sub);margin:2px 0 3px}h2{margin:0 0 var(--s-1);font-size:var(--f-h2);letter-spacing:-.3px;text-wrap:balance}.lead{margin:0 0 var(--s-6);color:var(--sub);font-size:var(--f-lead)}h3.sec{margin:var(--s-8) 0 var(--s-4);font-size:var(--f-h3);letter-spacing:-.1px}h3.sec:first-of-type{margin-top:var(--s-7)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:var(--s-5)}.stack{display:flex;flex-direction:column;gap:var(--s-5)}.cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}@media (max-width: 720px){.cols{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--s-5) var(--s-6)}.card h4{margin:0 0 var(--s-2);font-size:var(--f-small);font-weight:600;color:var(--sub)}.card .val{font-size:var(--f-val);font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.card .val small{font-size:13px;font-weight:600;color:var(--sub);letter-spacing:0}.card p{margin:var(--s-2) 0 0;font-size:var(--f-small);color:var(--sub)}.card .src{margin-top:var(--s-4);font-size:var(--f-tiny);color:var(--mut)}.card.dead{border-style:dashed}.card.dead .val{color:var(--bad);font-size:var(--f-h3);line-height:1.45;font-weight:600}.ribbon{display:flex;flex-wrap:wrap;gap:var(--s-1);align-items:center}.step{font-size:var(--f-caps);padding:2.5px var(--s-3);border-radius:var(--r-pill);border:1px solid var(--line);color:var(--mut);background:var(--panel);white-space:nowrap}.step.done{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.step.now{color:#fff;border-color:var(--accent);background:var(--accent);font-weight:700}.step.hold{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg);font-weight:700}.chips{display:flex;gap:var(--s-2);flex-wrap:wrap;margin:0 0 var(--s-5)}.chip{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-pill);padding:5px var(--s-5);font-size:var(--f-small);color:var(--sub)}.chip b{color:var(--ink);font-variant-numeric:tabular-nums}.chip.on{border-color:var(--accent);color:var(--accent);font-weight:700}.chip.on b{color:var(--accent)}.bdg{display:inline-block;font-size:var(--f-caps);font-weight:700;border-radius:var(--r-badge);padding:2px 7px;vertical-align:1px}.bdg.ok{color:var(--ok);background:var(--ok-bg)}.bdg.bad{color:var(--bad);background:var(--bad-bg)}.bdg.warn{color:var(--warn);background:var(--warn-bg)}.bdg.mut{color:var(--sub);background:var(--bg)}.tw{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card)}.tw table{border-collapse:collapse;width:100%;font-size:13px}.tw th{font-size:var(--f-caps);letter-spacing:.05em;text-transform:uppercase;color:var(--sub);text-align:left;font-weight:600;padding:var(--s-4) var(--s-5) var(--s-2)}.tw td{padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);vertical-align:top}.tw td.n,.tw th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tw tr.exp>td{cursor:pointer}.tw tr.exp:hover>td{background:var(--bg)}.tw tr.det td{background:var(--bg);font-size:var(--f-small);color:var(--sub);padding:7px var(--s-5) 7px var(--s-8)}.tw tr.det td b{color:var(--ink)}.tw .foot{padding:var(--s-3) var(--s-5);font-size:var(--f-small);color:var(--mut);border-top:1px solid var(--line)}.btn{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:var(--r-btn);padding:var(--s-3) 15px;font-size:13px;font-weight:600}.btn:hover{filter:brightness(1.06)}.btn:disabled{opacity:.55;cursor:not-allowed;filter:none}.btn.ghost{background:var(--panel);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent);filter:none}.btn.sm{padding:5px 11px;font-size:var(--f-small);border-radius:var(--r-btn-sm)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);padding:15px var(--s-6)}.panel h4{margin:0 0 var(--s-3);font-size:var(--f-base)}.note{font-size:var(--f-small);color:var(--sub)}.note.b{padding:9px var(--s-5);border-radius:var(--r-btn);background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn)}.note.err{padding:9px var(--s-5);border-radius:var(--r-btn);background:var(--bad-bg);border:1px solid var(--bad-line);color:var(--bad)}ul.plain{margin:var(--s-2) 0 0;padding-left:var(--s-7)}ul.plain li{margin:3px 0;font-size:var(--f-small);color:var(--sub)}ul.plain li b{color:var(--ink)}dialog{border:none;border-radius:var(--r-dialog);padding:0;max-width:460px;width:calc(100% - 32px);box-shadow:0 18px 50px #00000038;color:var(--ink)}dialog::backdrop{background:#14141961}.dlg{padding:var(--s-7) var(--s-7) var(--s-6);background:var(--panel);border-radius:var(--r-dialog)}.dlg h4{margin:0 0 var(--s-4);font-size:15px}.dlg .msg{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-btn);padding:11px 13px;font-size:13px;white-space:pre-line}.dlg .row{display:flex;gap:var(--s-3);justify-content:flex-end;margin-top:var(--s-5)}@media (max-width: 640px){dialog{margin:auto auto 0;width:100%;max-width:100%;border-radius:var(--r-dialog) var(--r-dialog) 0 0}.dlg{border-radius:var(--r-dialog) var(--r-dialog) 0 0;padding-bottom:22px}}.scanwrap{max-width:560px;margin:0 auto}.modes{display:flex;gap:var(--s-2);overflow-x:auto;padding-bottom:var(--s-1);scrollbar-width:none}.modes::-webkit-scrollbar{display:none}.mode{border:1px solid var(--line);background:var(--panel);border-radius:var(--r-pill);padding:7px var(--s-5);font-size:13px;color:var(--sub);white-space:nowrap}.mode.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}.scanin{display:flex;align-items:center;gap:var(--s-3);background:var(--panel);border:2px solid var(--ink);border-radius:var(--r-box);padding:13px 15px}.scanin input{border:0;outline:0;flex:1;font:15px var(--font);background:transparent;color:var(--ink)}.zone{min-height:168px;border-radius:var(--r-dialog);margin-top:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);align-items:center;justify-content:center;text-align:center;padding:var(--s-7);border:2px dashed var(--line);background:var(--panel);color:var(--mut)}.zone .big{font-size:27px;font-weight:800;letter-spacing:-.5px;line-height:1.2}.zone .sm2{font-size:var(--f-h3)}.zone.good{border:2px solid var(--ok-line);background:var(--ok-bg);color:var(--ok)}.zone.err{border:2px solid var(--bad-line);background:var(--bad-bg);color:var(--bad)}.zone.dup{border:2px solid var(--warn-line);background:var(--warn-bg);color:var(--warn)}.rhead{display:flex;justify-content:space-between;gap:var(--s-4);align-items:baseline;margin-bottom:7px;flex-wrap:wrap}.rhead b{font-size:14.5px;letter-spacing:-.2px}.rhead span{color:var(--sub);font-size:12px;white-space:nowrap}.rmeta{margin-top:var(--s-3);font-size:var(--f-small);color:var(--sub)}.rmeta b{color:var(--ink)}.lastscans{margin-top:var(--s-6)}.ls{display:flex;gap:var(--s-4);align-items:baseline;font-size:var(--f-small);color:var(--sub);padding:var(--s-2) 2px;border-top:1px solid var(--line)}.ls b{color:var(--ink)}@media (max-width: 480px){.ls{flex-wrap:wrap;gap:var(--s-2) var(--s-3)}}.xrow{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:var(--r-box);padding:11px var(--s-5);display:flex;flex-direction:column;gap:5px}.xrow.money{border-left-color:var(--bad)}.xrow .xh{display:flex;gap:var(--s-3);align-items:baseline;flex-wrap:wrap}.xrow .xh b{font-size:var(--f-base)}.xrow .xm{font-size:12px;color:var(--sub)}.login{max-width:340px;margin:12vh auto 0;padding:0 var(--s-6)}.login .panel{padding:var(--s-7)}.login label{display:block;font-size:var(--f-small);color:var(--sub);margin:var(--s-5) 0 var(--s-1)}.login input{width:100%;box-sizing:border-box;padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-radius:var(--r-btn);font:15px var(--font);background:var(--bg);color:var(--ink)}.login input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.login .btn{width:100%;margin-top:var(--s-6);padding:var(--s-5)}.form{display:flex;flex-direction:column;gap:var(--s-3)}.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}@media (max-width: 560px){.form .row2{grid-template-columns:1fr}}.field label{display:block;font-size:var(--f-small);color:var(--sub);margin-bottom:3px}.field input,.field select{width:100%;box-sizing:border-box;padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-btn-sm);font:15px var(--font);background:var(--panel);color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field .hint{font-size:var(--f-tiny);color:var(--mut);margin-top:3px}.form .actions{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}
