:root{--bg: #f3f5f7;--card: #fff;--ink: #14202b;--muted: #5c6b78;--line: #d8dee4;--brand: #0f3d5e;--brand-ink: #fff;--accent: #1565c0;--accent-ink: #1565c0;--ok: #11692f;--ok-bg: #e3f5e9;--err: #b42318;--err-bg: #fdeceb;--warn: #8a5a00;--warn-bg: #fff4d6;--info-bg: #e8f1fc;--r: 10px;--tap: 48px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1419;--card: #18212a;--ink: #e7edf3;--muted: #93a1ad;--line: #2b3742;--brand: #13466b;--ok-bg: #12321f;--ok: #6fd391;--err-bg: #3a1714;--err: #ff8a80;--warn-bg: #3a2e10;--warn: #f3c25b;--info-bg: #142a42;--accent-ink: #8cc0ff;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{overflow-x:hidden}h1,h2,h3,h4{margin:.2em 0 .5em}input,select,button,textarea{font:inherit;color:inherit}input,select{min-height:var(--tap);padding:8px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);width:100%;min-width:0}input:focus,select:focus{outline:3px solid var(--accent);outline-offset:0}:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}.scanner .small,.scanner .muted.small,.scanner label{font-size:15px}@media(pointer:coarse){.btn-small,.chip{min-height:var(--tap)}}label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:13px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.btn{min-height:var(--tap);padding:8px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);cursor:pointer;font-weight:600;touch-action:manipulation}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-warn{background:var(--warn-bg);color:var(--warn);border:2px solid var(--warn)}.btn-big{min-height:64px;font-size:20px;width:100%}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent-ink)}.btn-icon{min-width:var(--tap);padding:0;font-size:22px}.btn-small{min-height:36px;padding:4px 10px;font-size:14px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.msg{padding:14px 16px;border-radius:var(--r);margin:10px 0;font-weight:600;font-size:17px}.msg-error{background:var(--err-bg);color:var(--err)}.msg-ok{background:var(--ok-bg);color:var(--ok)}.msg-warn{background:var(--warn-bg);color:var(--warn)}.msg-info{background:var(--info-bg)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:10px 0;display:flex;flex-direction:column;gap:10px}.card.focus{border:2px solid var(--accent)}.card.warn{border-color:var(--warn)}.big{font-size:26px;font-weight:800;letter-spacing:.5px;word-break:break-all}.auth{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:420px}.tabs{display:flex;gap:6px}.tab{flex:1;min-height:var(--tap);border:1px solid var(--line);background:transparent;border-radius:var(--r);cursor:pointer}.tab.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:6px 12px;padding-top:max(6px,env(safe-area-inset-top));background:var(--brand);color:var(--brand-ink)}.brand{display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand .muted{color:#c7d7e4;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30vw}.seg{display:flex;margin-left:auto;border:1px solid #ffffff55;border-radius:var(--r);overflow:hidden}.avail{font-size:22px}.pimg{display:block;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:var(--r)}.pimg-big{width:100%;max-height:220px}.pimg-small{width:48px;height:48px}.pimg-mid{width:96px;height:96px;flex:0 0 96px}.target-prod{display:flex;align-items:center;gap:10px}@media(max-width:767px){.pimg-big{max-height:140px}}.seg button{min-height:var(--tap);padding:0 14px;border:0;background:transparent;color:#fff;cursor:pointer}.seg button.on{background:#fff;color:var(--brand);font-weight:700}.who{display:flex;align-items:center;gap:4px}.who .btn-ghost{color:#fff;padding:8px 10px}.who-name{font-size:14px}.scanner{max-width:720px;margin:0 auto;padding:12px 16px 40px}.screen-head{display:flex;align-items:center;gap:8px}.screen-head .btn-ghost{padding-left:0}.screen-title{margin:6px 0}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:120px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--card);cursor:pointer;font-size:20px}.tile:active{transform:scale(.98)}.tile-icon{font-size:32px}.tile{position:relative}.line.focus{background:var(--info-bg, #e8f1fb);outline:3px solid var(--accent);outline-offset:-3px;border-radius:8px}.batch-part .big{font-size:1.4em}.count-row{padding:6px 8px;border-radius:8px;margin:4px 0}.count-row.focus{background:var(--info-bg, #e8f1fb);outline:3px solid var(--accent);outline-offset:-3px}.count-name{display:block;font-size:1.1em;color:var(--ink)}.ask-card .big{overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;word-break:normal}.steps-check{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:2px}.steps-check li{color:var(--muted)}.steps-check li.ok{color:var(--ok, #1b7f3b)}.field-cam{display:flex;align-items:flex-end;gap:8px}.field-cam>.field{flex:1;min-width:0}.field-cam>.btn-icon{min-height:48px;min-width:48px;margin-bottom:2px}.tile-count{position:absolute;top:10px;right:10px;min-width:36px;padding:4px 10px;border-radius:999px;background:var(--accent, #1d4ed8);color:#fff;font-weight:700;font-size:20px;text-align:center;line-height:1.2}.tile-count small{font-size:12px;font-weight:600}.scan{margin:10px 0}.scan-label{display:block;font-weight:700;color:var(--ink);margin-bottom:4px;font-size:16px}.scan-row{display:flex;gap:8px}.scan-input{font-size:22px;min-height:60px;font-family:ui-monospace,Consolas,monospace;border-width:2px}.qty{display:grid;grid-template-columns:var(--tap) 1fr var(--tap);gap:8px;align-items:center}.qty-label{grid-column:1 / -1;color:var(--muted);font-size:14px}.qty input{text-align:center;font-size:26px;font-weight:700;min-height:60px}.qty .btn-icon{min-height:60px}.field{color:var(--muted)}.list{display:flex;flex-direction:column;gap:8px;margin:10px 0}.list-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);cursor:pointer;text-align:left;font-size:17px}.doc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0}.doc-head .btn-ghost{margin-left:auto}.badge{padding:3px 10px;border-radius:99px;font-size:13px;font-weight:700;background:var(--info-bg);white-space:nowrap}.s-shipped,.s-closed{background:var(--ok-bg);color:var(--ok)}.s-cancelled{background:var(--err-bg);color:var(--err)}.s-picking,.s-picked,.s-packed,.s-loaded{background:var(--info-bg);color:var(--accent-ink)}.s-new,.s-open{background:var(--bg);color:var(--ink);border:1px solid var(--line)}.lines{display:flex;flex-direction:column;gap:4px;margin:8px 0}.line{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:var(--tap);padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);text-align:left;width:100%;font-size:16px}button.line{cursor:pointer}button.line:disabled{cursor:default;opacity:1}.line.done{background:var(--ok-bg);border-color:var(--ok)}.line.over{background:var(--warn-bg);border-color:var(--warn)}.line.done>span:first-child:before{content:"✓ ";color:var(--ok);font-weight:700}.line.over>span:first-child:before{content:"! ";color:var(--warn);font-weight:700}.line.current{border:2px solid var(--accent)}.target{font-size:20px;padding:6px 10px;border-radius:8px}.target b{font-size:28px}.target.now{background:var(--info-bg);outline:2px solid var(--accent)}.target.ok{color:var(--ok)}.target.ok:before{content:"✓ "}.inline-form{display:flex;gap:8px;margin:8px 0}.camera{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;gap:10px}.camera video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.camera-frame{position:absolute;left:10%;right:10%;top:35%;height:25%;border:3px solid #fff;border-radius:12px;box-shadow:0 0 0 100vmax #0006}.camera .btn,.camera .msg{position:relative}.office{display:grid;grid-template-columns:200px 1fr;min-height:calc(100vh - 52px)}.sidenav{display:flex;flex-direction:column;gap:2px;padding:12px 8px;background:var(--card);border-right:1px solid var(--line)}.sidenav button{min-height:var(--tap);text-align:left;padding:0 14px;border:0;border-radius:var(--r);background:transparent;cursor:pointer;font-size:16px}.sidenav button.on{background:var(--info-bg);color:var(--accent);font-weight:700}.content{padding:16px 24px 40px;min-width:0}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column}.stat-v{font-size:30px;font-weight:800}.stat-warn{border-color:var(--err);background:var(--err-bg)}.pace{display:flex;gap:4px;align-items:flex-end;height:140px;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}.pace-col{display:flex;flex-direction:column;align-items:center;flex:1 0 22px;height:100%}.pace-bar{flex:1;width:100%;display:flex;gap:2px;align-items:flex-end}.pace-bar span{flex:1;min-height:1px;border-radius:3px 3px 0 0}.pace-pick{background:var(--accent)}.pace-in{background:var(--ok)}.pace-ship{background:var(--brand)}.warn-text{color:var(--warn)}.cutoff-input{width:130px}.inline-form{align-items:flex-end;flex-wrap:wrap}.pace-key{display:inline-block;width:12px;height:12px;border-radius:2px;vertical-align:middle;margin-left:8px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;margin:8px 0}.form-grid.card{display:grid}.form-grid .span{grid-column:1 / -1}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two>.form-grid{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px}.search{margin:10px 0;max-width:420px}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}table{border-collapse:collapse;width:100%;font-size:15px}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:13px;color:var(--muted);font-weight:600;background:var(--bg);position:sticky;top:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--info-bg)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.chip{min-height:40px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);cursor:pointer}.toggle{text-align:left;font-size:18px}.toggle.on{background:var(--err-bg);color:var(--err);border-color:var(--err)}.order-info{display:flex;flex-direction:column;gap:2px;padding:8px 12px;margin:4px 0 8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.client-tag{background:var(--brand);color:#fff;font-size:13px}.note-mini{color:var(--warn);font-weight:700;font-size:14px}.order-info .note{color:var(--warn);font-weight:700;font-size:17px}.scanner .btn-ghost{min-height:var(--tap)}.chip-big{min-height:52px;font-size:18px;font-weight:700;padding:0 16px}.hints{display:flex;flex-direction:column;gap:4px;margin:6px 0}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.checks{display:flex;flex-wrap:wrap;gap:4px 12px}.check{flex-direction:row;align-items:center;gap:6px;color:var(--ink);min-height:36px}.checks.col{flex-direction:column}.scope{display:flex;flex-direction:column;gap:4px}.check input{width:22px;min-height:22px;height:22px}.w-qty{width:100px;flex:0 0 100px}.row select{flex:1 1 240px;width:auto}.timeline{display:flex;flex-wrap:wrap;gap:6px}.timeline span{padding:4px 10px;border-radius:8px;background:var(--bg);color:var(--muted);font-size:13px;display:flex;flex-direction:column}.timeline span.done{background:var(--ok-bg);color:var(--ok);font-weight:600}.diff{color:var(--err);font-weight:700}td b,.nowrap{white-space:nowrap}.ok-text{color:var(--ok);font-weight:700}.steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.wizard .table-wrap select,.wizard .table-wrap input{min-height:40px}details summary{cursor:pointer;min-height:36px;display:flex;align-items:center}@media(max-width:1023px){.office{grid-template-columns:1fr}.sidenav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px;position:sticky;top:52px;z-index:4}.sidenav button{white-space:nowrap;flex:0 0 auto}.content{padding:12px 16px 40px}.tiles{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.tiles{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.who-name{display:none}.seg button{padding:0 10px}.brand .muted{max-width:22vw}.content h2{font-size:20px}.table-wrap{border:0;background:transparent;overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tr{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;padding:6px 10px}td{border:0;padding:3px 0;display:flex;justify-content:space-between;gap:10px;text-align:right}td:before{content:attr(data-t);color:var(--muted);font-size:13px;text-align:left}td.num{text-align:right}}.account-bar{margin:0;border-radius:0;text-align:center}.progress{height:10px;background:var(--line);border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--ok)}.step-done{border-color:var(--ok)}.plan-request select{width:auto;min-height:36px;margin:0 6px}fieldset.plain{border:0;padding:0;margin:0;min-width:0}.ask-card{gap:12px;display:flex;flex-direction:column}.small-input{width:6.5rem;min-height:40px}.tabs .btn{flex:1;min-height:56px}.task-actions{gap:16px;margin-top:12px}.task-actions .btn{min-height:56px;flex:1}.list-item.current{border-width:2px;border-color:var(--accent-ink)}.grade-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.grade-buttons .btn{display:flex;flex-direction:column;min-height:72px;line-height:1.2}.grade-buttons .btn .small{font-weight:400;opacity:.85}.reason-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.reason-buttons .btn{min-height:48px;flex:1 1 30%}@media(max-width:480px){.grade-buttons .btn .small{display:none}.grade-buttons .btn{min-height:56px}}.card.focus .task-actions{position:sticky;bottom:0;background:var(--card);padding-bottom:6px;z-index:2}button.list-item{width:100%;text-align:left;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;min-height:48px}.brand-login{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.brand-login img{max-height:64px;max-width:220px;object-fit:contain}.brand-logo{max-height:28px;max-width:120px;object-fit:contain;background:#fff;border-radius:4px;padding:2px}.row label.inline{display:flex;flex-direction:row;align-items:center;gap:6px;white-space:nowrap;margin:0}.row label.inline select{width:auto;height:auto;min-height:44px;align-self:center}.row>.search{flex:1 1 220px}.labels-form{display:flex;flex-direction:column;gap:12px}.labels-sheet{display:grid;gap:4mm;background:#fff;color:#000;padding:4mm}.labels-a4{grid-template-columns:repeat(3,1fr)}.labels-100x50{grid-template-columns:repeat(auto-fill,100mm)}.label{display:flex;align-items:center;gap:3mm;border:1px dashed #bbb;padding:2mm 3mm;overflow:hidden;background:#fff;color:#000}.labels-a4 .label{height:33mm}.labels-100x50 .label{width:100mm;height:50mm;padding:3mm 4mm}.label-code svg{display:block;width:100%;height:100%}.label-code.d2{flex:0 0 auto;height:100%;aspect-ratio:1}.label-code.d1{flex:1 1 60%;height:60%}.label-text{display:flex;flex-direction:column;min-width:0}.label-title{font-size:16pt;line-height:1.1;word-break:break-all}.labels-100x50 .label-title{font-size:22pt}.label-sub{font-size:8pt;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.labels-100x50 .label-sub{font-size:10pt}.print-doc{display:none}.print-doc{color:#000;background:#fff;font-size:10pt}.pd-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:4mm}.pd-head h2{margin:0;font-size:14pt}.pd-no{font-size:16pt}.pd-parties{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm;margin:4mm 0}.pd-parties>div{border:1px solid #999;padding:2mm 3mm}.pd-label{display:block;font-size:8pt;color:#444;text-transform:uppercase}.pd-meta{margin:2mm 0}.pd-table{width:100%;border-collapse:collapse;margin-top:2mm}.pd-table th,.pd-table td{border:1px solid #999;padding:1.5mm 2mm;text-align:left}.pd-table .num{text-align:right}.pd-table tfoot td{font-weight:700}.pd-sign{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12mm;margin-top:18mm}.print-doc.on-screen{display:block;max-width:210mm;margin:12px 0;padding:10mm;border:1px solid var(--line);box-shadow:0 2px 8px #0000001f;overflow-x:auto}@media(max-width:767px){.print-doc.on-screen{padding:4mm;max-width:100%;box-sizing:border-box}.print-doc.on-screen .pd-no{overflow-wrap:anywhere}.print-doc.on-screen .pd-head{flex-wrap:wrap}}.pd-sign>div{border-top:1px solid #000;padding-top:1mm;font-size:8pt}.pd-pick{break-before:page}#print-root{display:none}.label-parcel{font-size:11pt}@media print{#root,.app,.confirm-back{display:none!important}#print-root{display:block}#print-root .print-doc{display:block;width:100%}.print-doc table{display:table}.print-doc thead{display:table-header-group}.print-doc tbody{display:table-row-group}.print-doc tfoot{display:table-footer-group}.print-doc tr{display:table-row}.print-doc td,.print-doc th{display:table-cell}.print-doc td:before{content:none}.labels-sheet{width:100%;padding:0}.label{border:0;break-inside:avoid}.labels-100x50{display:block}.labels-100x50 .label{break-after:page}.labels-100x50 .label:last-child{break-after:auto}}.confirm-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.confirm{max-width:520px;width:100%;display:flex;flex-direction:column;gap:16px;font-size:18px}.confirm p{margin:0;white-space:pre-line}.confirm-actions{display:flex;gap:16px;flex-wrap:wrap}.confirm-actions .btn{flex:1;min-height:56px;min-width:140px}
