:root,[data-theme=dark]{--bg: #0f1216;--panel: #171c22;--panel-2: #1e252d;--line: #2a333d;--text: #e8edf2;--muted: #93a1b0;--accent: #3b82f6;--ok: #22c55e;--warn: #f59e0b;--bad: #ef4444;--radius: 10px;--photo-bg: #0b0e11;--ok-fill: rgba(34,197,94,.15);--ok-text: #86efac;--warn-fill: rgba(245,158,11,.15);--warn-text: #fcd34d;--bad-fill: rgba(239,68,68,.15);--bad-text: #fca5a5;--info-fill: rgba(59,130,246,.15);--info-text: #93c5fd;--shadow: none}[data-theme=light]{--bg: #e7e9ec;--panel: #f3f4f6;--panel-2: #e2e5ea;--line: #c8ced7;--text: #1f2933;--muted: #5f6b7a;--accent: #2563eb;--ok: #15803d;--warn: #b45309;--bad: #dc2626;--photo-bg: #f0f2f5;--ok-fill: rgba(21,128,61,.12);--ok-text: #15803d;--warn-fill: rgba(180,83,9,.12);--warn-text: #b45309;--bad-fill: rgba(220,38,38,.12);--bad-text: #dc2626;--info-fill: rgba(37,99,235,.12);--info-text: #1d4ed8;--shadow: 0 1px 2px rgba(16,32,48,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}.nav{display:flex;align-items:center;gap:18px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand-logo{height:26px;width:auto;display:block}.brand-logo.login{height:40px;margin:0 auto 6px}.nav a{color:var(--muted);text-decoration:none;padding:6px 2px}.nav a.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.nav .spacer{margin-left:auto}.badge-role{background:var(--panel-2);border:1px solid var(--line);padding:3px 10px;border-radius:999px;font-size:12px;color:var(--muted)}.wrap{max-width:1180px;margin:0 auto;padding:22px 20px 60px}.wrap:has(.warehouse-layout){max-width:1440px}h1{font-size:22px;margin:0 0 4px}h2{font-size:17px;margin:26px 0 10px}.sub{color:var(--muted);margin:0 0 18px;font-size:14px}input,select,button,textarea{font:inherit}.password-field{position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{position:absolute;top:50%;right:6px;width:34px;height:34px;padding:7px;border:0;border-radius:7px;background:transparent;color:var(--muted);transform:translateY(-50%);cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{background:var(--surface-2);color:var(--text)}.password-toggle svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}input[type=text],input[type=password],input[type=number],input[type=date],select,textarea{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:8px;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}button{background:var(--accent);color:#fff;border:0;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600}button.secondary{background:var(--panel-2);border:1px solid var(--line);color:var(--text)}button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}button.danger{background:var(--bad)}button:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}tbody tr:hover{background:var(--panel-2)}.num{text-align:right;font-variant-numeric:tabular-nums}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.tag.ok{background:var(--ok-fill);color:var(--ok-text)}.tag.warn{background:var(--warn-fill);color:var(--warn-text)}.tag.bad{background:var(--bad-fill);color:var(--bad-text)}.tag.info{background:var(--info-fill);color:var(--info-text)}.muted{color:var(--muted)}.err{color:var(--bad-text);background:var(--bad-fill);padding:10px 12px;border-radius:8px}.center{min-height:82vh;display:grid;place-items:center}.result{display:grid;grid-template-columns:minmax(280px,460px) 1fr;gap:22px}@media(max-width:820px){.result{grid-template-columns:1fr}}.photo-main{background:var(--photo-bg);border:1px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;min-height:320px;overflow:hidden;cursor:zoom-in}.photo-main img{width:100%;height:100%;max-height:440px;object-fit:contain;display:block}.photo-empty{text-align:center;padding:40px 20px;color:var(--muted)}.photo-empty .icon{font-size:46px;opacity:.5}.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.thumbs img{width:62px;height:62px;object-fit:contain;background:var(--photo-bg);border:1px solid var(--line);border-radius:8px;cursor:pointer}.thumbs img.sel{outline:2px solid var(--accent)}.stock-big{font-size:40px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 14px;margin:14px 0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:grid;place-items:center;z-index:50;cursor:zoom-out;padding:24px}.lightbox img{max-width:100%;max-height:100%;object-fit:contain}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:var(--panel-2);border:1px solid var(--line);padding:3px 9px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.chip button{background:none;border:0;color:var(--muted);padding:0 0 0 2px;cursor:pointer;font-weight:700}.warehouse-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:22px;align-items:stretch;min-height:calc(100vh - 118px)}.warehouse-layout>aside{display:flex;min-height:0}.warehouse-layout>div:first-child{min-width:0;min-height:0;max-height:calc(100vh - 118px);overflow-y:auto;padding-right:4px}@media(max-width:1080px){.warehouse-layout>div:first-child{max-height:none;overflow:visible}}.warehouse-layout>aside>.card{display:flex;flex-direction:column;flex:1;min-height:0;max-height:calc(100vh - 118px)}@media(max-width:1080px){.warehouse-layout{grid-template-columns:1fr;min-height:0}.warehouse-layout aside{order:2}.warehouse-layout>aside>.card{position:static!important;max-height:70vh}}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,:root:not([data-theme=light]) input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7)}.feed-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:3px 0 3px 7px;font-size:11px;border-radius:3px}.feed-row:hover{background:var(--panel-2)}.feed-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.feed-sku{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.feed-qty{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.feed-code{font-size:10px;color:var(--accent);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:10px}.recent-chip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;padding:8px 10px;background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:8px;cursor:pointer;font-weight:400}.recent-chip:hover{border-color:var(--accent)}.recent-chip.on{border-color:var(--accent);background:var(--panel)}.recent-chip img{width:34px;height:34px;object-fit:contain;background:var(--photo-bg);border-radius:5px}.recent-chip .no-img{width:34px;height:34px}.recent-chip code{font-size:12px;display:block}.recent-desc{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-stock{font-size:13px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.recent-stock.neg{color:var(--bad)}.theme-toggle{display:flex;gap:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:2px}.theme-toggle button{background:none;border:0;color:var(--muted);cursor:pointer;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600}.theme-toggle button.on{background:var(--accent);color:#fff}[data-theme=light] .brand-logo{background:#0f1216;padding:5px 9px;border-radius:7px}.help-btn{width:26px;height:26px;padding:0;border-radius:50%;font-size:14px;font-weight:700;line-height:1;background:var(--panel-2);color:var(--muted);border:1px solid var(--line);cursor:pointer;flex:none}.help-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:60;padding:24px}.help-panel{max-width:640px;width:100%;max-height:82vh;overflow-y:auto;box-shadow:0 12px 40px #0006}.help-panel li{margin-bottom:3px}.title-row{display:flex;align-items:center;gap:10px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}.table-check{width:auto;cursor:pointer}.barcode-print-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:#000000c7;color:#111}.barcode-print-toolbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;background:var(--panel);color:var(--text);border-bottom:1px solid var(--line)}.barcode-print-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}.barcode-print-toolbar span{color:var(--muted);font-size:12px}.barcode-preview-scroll{flex:1;overflow:auto;padding:24px}.barcode-label{box-sizing:border-box;width:4in;height:6in;margin:0 auto 24px;padding:.3in;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;box-shadow:0 8px 32px #00000059}.barcode-brand{align-self:flex-start;height:.55in;min-width:1.5in;padding:.08in .14in;display:flex;align-items:center;justify-content:center;border-radius:.08in;background:#111;print-color-adjust:exact;-webkit-print-color-adjust:exact}.barcode-brand img{display:block;max-width:1.35in;max-height:.38in}.barcode-product{margin:.24in 0 auto}.barcode-product h2{margin:0;color:#000;font-size:26pt;line-height:1.12;overflow-wrap:anywhere}.barcode-location{margin:.16in 0 0;font-size:16pt;color:#222}.barcode-symbol{width:100%;text-align:center}.barcode-bars{display:block;width:100%;height:1.55in}.barcode-sku{margin-top:.12in;font-family:Courier New,monospace;font-size:24pt;line-height:1.1;font-weight:700;letter-spacing:.03em;overflow-wrap:anywhere}.barcode-invalid{color:#a00;font-weight:700}@page{size:4in 6in;margin:0}@media print{html,body{width:4in;margin:0!important;padding:0!important;background:#fff!important}body>*:not(.barcode-print-portal){display:none!important}.barcode-print-portal{position:static;display:block;background:#fff}.barcode-print-toolbar{display:none!important}.barcode-preview-scroll{display:block;overflow:visible;padding:0}.barcode-label{margin:0;box-shadow:none;break-after:page;page-break-after:always}.barcode-label:last-child{break-after:auto;page-break-after:auto}}.connection-banner{display:flex;gap:8px 18px;align-items:center;flex-wrap:wrap;padding:11px 14px;margin:12px 0;border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:8px;background:var(--panel-2);font-size:13px}.connection-banner.connected{border-left-color:var(--good)}.connection-banner span{color:var(--muted)}.orders-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.orders-stats .card{display:flex;flex-direction:column;gap:3px}.orders-stats strong{font-size:26px}.orders-stats span{color:var(--muted);font-size:12px}.orders-filters{display:grid;grid-template-columns:minmax(220px,1fr) 190px 170px auto;gap:9px;margin-bottom:14px}.orders-layout{display:grid;grid-template-columns:minmax(330px,2fr) minmax(540px,3fr);gap:14px;align-items:start}.order-list{padding:0;overflow:hidden}.order-list-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;gap:10px;align-items:center;padding:11px 13px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);background:transparent;text-align:left;font-weight:400}.order-list-row:hover,.order-list-row.on{background:var(--panel-2)}.order-list-row.on{box-shadow:inset 3px 0 var(--accent)}.order-list-row span:not(.tag),.order-line>div{min-width:0;display:flex;flex-direction:column;gap:2px}.order-list-row small,.order-line small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pager{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px}.order-detail h2{margin:0}.order-meta{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 0 14px;color:var(--muted);font-size:13px}.order-meta strong{color:var(--text)}.order-lines{display:flex;flex-direction:column;gap:8px}.order-line{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(130px,1fr) minmax(210px,1.2fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:8px}.order-line.problem{border-left:4px solid var(--bad)}.inventory-numbers{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px!important}.inventory-numbers span{display:flex;flex-direction:column;color:var(--muted);font-size:10px}.inventory-numbers strong{color:var(--text);font-size:16px;font-variant-numeric:tabular-nums}.pick-controls{align-items:flex-end}.mapping-results{display:flex;flex-direction:column;gap:7px;margin-top:12px}.mapping-results button{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;text-align:left;background:var(--panel-2);color:var(--text)}.mapping-results span,.mapping-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.packing-card{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2)}.packing-card small{display:block;color:var(--muted);margin-top:2px}.package-fields{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:9px;margin:12px 0}.package-fields label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.package-fields input{width:100%;color:var(--text)}.package-hint{margin:4px 0 12px;font-size:12px}.preset-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) auto;gap:8px;margin-bottom:8px}.operations-center{margin-bottom:14px;padding:0;overflow:hidden}.operations-title{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:transparent;color:var(--text);text-align:left;border:0}.operations-title>span:first-child{display:flex;flex-direction:column;gap:3px}.operations-title small{color:var(--muted);font-weight:400}.operations-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 14px 14px;border-top:1px solid var(--line)}.operations-grid>div{padding-top:12px;min-width:0}.exception-counts{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}.exception-list,.label-draft-list{display:flex;flex-direction:column;gap:5px}.exception-list button{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:8px;padding:7px 9px;background:var(--panel-2);color:var(--text);text-align:left;font-weight:400}.exception-list span,.exception-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exception-list span{color:var(--bad)}.exception-list small{color:var(--muted)}.label-draft-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:var(--panel-2);border-radius:6px}.label-draft-list span:first-child{display:flex;flex-direction:column}.label-draft-list small{color:var(--muted)}.ok-note{color:var(--good)}@media(max-width:1050px){.orders-layout{grid-template-columns:1fr}.order-line{grid-template-columns:1fr 1fr}}@media(max-width:720px){.orders-stats,.orders-filters,.order-list-row,.order-line,.mapping-results button{grid-template-columns:1fr}.package-fields{grid-template-columns:1fr 1fr}.preset-row,.operations-grid,.exception-list button{grid-template-columns:1fr}.pick-controls{align-items:flex-start}}.live-shipping{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.live-shipping small{display:block;color:var(--muted);margin-top:.2rem}.rate-list{display:grid;gap:.55rem;margin-top:.75rem}.rate-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.8rem;align-items:center;padding:.75rem;border:1px solid var(--border);border-radius:.65rem}@media(max-width:720px){.rate-row{grid-template-columns:1fr auto}.rate-row button{grid-column:1 / -1}}
