@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fe0777f1195381cb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eafabf029ad39a43-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/db911767852bc875-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f10b8e9d91f3edcb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8888a3826f4a3af4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3bc380753a8436c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0484562807a97172-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins Fallback;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_6bee3b{font-family:Poppins,Poppins Fallback;font-style:normal}.__variable_6bee3b{--font-poppins:"Poppins","Poppins Fallback"}:root{--paper:#f7f6f3;--card:#ffffff;--ink:#15171c;--muted:#6c7077;--line:#e4e2dc;--line2:#efeee9;--chip:#f0efea;--ok:#1f7a4d;--ok-bg:#e7f2ec;--warn:#9a6a12;--warn-bg:#f6eddb;--bad:#b42318;--bad-bg:#f8e7e4;--shadow:0 1px 2px rgba(20,22,28,.06),0 8px 24px rgba(20,22,28,.05);--font:var(--font-poppins),"Poppins",system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"SF Mono","Cascadia Code",ui-monospace,"Consolas",monospace;--r:10px}@media (prefers-color-scheme:dark){:root{--paper:#101216;--card:#181b20;--ink:#eef0ee;--muted:#969ca4;--line:#282c33;--line2:#20242a;--chip:#20242b;--ok:#57c48a;--ok-bg:#12271e;--warn:#d7a63f;--warn-bg:#2a2314;--bad:#e5786c;--bad-bg:#2c1614;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35)}}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.45;-webkit-font-smoothing:antialiased;font-size:14px}h1,h2{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:16px}code{font-family:var(--mono);font-size:.92em}.muted{color:var(--muted)}.loading{display:grid;place-items:center;min-height:100vh;color:var(--muted)}button,input,select{font-family:inherit;font-size:14px}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.sm{padding:6px 11px;font-size:12px}.btn:disabled{opacity:.4;cursor:not-allowed}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:12px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.card.auth{width:100%;max-width:380px}.auth label,.card label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--muted);font-weight:600;margin-top:14px}input,select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:10px 12px;font-weight:500}input:focus,select:focus{outline:2px solid var(--ink);outline-offset:1px}.auth .btn{margin-top:18px;width:100%}.err{margin-top:14px;background:var(--bad-bg);color:var(--bad);border:1px solid var(--bad);border-radius:8px;padding:9px 12px;font-size:12.5px;font-weight:600}.app{max-width:1080px;margin:0 auto;padding:18px}.top{align-items:center;gap:12px;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-wrap:wrap}.brand,.top{display:flex}.brand{flex-direction:column;margin-right:auto}.brand b{font-size:15px}.brand span{font-size:11.5px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip);border:1px solid var(--line);border-radius:99px;padding:5px 11px;font-size:12px}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.bad,.chip.ok{border-color:transparent}.chip.bad{background:var(--bad-bg);color:var(--bad)}.banner{margin-top:14px;border-radius:var(--r);padding:11px 14px;font-size:12.5px}.banner.bad{background:var(--bad-bg);color:var(--bad);border:1px solid var(--bad)}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px;margin-top:16px;align-items:start}@media (max-width:820px){.grid{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px}.card>.muted{font-size:12.5px;margin:6px 0 4px}.card-head{display:flex;justify-content:space-between;gap:10px}.card-head,.pill{align-items:center}.pill{display:inline-flex;gap:5px;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:600;font-family:var(--mono);background:var(--chip);color:var(--muted)}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.result{margin-top:16px;border-top:1px solid var(--line2);padding-top:14px}.result-head{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.kv{display:flex;gap:10px;font-size:12.5px;padding:2px 0}.kv span{width:44px}.kv span,.note{color:var(--muted)}.note{font-size:12px;border-left:2px solid var(--ok);padding:4px 0 4px 12px;margin:12px 0 0}details{margin-top:12px;font-size:12.5px}summary{cursor:pointer;color:var(--muted)}.serials{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;margin-top:8px;padding:8px;background:var(--paper);border-radius:8px}.serials code{font-size:11.5px}.tbl-wrap{overflow-x:auto;margin-top:6px}table{border-collapse:collapse;width:100%;font-size:12.5px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line2);white-space:nowrap}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.preview{margin-top:14px}.preview img{display:block;width:100%;max-width:260px;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px}.foot{margin:20px 4px;font-size:11.5px}.wrap{max-width:780px;margin:0 auto;padding:20px 16px 64px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.topbar h1{margin:2px 0 0;font-size:1.5rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:22px}.stat{background:var(--card,#fff);border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px 8px;text-align:center}.stat b{display:block;font-size:1.35rem;line-height:1.1}.stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}.tiles{display:grid;grid-gap:12px;gap:12px}.tile{display:block;text-decoration:none;color:inherit}.tile h2{margin:0 0 4px;font-size:1.1rem}.tile:active{transform:scale(.995)}.small{font-size:.8rem}.label-preview{display:block;width:100%;max-width:320px;margin-top:12px;border:1px solid rgba(0,0,0,.12);border-radius:6px}.btn,input,select{min-height:48px;font-size:1rem}input,select{min-width:0}.wrap.wide{max-width:1140px}.desk h1{letter-spacing:-.02em}.tile-group{margin-bottom:26px}.group-head{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:10px;font-family:var(--mono)}.floor-tile{border-left:3px solid var(--ink)}.stats.six{grid-template-columns:repeat(6,1fr)}@media (max-width:720px){.stats.six{grid-template-columns:repeat(3,1fr)}}.ok-note{margin-top:14px;background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok);border-radius:8px;padding:9px 12px;font-size:12.5px;font-weight:600}.bad-text{color:var(--bad)}tr.row-bad td{background:var(--bad-bg)}.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px;gap:12px}@media (max-width:560px){.field-row{grid-template-columns:1fr}}.targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:16px}@media (max-width:560px){.targets{grid-template-columns:repeat(2,minmax(0,1fr))}}.target{display:flex;flex-direction:column;gap:4px;font-size:11px;font-family:var(--mono);color:var(--muted);margin:0}.target input{min-height:40px;padding:6px 8px;text-align:center}.bar-row{display:grid;grid-template-columns:34px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:7px 0}.bar-label{font-family:var(--mono);font-size:12px;font-weight:600}.bar{height:8px;background:var(--chip);overflow:hidden}.bar,.bar i{border-radius:99px}.bar i{display:block;height:100%;background:var(--ink)}.bar-num{font-family:var(--mono);font-size:12.5px;font-weight:600}.bar-num em{color:var(--muted);font-style:normal;font-weight:400}.queue{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.queue li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.queue li.q-bad{border-color:var(--bad)}.queue li.q-warn{border-color:var(--warn)}.q-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-right:auto;font-size:12.5px}.q-serial{text-decoration:none}.q-detail,.q-main time{color:var(--muted)}.q-main time{font-size:11.5px}.q-form{display:flex;gap:8px;align-items:center;flex:1 1 320px}.q-form input{flex:1 1}.q-form .btn,.q-form input{min-height:40px}.trace-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.trace-form label{flex:1 1 320px;margin-top:0}.trace-samples{display:flex;gap:6px;align-items:center;flex-wrap:wrap;flex-basis:100%;margin-top:4px}.trace-samples .chip{text-decoration:none;color:inherit;font-size:11.5px}.spine{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:10px;overflow:hidden;margin-top:14px}@media (max-width:700px){.spine{grid-template-columns:1fr 1fr}}@media (max-width:430px){.spine{grid-template-columns:1fr}}.spine-step{background:var(--card);padding:12px 14px;display:flex;flex-direction:column;gap:3px}.spine-step.bad{background:var(--bad-bg)}.spine-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-family:var(--mono)}.spine-step b{font-size:14px;word-break:break-word}.spine-sub{font-size:11.5px;color:var(--muted)}.spine-step.bad .spine-sub{color:var(--bad);font-weight:600}.floor{--f-bg:#0b0d10;--f-card:#161a20;--f-line:#272d36;--f-ink:#f2f5f8;--f-muted:#98a2ae;--f-ok:#25d07d;--f-ok-bg:#0e2a1d;--f-bad:#ff5c47;--f-bad-bg:#2e1310;--f-wait:#f0b429;--f-wait-bg:#2b2210;position:fixed;inset:0;overflow-y:auto;overscroll-behavior:contain;background:var(--f-bg);color:var(--f-ink);padding:10px 12px calc(28px + env(safe-area-inset-bottom))}.floor-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.floor-back{flex:0 0 48px;height:48px;display:grid;place-items:center;font-size:30px;line-height:1;text-decoration:none;color:var(--f-ink);background:var(--f-card);border:1px solid var(--f-line);border-radius:12px}.floor-title{margin-right:auto;min-width:0}.floor-title h1{font-size:19px;color:var(--f-ink)}.floor-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-muted);display:block}.floor-status{display:flex;align-items:center;gap:8px}.floor-count{font-size:22px;font-weight:700;color:var(--f-ink)}.conn,.floor-count{font-family:var(--mono)}.conn{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 10px;border-radius:99px;font-size:11px;font-weight:600;cursor:pointer;background:var(--f-card);border:1px solid var(--f-line);color:var(--f-muted)}.conn .dot{width:7px;height:7px;border-radius:99px;background:currentColor}.conn.up{color:var(--f-ok)}.conn.down{color:var(--f-bad);border-color:var(--f-bad)}.conn b{background:var(--f-bad);color:#fff;border-radius:99px;padding:0 6px;font-size:10.5px}.floor-blocked{margin:0 0 10px;padding:12px 14px;border-radius:12px;background:var(--f-bad-bg);color:var(--f-bad);border:2px solid var(--f-bad);font-size:13.5px;line-height:1.45}.floor-blocked b{display:block;font-size:16px;margin-bottom:2px}.floor-offline{background:var(--f-wait-bg);color:var(--f-wait);border:1px solid var(--f-wait);border-radius:10px;padding:10px 12px;font-size:12.5px;font-weight:600;margin:0 0 12px}.floor-body{gap:12px}.floor-body,.packer-card{display:flex;flex-direction:column}.packer-card{border-radius:14px;padding:14px 16px;gap:2px;border:2px solid var(--f-line);background:var(--f-card)}.packer-card.on{border-color:var(--f-ok);background:var(--f-ok-bg)}.packer-card.off{border-style:dashed}.packer-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-muted)}.packer-card b{font-size:28px;line-height:1.1;letter-spacing:-.02em}.packer-card.on b{color:var(--f-ok)}.packer-meta{font-size:12.5px;color:var(--f-muted)}.verdict{display:flex;align-items:center;gap:16px;border-radius:16px;padding:20px 18px;border:3px solid var(--f-line);background:var(--f-card);position:relative;animation:pop .22s ease-out}@keyframes pop{0%{transform:scale(.97);opacity:.35}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.verdict{animation:none}}.verdict.ok{border-color:var(--f-ok);background:var(--f-ok-bg)}.verdict.bad{border-color:var(--f-bad);background:var(--f-bad-bg)}.verdict.repeat,.verdict.wait{border-color:var(--f-wait);background:var(--f-wait-bg)}.verdict.repeat{border-style:dashed}.verdict-mark{flex:0 0 72px;height:72px;border-radius:99px;display:grid;place-items:center;font-size:42px;font-weight:700;line-height:1;background:rgba(255,255,255,.07)}.verdict.ok .verdict-mark{color:var(--f-ok);background:rgba(37,208,125,.14)}.verdict.bad .verdict-mark{color:var(--f-bad);background:rgba(255,92,71,.14)}.verdict.repeat .verdict-mark,.verdict.wait .verdict-mark{color:var(--f-wait);background:rgba(240,180,41,.14)}.verdict-text{display:flex;flex-direction:column;gap:4px;min-width:0}.verdict-text b{font-size:32px;line-height:1.1;letter-spacing:-.02em;word-break:break-word}.verdict.ok .verdict-text b{color:var(--f-ok)}.verdict.bad .verdict-text b{color:var(--f-bad)}.verdict-detail{font-size:13px;color:var(--f-muted);word-break:break-word}.verdict.bad .verdict-detail{color:var(--f-bad);font-weight:600}.verdict-action{font-size:15px;font-weight:700;margin-top:2px;letter-spacing:-.01em}.verdict.ok .verdict-action{color:var(--f-ok)}.verdict.bad .verdict-action{color:var(--f-bad)}.verdict.repeat .verdict-action,.verdict.wait .verdict-action{color:var(--f-wait)}.verdict-sync{position:absolute;top:8px;right:10px;font-family:var(--mono);font-size:10px;color:var(--f-muted)}.picker{display:flex;flex-direction:column;gap:10px}.picker-lead{font-size:16px;font-weight:600;color:var(--f-ink)}.picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.picker-item{display:flex;flex-direction:column;gap:3px;text-align:left;min-height:92px;padding:14px;border-radius:14px;cursor:pointer;border:2px solid var(--f-line);background:var(--f-card);color:var(--f-ink)}.picker-item:active{transform:scale(.98)}.picker-item b{font-size:20px;line-height:1.15;letter-spacing:-.02em}.picker-type{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--f-ok);line-height:1.1}.picker-station{font-size:11.5px;color:var(--f-muted)}.picker-item.unbound{border-style:dashed;opacity:.6}.picker-item.unbound .picker-type{color:var(--f-muted);font-size:13px}.packer-card{flex-direction:row;align-items:center;justify-content:space-between}.packer-who{display:flex;flex-direction:column;gap:2px;min-width:0}.packer-switch{flex:0 0 auto;min-height:44px}.card.compact{padding:14px 16px}.card.compact .card-head{margin-bottom:6px}.card.compact h2{font-size:17px}p.tight{margin:0 0 10px}.row.tight{margin-top:0;gap:8px}.pill.muted{color:var(--muted)}.qty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;margin:0 0 12px}.card .qty-row{display:grid;grid-template-columns:34px minmax(0,1fr) 74px;align-items:center;grid-gap:8px;gap:8px;padding:6px 9px;margin-top:0;border:1px solid var(--line);border-radius:9px;background:var(--paper);min-width:0;font-size:inherit;font-weight:400}.card .qty-row:focus-within{border-color:var(--ink)}.qty-code{font-family:var(--mono);font-size:14px;font-weight:700}.qty-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:12.5px;color:var(--muted)}.qty-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qty-have{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--warn);background:var(--warn-bg);border-radius:99px;padding:1px 6px}.card .qty-row input{text-align:right;font-family:var(--mono);font-weight:600;padding:6px 8px}.qty-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.card .inline-field{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0}.card .inline-field>span{font-size:12px;color:var(--muted);white-space:nowrap}.card .inline-field input{width:auto;padding:7px 9px}.confirm-lines{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}.confirm-line{display:grid;grid-template-columns:44px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:6px 10px;border-radius:8px;background:var(--paper);border:1px solid var(--line2)}.confirm-line b{font-family:var(--mono);font-size:14px}.confirm-line span{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-line em{font-style:normal;font-family:var(--mono);font-weight:700;font-size:15px}@media (max-width:560px){.qty-grid{grid-template-columns:1fr}.card .qty-row{grid-template-columns:34px minmax(0,1fr) 70px}.qty-actions{justify-content:stretch}}.done-strip{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;background:var(--f-card);border:1px solid var(--f-line);border-left:5px solid var(--f-ok)}.done-strip.bad{border-left-color:var(--f-bad)}.done-mark{font-size:19px;font-weight:700;line-height:1;color:var(--f-ok)}.done-strip.bad .done-mark{color:var(--f-bad)}.done-who{font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.done-where{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--f-muted);white-space:nowrap}.scan-summary{flex-direction:column;margin-top:2px}.scan-summary,.tally{display:flex;gap:8px}.tally-cell{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 6px;border-radius:12px;background:var(--f-card);border:1px solid var(--f-line)}.tally-cell b{font-size:26px;line-height:1;font-family:var(--mono)}.tally-cell span{font-size:10.5px;letter-spacing:.04em;color:var(--f-muted);text-transform:uppercase}.tally-cell.warn{border-color:var(--f-wait)}.tally-cell.warn b{color:var(--f-wait)}.tally-cell.bad{border-color:var(--f-bad)}.tally-cell.bad b{color:var(--f-bad)}.issue-list{list-style:none;margin:0;padding:0;gap:6px}.issue-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--f-bad-bg);border-left:4px solid var(--f-bad)}.issue-list code{font-family:var(--mono);font-size:11.5px;color:var(--f-ink)}.issue-why{font-size:12px;color:var(--f-bad);font-weight:600;margin-left:auto;text-align:right}.scan-warn{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:12px;background:var(--f-wait-bg);border:2px solid var(--f-wait)}.scan-warn b{font-size:15px;color:var(--f-wait)}.scan-warn span{font-size:12.5px;color:var(--f-ink);line-height:1.45}.scan-warn span b{font-size:inherit}.pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.pair-slot{border:2px dashed var(--f-line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px;background:var(--f-card)}.pair-slot.on{border-style:solid;border-color:var(--f-ok)}.pair-slot span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--f-muted)}.pair-slot b{font-size:30px;line-height:1.1}.pair-slot.on b{color:var(--f-ok)}.pair-slot code{font-size:11px;color:var(--f-muted);word-break:break-all}.scanner{display:flex;flex-direction:column;gap:10px}.scan-modes{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;background:var(--f-card);border:1px solid var(--f-line);border-radius:12px;padding:5px}.scan-mode{min-height:44px;border:0;border-radius:9px;cursor:pointer;background:transparent;color:var(--f-muted);font-weight:600;font-size:13px}.scan-mode.on{background:var(--f-ink);color:var(--f-bg)}.cam{position:relative;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:4/3}.cam-video{width:100%;height:100%;object-fit:cover;display:block}.cam-reticle{position:absolute;inset:18% 14%;border:3px solid rgba(255,255,255,.85);border-radius:14px;box-shadow:0 0 0 100vmax rgba(0,0,0,.34)}.cam-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:rgba(0,0,0,.72);color:var(--f-ink);font-size:14px;font-weight:600}.scan-entry{display:flex;gap:8px}.scan-input{flex:1 1;min-height:64px;font-size:20px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:var(--f-card);border:2px solid var(--f-line);color:var(--f-ink);border-radius:12px;padding:10px 14px}.scan-input:focus{outline:none;border-color:var(--f-ink)}.scan-input::placeholder{color:var(--f-muted);text-transform:none;letter-spacing:0;font-family:var(--font)}.scan-go{min-height:64px;min-width:96px;border-radius:12px;font-size:16px;background:var(--f-ink);color:var(--f-bg);border:0}.scan-hint{margin:0;font-size:12px;color:var(--f-muted)}.tap-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;padding:4px;background:var(--f-card);border:1px solid var(--f-line);border-radius:12px}.tap-item{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:8px 14px;border-radius:9px;cursor:pointer;background:transparent;border:1px solid var(--f-line);color:var(--f-ink);font-family:var(--mono);font-size:14px;text-align:left}.tap-item span{color:var(--f-muted);font-size:12px}.picker{background:var(--f-card);border:1px solid var(--f-line);border-radius:14px;padding:12px}.picker-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-muted)}.picker-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pick{min-height:56px;padding:8px 16px;border-radius:11px;cursor:pointer;background:transparent;border:2px solid var(--f-line);color:var(--f-ink);font-size:15px;font-weight:600;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.pick.on{border-color:var(--f-ok);background:var(--f-ok-bg);color:var(--f-ok)}.pick span{font-family:var(--mono);font-size:11px;opacity:.75}.sample-prompt{border:2px dashed var(--f-line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;background:var(--f-card)}.sample-prompt.due{border-style:solid;border-color:var(--f-wait);background:var(--f-wait-bg)}.sample-prompt b{font-size:22px}.sample-prompt.due b{color:var(--f-wait)}.sample-prompt span{font-size:12.5px;color:var(--f-muted)}.sample-prompt .btn{margin-top:8px;min-height:44px;background:transparent;color:var(--f-ink);border-color:var(--f-line)}.qc-actions{display:flex;flex-direction:column;gap:10px}.qc-pass{min-height:76px;border-radius:14px;border:2px solid var(--f-ok);background:var(--f-ok-bg);color:var(--f-ok);font-size:20px;font-weight:700;cursor:pointer}.qc-or{font-size:12px;color:var(--f-muted);text-align:center}.qc-faults{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.qc-fault{min-height:64px;border-radius:12px;border:2px solid var(--f-bad);background:var(--f-bad-bg);color:var(--f-bad);font-size:15px;font-weight:600;cursor:pointer}.qc-decide{border-radius:12px;padding:12px 14px;background:var(--f-card);border:1px solid var(--f-line);display:flex;flex-direction:column;gap:3px}.qc-decide-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--f-bad)}.qc-decide b{font-size:21px;line-height:1.15}.qc-block em,.qc-pass em{display:block;font-style:normal;font-size:12px;font-weight:500;opacity:.8;margin-top:3px}.qc-block{min-height:76px;border-radius:14px;border:2px solid var(--f-bad);background:var(--f-bad-bg);color:var(--f-bad);font-size:20px;font-weight:700;cursor:pointer}.quota{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--f-wait)}.picker-item.quota-met{border-color:var(--f-ok)}.picker-item.quota-met .quota{color:var(--f-ok)}.packer-card.quota-met{border-color:var(--f-ok)}.quota-done{border:2px solid var(--f-ok);background:var(--f-ok-bg);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}.quota-done b{font-size:22px;color:var(--f-ok)}.quota-done span{font-size:13px;color:var(--f-muted);margin-bottom:6px}.photo-take{display:flex;flex-direction:column;gap:6px}.photo-btn{min-height:72px;border-radius:14px;cursor:pointer;border:2px dashed var(--f-wait);background:var(--f-wait-bg);color:var(--f-wait);font-size:18px;font-weight:700;padding:10px 14px}.photo-btn em{display:block;font-style:normal;font-size:12px;font-weight:500;opacity:.85;margin-top:3px}.photo-done{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;border:2px solid var(--f-ok);background:var(--f-ok-bg)}.photo-done img{width:76px;height:76px;object-fit:cover;border-radius:10px;flex:0 0 auto}.photo-meta{display:flex;flex-direction:column;gap:2px;margin-right:auto}.photo-meta b{font-size:15px;color:var(--f-ok)}.photo-meta span{font-family:var(--mono);font-size:11px;color:var(--f-muted)}.floor .btn.sm{min-height:40px;padding:0 14px;font-size:13px}.floor .btn.wide{width:100%;min-height:56px;background:transparent;color:var(--f-ink);border:1px solid var(--f-line);border-radius:12px}.scan-log{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.scan-log li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;background:var(--f-card);border-left:3px solid var(--f-line);font-size:12px}.scan-log code{font-family:var(--mono);font-size:11.5px;color:var(--f-ink)}.scan-log li.log-match{border-left-color:var(--f-ok)}.scan-log li.log-mismatch{border-left-color:var(--f-bad)}.scan-log li.log-invalid{border-left-color:var(--f-wait)}.log-mid{margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-mid,.log-sync{color:var(--f-muted)}.log-sync{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.log-sync.s-saved{color:var(--f-ok)}.log-sync.s-queued{color:var(--f-wait)}.log-sync.s-failed,.log-sync.s-mismatch{color:var(--f-bad)}.log-empty{text-align:center;padding:18px 0}.floor .muted,.floor .small,.log-empty{color:var(--f-muted)}.issue-list{margin:12px 0 0;padding-left:20px;font-size:12.5px;display:flex;flex-direction:column;gap:4px}.issue-list.bad li{color:var(--bad)}.issue-list.warn li{color:var(--warn)}.issue-list li.muted{color:var(--muted)}