:root{--brand: #1f4e78;--brand-dark: #163a5a;--bg: #f4f6f8;--surface: #ffffff;--border: #dfe4ea;--text: #1c2733;--muted: #6b7a89;--ok: #1f8a4c;--ok-bg: #e8f6ed;--error: #c0392b;--error-bg: #fdecea;--warn: #b7791f;--warn-bg: #fdf6e3;--radius: 10px;--shadow: 0 1px 3px rgba(16, 30, 45, .08);--sidebar-w: 240px;--header-h: 56px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--brand)}.no-flex-gap .actions>*,.no-flex-gap .qty-main>*,.no-flex-gap .qty-presets>*,.no-flex-gap .chips>*,.no-flex-gap .modal-actions>*{margin:0 8px 8px 0}.no-flex-gap .work-head>*,.no-flex-gap .undo-main>*,.no-flex-gap .page-head>*{margin:0 14px 10px 0}.no-flex-gap .sidebar .user-actions>*{margin-bottom:6px}.no-flex-gap .switch>*{margin-right:8px}.no-flex-gap .save-state>*{margin-right:4px}.no-flex-gap .kv>*{margin-right:10px}.no-flex-gap .topbar>*{margin-right:12px}.no-flex-gap .modal-head>*{margin-right:12px}.no-flex-gap .option>*{margin-right:12px}.no-flex-gap .option-body>*{margin-bottom:3px}.no-flex-gap .settings-row>*{margin-right:20px}.no-flex-gap .settings-field>*{margin-bottom:4px}.no-flex-gap .mixed-item>*{margin-right:10px}.no-flex-gap .cell-item>*{margin-right:10px}.no-flex-gap .undo-list li>*{margin-right:10px}.layout{display:flex;min-height:100%;align-items:stretch}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--brand);color:#fff;display:flex;flex-direction:column;padding:18px 0 14px;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain}.sidebar .brand{font-size:18px;font-weight:700;padding:0 20px 18px;letter-spacing:.3px;flex:none}.sidebar nav{flex:1 1 auto;min-height:0}.sidebar .nav-group{margin-bottom:4px}.sidebar .section{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#ffffff7a;padding:14px 20px 6px}.sidebar nav a{display:block;color:#ffffffd1;text-decoration:none;padding:10px 20px;font-size:14.5px;border-left:3px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar nav a:hover{background:#ffffff14;color:#fff}.sidebar nav a.active{background:#ffffff24;border-left-color:#fff;color:#fff;font-weight:600}.sidebar .user{flex:none;border-top:1px solid rgba(255,255,255,.16);margin-top:12px;padding:14px 20px 0;font-size:13px}.sidebar .user .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .user .role{color:#ffffff9e;font-size:12px}.sidebar .user .user-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:10px}.sidebar .user .user-actions button,.sidebar .user .user-actions a{background:none;border:none;color:#ffffffd9;padding:2px 0;font-size:13px;cursor:pointer;text-align:left;text-decoration:none}.sidebar .user .user-actions button:hover,.sidebar .user .user-actions a:hover{color:#fff;text-decoration:underline}.topbar{display:none}.content{flex:1 1 auto;min-width:0;padding:24px 28px 64px}.content-inner{max-width:1400px}.page-title{font-size:22px;font-weight:700;margin:0 0 4px}.page-hint{color:var(--muted);margin:0 0 20px;font-size:14px;max-width:720px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.card h2{margin:0 0 14px;font-size:16px;font-weight:650;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.card h3{margin:18px 0 10px;font-size:14px;font-weight:650}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,260px));gap:14px;align-items:end}.row.wide{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.row>.narrow{max-width:150px}.row>.span-2{grid-column:span 2}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.op-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.op-row .qty-block{flex:0 0 130px}.op-row .actions{flex:1 1 280px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,200px));gap:12px}.stat{border:1px solid var(--border);border-radius:8px;padding:12px 14px;background:#fbfcfd}.stat .stat-label{font-size:12.5px;color:var(--muted)}.stat .stat-value{font-size:24px;font-weight:700;line-height:1.2;margin:2px 0}.stat .stat-sub{font-size:12.5px;color:var(--muted)}label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}input,select,textarea{width:100%;max-width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px;font-family:inherit;background:#fff;color:var(--text)}input[type=checkbox]{width:auto}input[type=file]{padding:8px;font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #1f4e781f}input:disabled,select:disabled{background:#f2f4f6;color:var(--muted)}.scan-input{font-size:22px;font-family:SF Mono,Consolas,monospace;letter-spacing:1px;padding:14px 16px;text-transform:uppercase;max-width:480px}.qty-input{font-size:22px;text-align:center;font-weight:600}button{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid transparent;border-radius:8px;background:var(--brand);color:#fff;font-size:15px;font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap}button:hover:not(:disabled){background:var(--brand-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#fff;color:var(--text);border-color:var(--border)}button.secondary:hover:not(:disabled){background:#f7f9fa}button.danger{background:var(--error)}button.big{padding:14px 22px;font-size:17px;font-weight:600}button.link{display:inline;background:none;color:var(--brand);padding:0;font-size:14px;border:none;white-space:normal;text-align:left}button.link:hover:not(:disabled){background:none;text-decoration:underline}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.actions .hint{flex:1 1 220px}.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px;font-size:14.5px;border:1px solid transparent;overflow-wrap:anywhere}.alert.ok{background:var(--ok-bg);color:var(--ok);border-color:#bfe5cd}.alert.error{background:var(--error-bg);color:var(--error);border-color:#f5c6c0}.alert.warn{background:var(--warn-bg);color:var(--warn);border-color:#f0e0b0}.alert.info{background:#eef4fa;color:var(--brand);border-color:#cddff0}.alert.big{font-size:17px;font-weight:600;padding:16px}.alert-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.alert-bar>:first-child{flex:1 1 260px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -20px;padding:0 20px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--border);color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:hover{background:#fafbfc}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.mono,.mono{font-family:SF Mono,Consolas,monospace}.empty{padding:32px;text-align:center;color:var(--muted)}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;background:#eef1f4;color:var(--muted);white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.error{background:var(--error-bg);color:var(--error)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.chips{display:flex;flex-wrap:wrap;gap:6px}.muted{color:var(--muted)}.small{font-size:13px}.strong{font-weight:650}.nowrap{white-space:nowrap}.mt{margin-top:16px}.mb{margin-bottom:16px}.right{text-align:right}.kv{display:flex;gap:10px;font-size:14px;padding:4px 0;flex-wrap:wrap}.kv .k{color:var(--muted);flex:0 0 160px}.login-screen{min-height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1f4e78,#12314b);padding:20px}.login-box{background:#fff;border-radius:14px;padding:32px;width:100%;max-width:380px;box-shadow:0 12px 40px #00000038}.login-box h1{margin:0 0 6px;font-size:24px}.login-box .sub{color:var(--muted);margin:0 0 22px;font-size:14px}.login-box label{margin-top:14px}.login-box button{width:100%;margin-top:20px;padding:12px;font-size:16px}.loading{padding:60px;text-align:center;color:var(--muted)}.page-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.switch{display:flex;align-items:center;gap:9px;margin:0;padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:14px;color:var(--text);cursor:pointer;user-select:none;white-space:nowrap}.switch input{width:18px;height:18px;margin:0;cursor:pointer}.switch.on{border-color:var(--brand);background:#eef4fa;color:var(--brand);font-weight:600}.work-head{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--muted);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px;box-shadow:var(--shadow)}.work-head.ready{border-left-color:var(--ok)}.work-cell,.work-counter{display:flex;flex-direction:column;min-width:0}.work-cell{flex:1 1 200px}.work-counter{flex:0 1 auto}.work-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.work-value{font-size:26px;font-weight:700;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.work-counter .work-value{font-size:20px}.undo-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-top:18px;box-shadow:var(--shadow)}.undo-main{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.undo-text{flex:1 1 240px;display:flex;flex-direction:column;min-width:0}.undo-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.undo-desc{font-size:14.5px;overflow-wrap:anywhere}.undo-toggle{margin-top:10px}.undo-list{list-style:none;margin:10px 0 0;padding:0}.undo-list li{display:flex;gap:12px;align-items:baseline;justify-content:space-between;padding:7px 0;border-top:1px solid var(--border);font-size:13.5px}.icon{display:inline-block;vertical-align:-.15em;flex:none}button .icon{margin-right:6px}button.link .icon{margin-right:4px}.save-state .icon{margin-right:2px}.instruction{font-size:20px;font-weight:650;margin-bottom:10px;color:var(--text)}.instruction.small-instruction{font-size:16px}.screen-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;animation:flash-fade .55s ease-out forwards}.screen-flash.ok{box-shadow:inset 0 0 0 12px var(--ok)}.screen-flash.error{box-shadow:inset 0 0 0 12px var(--error)}@keyframes flash-fade{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.screen-flash{animation-duration:.01s}}.qty-stepper{max-width:340px}.qty-main{display:flex;gap:10px;align-items:stretch}.qty-btn{flex:0 0 62px;font-size:30px;font-weight:700;line-height:1;padding:0;background:#fff;color:var(--brand);border:1px solid var(--border)}.qty-btn:hover:not(:disabled){background:#eef4fa}.qty-field{flex:1 1 auto;text-align:center;font-size:30px;font-weight:700;padding:12px;-moz-appearance:textfield}.qty-field::-webkit-outer-spin-button,.qty-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-presets{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.qty-preset{flex:1 1 54px;padding:10px 4px;background:#fff;color:var(--text);border:1px solid var(--border);font-size:16px;font-weight:600}.qty-preset:hover:not(:disabled){background:#f5f7f9}.qty-preset.active{background:var(--brand);color:#fff;border-color:var(--brand)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;max-width:1000px}.tile{display:flex;flex-direction:column;gap:4px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:var(--text);min-height:130px}.tile:hover{border-color:var(--brand);box-shadow:0 4px 14px #1f4e7824}.tile.primary{border-left:4px solid var(--brand)}.tile-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:8px;border-radius:10px;background:#eef4fa;color:var(--brand)}.tile:hover .tile-icon{background:var(--brand);color:#fff}.tile-title{font-size:18px;font-weight:650}.tile-hint{font-size:13px;color:var(--muted)}.save-state{display:inline-flex;align-items:center;gap:4px;font-size:14px;padding:8px 0;white-space:nowrap}.save-state.saving{color:var(--muted)}.save-state.saved{color:var(--ok);font-weight:600}.save-state.error{color:var(--error);font-weight:600}.option-list{display:flex;flex-direction:column;gap:10px}.option{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 16px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:#fff;color:var(--text);font-size:15px}.option:hover:not(.disabled){border-color:var(--brand)}.option.selected{border-color:var(--brand);background:#eef4fa}.option.disabled{cursor:default;opacity:.75}.option input{width:20px;height:20px;margin:2px 0 0;flex:none}.option-body{display:flex;flex-direction:column;gap:3px}.option-title{font-weight:600}.option-hint{font-size:13px;color:var(--muted)}.settings-row{display:flex;gap:20px;flex-wrap:wrap}.settings-field{display:flex;flex-direction:column;gap:4px;flex:1 1 260px;min-width:0}.settings-field input{max-width:160px}.field-hint{font-size:13px;color:var(--muted);line-height:1.45}.roles-table th.role-col{text-align:center;min-width:120px;vertical-align:bottom}.roles-table td.perm-cell{text-align:center}.roles-table .group-row td{background:#f3f6f8;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 12px}.perm{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;margin:0;border-radius:6px;cursor:pointer}.perm:hover{background:#eef4fa}.perm input{width:18px;height:18px;margin:0;cursor:pointer}.perm.overridden{background:var(--warn-bg);box-shadow:inset 0 0 0 1px #f0e0b0}.perm.locked{cursor:not-allowed;opacity:.55}.perm.locked:hover{background:none}.roles-table tfoot td{border-top:2px solid var(--border);padding-top:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0814208c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}.modal{background:var(--surface);border-radius:14px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;border-top:5px solid var(--warn)}.modal-head{display:flex;gap:14px;padding:20px 22px 12px}.modal-head h2{margin:0 0 4px;font-size:18px}.modal-icon{flex:none;width:34px;height:34px;border-radius:50%;background:var(--warn-bg);color:var(--warn);font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center}.modal-body{padding:0 22px}.modal-actions{display:flex;gap:10px;padding:18px 22px 22px;justify-content:flex-end;flex-wrap:wrap}.mixed-block{border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:12px}.mixed-block.accent{border-color:var(--brand);background:#eef4fa}.mixed-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px}.mixed-item{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:5px 0}.mixed-item+.mixed-item{border-top:1px solid var(--border)}.mixed-qty{font-weight:700;white-space:nowrap}.cell-contents{margin-top:12px}.cell-contents .cell-item{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:13.5px;border-top:1px solid var(--border)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:16px;max-width:780px}.step{padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:13px;color:var(--muted);min-width:0}.step.active{border-color:var(--brand);background:#eef4fa;color:var(--brand);font-weight:600}.step.done{border-color:#bfe5cd;background:var(--ok-bg);color:var(--ok)}.step .step-value{display:block;font-size:15px;font-weight:650;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.layout{flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;height:var(--header-h);padding:0 14px;background:var(--brand);color:#fff;position:sticky;top:0;z-index:30}.topbar .burger{display:flex;align-items:center;justify-content:center;background:#ffffff24;border:none;color:#fff;padding:9px;border-radius:8px}.topbar .burger .icon{margin:0}.topbar .title{font-weight:700;font-size:17px}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100%;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:4px 0 24px #0000004d}.sidebar.open{transform:translate(0)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08142073;z-index:35}.content{padding:16px 14px 48px}.row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.row>.narrow{max-width:none}.card{padding:16px}.table-wrap{margin:0 -16px;padding:0 16px}.kv .k{flex:0 0 130px}}@media(max-width:560px){body{font-size:14.5px}.page-title{font-size:19px}.row,.steps{grid-template-columns:1fr}.stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.actions button,.actions .hint{flex:1 1 100%}.kv{flex-direction:column;gap:2px}.kv .k{flex:none}.page-head{flex-direction:column;gap:10px}.switch{width:100%;justify-content:center;padding:12px}.scan-input{font-size:24px;padding:16px;max-width:none}.work-value{font-size:30px}.qty-input{font-size:26px;padding:14px}.op-row .qty-block{flex:1 1 100%}button.big{width:100%;padding:16px}.work-head,.undo-main{flex-direction:column;align-items:stretch;gap:12px}.work-head button,.undo-main button{width:100%;padding:13px;font-size:16px}.undo-text{flex:none}.undo-list li{flex-direction:column;align-items:stretch;gap:4px}.modal{max-width:none}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}@media(max-width:420px){.content{padding:10px 10px 32px}.card{padding:14px;margin-bottom:12px}.page-head{flex-direction:row;align-items:center;gap:10px}.page-title{font-size:17px;margin:0}.page-hint{display:none}.switch{width:auto;flex:none;padding:7px 10px;font-size:12.5px}.switch input{width:16px;height:16px}.work-head{flex-direction:row;align-items:center;flex-wrap:wrap;padding:10px 12px;gap:10px;margin-bottom:12px}.work-cell{flex:1 1 auto}.work-value{font-size:24px}.work-counter{flex:none}.work-counter .work-value{font-size:15px}.work-counter .work-label{display:none}.work-head button{width:auto;flex:none;padding:8px 12px;font-size:13px}.instruction{font-size:17px;margin-bottom:8px}.scan-input{font-size:22px;padding:13px 14px}.alert{padding:10px 12px;margin-bottom:10px}.alert.big{font-size:15px;padding:12px}.undo-bar{padding:10px 12px;margin-top:12px}.qty-btn{flex:0 0 56px}}@media print{.sidebar,.topbar,.backdrop,.actions{display:none!important}.content{padding:0}.card{border:none;box-shadow:none;padding:0}}.excel-block{padding:0;overflow:hidden}.excel-head{display:flex;align-items:center;gap:10px;width:100%;padding:14px 20px;background:none;border:none;color:var(--text);font-size:15px;font-weight:600;text-align:left;cursor:pointer}.excel-head:hover:not(:disabled){background:#f7f9fa}.excel-head .excel-title{flex:1}.excel-head .excel-chevron{color:var(--muted);flex:none}.excel-head .icon{color:var(--brand);flex:none}.excel-body{padding:4px 20px 20px;border-top:1px solid var(--border)}.excel-body input[type=file]{max-width:420px}@media(max-width:900px){.excel-head{padding:12px 16px}.excel-body{padding:4px 16px 16px}}.queue-badge{display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--border);border-radius:10px;background:#fff;flex:none}.queue-num{font-size:30px;font-weight:700;line-height:1;color:var(--brand)}.queue-label{font-size:12px;color:var(--muted);line-height:1.3}.pick-progress{font-size:13px;color:var(--muted);margin-bottom:10px}.pick-target{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:14px;margin-bottom:18px}.pick-cell,.pick-item{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;min-width:0}.pick-cell{background:#eef4fa;border-color:var(--brand)}.pick-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.pick-code{font-size:38px;font-weight:700;line-height:1.05;color:var(--brand);letter-spacing:1px}.pick-name{font-size:18px;font-weight:650}.pick-qty{font-size:26px;font-weight:700}tr.line-done td{color:var(--muted);background:#fafbfc}tr.line-short td{background:#fff7ed}@media(max-width:700px){.pick-target{grid-template-columns:1fr}.pick-code{font-size:32px}.queue-badge{padding:8px 12px}.queue-num{font-size:24px}}.print-frame{position:absolute;width:0;height:0;border:0;visibility:hidden}.pack-card{background:#fff;border:2px solid var(--brand);border-radius:12px;padding:18px 20px;margin-bottom:16px}.pack-main{display:flex;gap:16px;align-items:center;margin-bottom:14px}.pack-photo{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border);flex:none}.pack-info{display:flex;flex-direction:column;gap:3px;min-width:0}.pack-name{font-size:22px;font-weight:700;line-height:1.2}.pack-order{font-size:13px;color:var(--muted)}.pack-where{display:flex;flex-wrap:wrap;gap:10px 28px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:14px}.pack-kv{display:flex;flex-direction:column;gap:2px;min-width:0}.pack-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pack-value{font-size:17px;font-weight:600}.no-flex-gap .pack-main>*{margin-right:16px}.no-flex-gap .pack-where>*{margin-right:28px}.no-flex-gap .pack-info>*{margin-bottom:3px}.no-flex-gap .pack-kv>*{margin-bottom:2px}@media(max-width:560px){.pack-name{font-size:19px}.pack-where{gap:10px 18px}.pack-value{font-size:16px}}.ship-totals{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.ship-total{flex:1 1 160px;min-width:0;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.ship-num{font-size:26px;font-weight:700;line-height:1.1}.ship-label{font-size:12px;color:var(--muted)}.ship-card.ready{border-left:4px solid var(--ok)}.ship-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}.ship-head h2{margin:0 0 2px}.ship-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#f1f3f5;color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}.ship-badge.ready{background:#e6f6ec;color:var(--ok)}tfoot td{border-top:2px solid var(--border);background:#fafbfc}.no-flex-gap .ship-totals>*{margin-right:12px}.no-flex-gap .ship-total>*{margin-bottom:2px}.no-flex-gap .ship-head>*{margin-right:16px}.no-flex-gap .ship-badge>*{margin-right:6px}@media(max-width:560px){.ship-num{font-size:22px}.ship-total{flex-basis:100%}}.help{border:1px solid var(--border);border-radius:10px;background:#fafbfc;margin-top:12px}.help>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;font-weight:600;font-size:14px;color:var(--brand);list-style:none}.help>summary::-webkit-details-marker{display:none}.help>summary::marker{content:""}.help>summary:hover{text-decoration:underline}.help-body{padding:0 14px 14px;font-size:14px;line-height:1.5}.help-body p{margin:0 0 10px}.help-steps{margin:0 0 10px;padding-left:20px}.help-steps li{margin-bottom:10px}.help-code{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin:6px 0}.help-code code{font-size:12px;word-break:break-all;flex:1 1 240px;min-width:0}.small-btn{padding:5px 10px;font-size:13px;white-space:nowrap}.no-flex-gap .help>summary>*{margin-right:8px}.no-flex-gap .help-code>*{margin-right:8px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pager-info{font-size:14px}.pager-buttons{display:flex;gap:8px;flex-wrap:wrap}.pager-buttons button{display:inline-flex;align-items:center;gap:4px}.pager-size{display:flex;align-items:center;gap:6px;margin:0}.pager-size select{width:auto;margin:0}.fresh{font-size:12px;color:var(--muted);white-space:nowrap}.no-flex-gap .pager>*{margin-right:12px}.no-flex-gap .pager-buttons>*{margin-right:8px}.no-flex-gap .pager-size>*{margin-right:6px}@media(max-width:560px){.pager{flex-direction:column;align-items:stretch}.pager-buttons button{flex:1 1 auto;justify-content:center}}.head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.no-flex-gap .head-actions>*{margin-right:10px}.badge-active{font-size:11px;font-weight:600;color:var(--ok);text-transform:uppercase;letter-spacing:.03em}.status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:#f1f3f5;color:var(--muted)}.status-new{background:#e7f1fb;color:#1a5fa8}.status-reserved{background:#fff4e0;color:#9a6300}.status-picked{background:#eef6ff;color:#1a5fa8}.status-packed{background:#e6f6ec;color:#16794a}.status-shortage{background:#fdecec;color:#b3261e}.status-cancelled{background:#eceff1;color:#666}.filters{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.filters label{display:flex;flex-direction:column;gap:4px;margin:0}.filters select{margin:0}.no-flex-gap .filters>*{margin-right:16px}.supply-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border)}.supply-row:last-child{border-bottom:0}.supply-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.supply-qty{font-size:18px;font-weight:700}.tiny-input{width:76px;padding:5px 8px;text-align:right}.no-flex-gap .supply-row>*{margin-right:16px}.no-flex-gap .supply-actions>*{margin-right:10px}.sync-state{display:flex;align-items:center;gap:10px;white-space:nowrap}.sync-num{font-size:26px;font-weight:700;color:var(--ok)}.sync-num.waiting{color:var(--brand)}.no-flex-gap .sync-state>*{margin-right:10px}.link.danger{color:var(--error)}button.danger{background:var(--error);border-color:var(--error)}button.danger:hover:not(:disabled){filter:brightness(1.08)}.status-supply{background:#eef4fa;color:var(--brand)}.status-shipped{background:#eef0f2;color:var(--muted)}.sticker-warn{color:var(--error);font-weight:600;font-size:13px}.help-warn{background:#fff7ed;border-left:3px solid var(--warn, #b45309);padding:8px 12px;border-radius:6px}
