:root{--bg:#f2f4f8;--bg-top:#f7f8fb;--panel:#fff;--panel-2:#f7f8fb;--panel-3:#eef1f6;--text:#151a25;--text-2:#475064;--muted:#7a8397;--line:#e5e8ef;--line-strong:#d3d8e2;--accent:#0a5cff;--accent-2:#3f7dff;--accent-hover:#004ee6;--accent-weak:#ebf1ff;--accent-soft:#d8e4ff;--accent-ring:#0a5cff3d;--ok:#0c8a4a;--ok-bg:#e5f6ec;--warn:#b05c00;--warn-bg:#fff2df;--danger:#d02c2c;--danger-bg:#fdecec;--wb:#a01ab8;--ozon:#005bff;--radius-sm:8px;--radius:12px;--radius-lg:18px;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182812, 0 1px 2px #1018280a;--shadow-md:0 10px 28px -8px #10182829, 0 2px 6px #1018280d;--shadow-lg:0 28px 70px -16px #10182852, 0 4px 12px #1018280f;--shadow-accent:0 8px 20px -8px #0a5cff8c;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.34, 1.4, .64, 1);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sidebar:260px;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475064' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0b0e14;--bg-top:#0e1219;--panel:#141821;--panel-2:#181d27;--panel-3:#1f2532;--text:#e8ebf2;--text-2:#b4bccb;--muted:#8a93a6;--line:#232a38;--line-strong:#323b4d;--accent:#4d8bff;--accent-2:#6aa0ff;--accent-hover:#6b9fff;--accent-weak:#16223d;--accent-soft:#1e3260;--accent-ring:#4d8bff52;--ok:#4fd08a;--ok-bg:#11301f;--warn:#f3b250;--warn-bg:#36280f;--danger:#ff7272;--danger-bg:#3a1618;--wb:#d36bea;--ozon:#5b93ff;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000073;--shadow-md:0 12px 30px -10px #0009, 0 2px 6px #0000004d;--shadow-lg:0 30px 80px -16px #000000bf;--shadow-accent:0 8px 22px -8px #4d8bff99;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4bccb' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(180deg, var(--bg-top), var(--bg) 320px) fixed, var(--bg);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}h1{letter-spacing:-.02em;margin:0;font-size:22px;line-height:1.2}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:12px;font-weight:650}h4{margin:0 0 8px;font-size:14px}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.icon{flex:none;display:block}.mono{font-family:var(--mono);letter-spacing:-.01em;font-size:12.5px}.muted{color:var(--muted)}.small{font-size:12px}.grow{flex:1}.danger{color:var(--danger)}.selectable{-webkit-user-select:all;user-select:all}ul.plain{margin:6px 0;padding-left:18px}kbd{font:11px var(--mono);background:#ffffff38;border-radius:5px;padding:1px 5px}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line-strong);background:var(--panel);width:100%;height:38px;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);border-radius:10px;padding:0 11px}select{appearance:none;background:var(--panel) var(--chevron) no-repeat right 12px center / 16px;text-overflow:ellipsis;cursor:pointer;padding-right:36px}select:disabled{cursor:default;opacity:.6}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:var(--text-2);font-size:12px;font-weight:600}.fields{flex-direction:column;gap:12px;display:flex}.fields-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.select-wrap{align-items:center;gap:8px;display:inline-flex}.select-wrap select{width:auto}.btn{border:1px solid var(--line-strong);background:var(--panel);height:36px;box-shadow:var(--shadow-xs);color:var(--text);cursor:pointer;white-space:nowrap;transition:background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .12s var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:560;text-decoration:none;display:inline-flex;position:relative}.btn .icon{color:var(--text-2)}.btn:hover:not(:disabled){background:var(--panel-2)}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.btn-primary{background:linear-gradient(180deg, var(--accent-2), var(--accent));color:#fff;box-shadow:var(--shadow-accent), inset 0 1px 0 #ffffff2e;border-color:#0000}.btn-primary .icon{color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg, var(--accent-2), var(--accent-hover))}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.btn-danger .icon{color:#fff}.btn-ghost{box-shadow:none;color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--panel-3)}.btn-ghost.danger,.btn-ghost.danger .icon{color:var(--danger)}.btn-icon{width:36px;padding:0}.btn-small{border-radius:8px;gap:6px;height:30px;padding:0 10px;font-size:12.5px}.btn-small.btn-icon{width:30px}.btn-lg{border-radius:12px;height:44px;padding:0 18px;font-size:15px}.btn-xl{border-radius:14px;height:56px;padding:0 22px;font-size:17px;font-weight:650}.btn-block{width:100%}.btn-badge{background:var(--panel-3);min-width:22px;height:20px;color:var(--text-2);border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:650;display:inline-grid}.btn-primary .btn-badge{color:#fff;background:#ffffff38}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}.btn-primary .spinner{border-color:#fff #ffffff59 #ffffff59}@keyframes spin{to{transform:rotate(360deg)}}.switch{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13px;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:var(--line-strong);width:34px;height:20px;transition:background .2s var(--ease);border-radius:999px;flex:none;position:relative}.switch-track:after{content:"";width:16px;height:16px;transition:transform .22s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:disabled+.switch-track{opacity:.5}.seg{background:var(--panel-3);border:1px solid var(--line);border-radius:11px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-weight:560;display:inline-flex}.seg button.is-active{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}.seg-small button{height:26px;font-size:12.5px}.seg-icons button span{font-size:12.5px}.stats{flex-wrap:wrap;gap:6px;display:flex}.stat{background:var(--panel-2);border:1px solid var(--line);height:28px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:inline-flex}.stat b{color:var(--text);font-variant-numeric:tabular-nums}.stat.is-ok{background:var(--ok-bg);color:var(--ok);border-color:#0000}.stat.is-warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.stat.is-danger{background:var(--danger-bg);color:var(--danger);border-color:#0000}.stat.is-accent{background:var(--accent-weak);color:var(--accent);border-color:#0000}.stat.is-ok b,.stat.is-warn b,.stat.is-danger b,.stat.is-accent b{color:inherit}.pill{background:var(--panel-3);height:20px;color:var(--text-2);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;margin-left:4px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.pill.is-ok{background:var(--ok-bg);color:var(--ok)}.pill.is-warn{background:var(--warn-bg);color:var(--warn)}.pill.is-danger{background:var(--danger-bg);color:var(--danger)}.pill.is-accent{background:var(--accent-weak);color:var(--accent)}.big-pill{height:32px;padding:0 14px;font-size:14px}.chip{background:var(--panel-3);border-radius:7px;margin:2px;padding:2px 8px;display:inline-flex}.code{font-family:var(--mono);background:var(--panel-3);border-radius:6px;padding:1px 6px;font-weight:650}.mp-badge{color:#fff;border-radius:6px;align-items:center;height:20px;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}.mp-badge.is-wb{background:var(--wb)}.mp-badge.is-ozon{background:var(--ozon)}.mp-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.mp-dot.is-wb{background:var(--wb)}.mp-dot.is-ozon{background:var(--ozon)}.progress{background:var(--panel-3);border-radius:999px;height:6px;overflow:hidden}.progress span{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--ok));height:100%;transition:width .4s var(--ease-out);display:block}.app{grid-template-columns:var(--sidebar) minmax(0, 1fr);height:100vh;grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid}.topbar{background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);z-index:20;grid-column:1/-1;align-items:center;gap:14px;padding:8px 16px;display:flex}.nav-toggle{display:none}.brand{color:var(--text);align-items:center;gap:10px;display:flex}.brand>span{flex-direction:column;line-height:1.15;display:flex}.logo-mark{filter:drop-shadow(0 4px 10px #0a5cff4d)}.brand-title{letter-spacing:-.01em;font-weight:750}.brand-sub{color:var(--muted);font-size:11.5px}.user-chip{align-items:center;gap:8px;display:flex}.user-text{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.user-text span{color:var(--muted);font-size:11.5px}.sidebar{background:color-mix(in srgb, var(--panel) 92%, transparent);border-right:1px solid var(--line);padding:10px;overflow-y:auto}.side-section{margin-top:10px}.side-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 10px 4px;font-size:11px;font-weight:650}.side-item{color:var(--text);transition:background .16s var(--ease);border-radius:10px;align-items:center;gap:10px;margin:1px 0;padding:7px 10px;display:flex;position:relative}.side-item:hover{background:var(--panel-3)}.side-item.active{background:var(--accent-weak);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent)}.side-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-10px}.side-ico{background:var(--panel-3);width:30px;height:30px;color:var(--text-2);border-radius:9px;place-items:center;display:grid}.side-item.active .side-ico{background:var(--panel);color:var(--accent)}.side-title{font-weight:560}.nav-scrim{display:none}.main{min-width:0;overflow-y:auto}.page{max-width:1100px;animation:rise-in .3s var(--ease-out);flex-direction:column;gap:14px;margin:0 auto;padding:22px 24px 90px;display:flex}.page-wide{max-width:1500px}.page-narrow{max-width:480px}.page-tsd{max-width:640px}@keyframes rise-in{0%{transform:translateY(6px)}}.page-head{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.page-head-text{flex:1;min-width:220px}.page-sub{color:var(--muted);margin-top:4px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.back-link{align-items:center;gap:2px;margin-bottom:4px;font-size:12.5px;display:inline-flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search{border:1px solid var(--line-strong);background:var(--panel);min-width:220px;max-width:420px;height:38px;color:var(--muted);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 11px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search input{box-shadow:none!important;background:0 0!important;border:0!important;height:36px!important;padding:0!important}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-xs);flex-direction:column;gap:10px;padding:14px;display:flex}.panel.is-warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.panel.is-ok{background:var(--ok-bg);color:var(--ok);border-color:#0000}.panel-head{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.alert{border-radius:var(--radius);align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.alert.is-error{background:var(--danger-bg);color:var(--danger);justify-content:space-between}.alert.is-warn{background:var(--warn-bg);color:var(--warn)}.alert.is-warn>div{color:var(--text)}.empty{text-align:center;color:var(--muted);padding:46px 16px}.empty-icon{width:56px;height:56px;color:var(--accent);background:var(--accent-weak);border-radius:16px;place-items:center;margin:0 auto 12px;display:grid}.empty-title{color:var(--text);font-size:16px;font-weight:650}.empty-sub{margin-top:4px}.loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.table{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-xs);overflow:hidden}.thead,.trow{grid-template-columns:minmax(0,2.4fr);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:center;gap:12px;padding:9px 14px;display:grid}.thead{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--panel-2);border-bottom:1px solid var(--line);font-size:11.5px;font-weight:650}.trow+.trow,.trow-wrap+.trow-wrap{border-top:1px solid var(--line)}.trow.is-clickable{cursor:pointer}.trow.is-clickable:hover{background:var(--panel-2)}.trow.is-muted{opacity:.55}.trow-detail{background:var(--panel-2);padding:4px 14px 12px}.t-right{text-align:right}.t-center{text-align:center}.users-table .thead,.users-table .trow{grid-template-columns:minmax(0,1.5fr) minmax(215px,1fr) 120px 130px 234px;grid-template-areas:"user role login access actions";grid-auto-flow:row}.users-table .u-user{flex-direction:column;grid-area:user;gap:3px;min-width:0;display:flex}.users-table .u-user>b{overflow-wrap:anywhere}.users-table .u-role{grid-area:role;min-width:0}.users-table .u-role select{width:100%}.users-table .u-login{grid-area:login}.users-table .u-label{display:none}.users-table .u-access{grid-area:access}.users-table .u-actions{grid-area:actions;justify-content:flex-end;align-items:center;gap:6px;display:flex}.btn-icon-gap{flex:none;width:30px}.user-meta{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}@media (max-width:1280px){.users-table .thead{display:none}.users-table .trow{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 234px;grid-template-areas:"user user actions""role login access";row-gap:8px}.users-table .u-label{display:inline}}@media (max-width:600px){.users-table .trow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"user user""role role""login access""actions actions"}.users-table .u-actions{justify-content:flex-start}.users-table .btn-icon-gap{display:none}}.t-actions{justify-content:flex-end;gap:6px;display:flex}.details{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product{align-items:center;gap:11px;min-width:0;display:flex}.product-photo{object-fit:cover;background:var(--panel-3);border-radius:9px;flex:none;width:48px;height:64px}.product-photo.is-empty{color:var(--muted);place-items:center;display:grid}button.is-zoomable{cursor:zoom-in;transition:transform .2s var(--ease-out);border:0;padding:0;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}button.is-zoomable:hover{transform:scale(1.05)}button.is-zoomable img{object-fit:cover;width:100%;height:100%;display:block}.zoom-bg{cursor:zoom-out;background:#06080cc7}.zoom{max-width:100%;animation:pop-in .25s var(--ease-out);flex-direction:column;align-items:center;gap:12px;margin:auto;display:flex}.zoom img{aspect-ratio:3/4;object-fit:contain;background:#fff 50%/contain no-repeat;border-radius:14px;max-width:92vw;height:min(78vh,900px);box-shadow:0 30px 80px #00000080}.zoom figcaption{color:#fff;text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;max-width:92vw;display:flex}.zoom figcaption span{opacity:.75;font-size:13px}.product.is-compact .product-photo{border-radius:7px;width:34px;height:44px}.product-text{min-width:0}.product-article{letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:700}.product-name{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.product-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.product-meta .pill{margin:0}.scan-input{border:1.5px solid var(--accent);background:var(--panel);box-shadow:0 0 0 4px var(--accent-ring);color:var(--accent);border-radius:14px;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.scan-input input{font-family:var(--mono);text-transform:uppercase;font-size:15px;box-shadow:none!important;background:0 0!important;border:0!important;padding:0 4px!important}.scan-input.is-big input{font-size:18px;height:46px!important}.scan-input.is-big .btn-primary{height:46px;padding:0 20px}.camera{border-radius:var(--radius);background:#000;width:100%}.badge-preview{width:min(100%,360px);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;margin:0 auto;display:block}.scan-block{flex-direction:column;gap:8px;display:flex}.btn.is-on{background:var(--accent-weak);color:var(--accent)}.camera-frame{border-radius:var(--radius);background:#000;position:relative;overflow:hidden}.camera-frame .camera{object-fit:cover;width:100%;max-height:60dvh;display:block}.camera-aim{pointer-events:none;border:3px solid #ffffffd9;border-radius:14px;position:absolute;inset:22% 12%;box-shadow:0 0 0 100vmax #00000040}.device-options{flex-direction:column;gap:10px;display:flex}.device-option{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);text-align:left;cursor:pointer;font:inherit;align-items:center;gap:12px;padding:14px;display:flex}.device-option.is-suggested{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.auth-links{flex-direction:column;align-items:center;gap:4px;display:flex}button.link{color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-weight:560}button.link:hover{text-decoration:underline}button.link.muted{color:var(--muted);font-weight:500}.modal-bg{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s var(--ease-out);background:#0a0e1673;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);background:var(--panel);width:min(520px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);animation:pop-in .22s var(--ease-out);flex-direction:column;display:flex}.modal.is-wide{width:min(860px,100%)}.modal-head{align-items:center;gap:10px;padding:14px 14px 6px 20px;display:flex}.modal-title{flex:1;font-size:17px;font-weight:700}.modal-body{flex-direction:column;gap:12px;padding:6px 20px 16px;display:flex;overflow-y:auto}.modal-body p{margin:0}.modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px 18px;display:flex}@keyframes fade-in{0%{background:0 0}}@keyframes pop-in{0%{transform:translateY(8px)scale(.98)}}.toasts{z-index:200;flex-direction:column;gap:8px;width:min(520px,100% - 24px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{color:#fff;text-align:left;box-shadow:var(--shadow-md);cursor:pointer;animation:pop-in .22s var(--ease-out);background:#151a25;border:0;border-radius:12px;padding:12px 16px;font-weight:560}.toast.is-error{background:var(--danger)}.toast.is-warn{background:#b05c00}.toast.is-ok{background:#0c7a42}.auth-screen{place-items:center;min-height:100%;padding:24px 16px;display:grid;position:relative}.auth-theme{position:absolute;top:12px;right:12px}.auth-card{border-radius:var(--radius-lg);background:var(--panel);width:min(380px,100%);box-shadow:var(--shadow-md);animation:rise-in .4s var(--ease-out);flex-direction:column;gap:14px;margin:0 auto;padding:28px 24px;display:flex}.auth-card h1{font-size:22px}.auth-card p{margin:-6px 0 0}.home-section{margin-top:6px}.tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-xs);color:var(--text);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);align-items:center;gap:12px;padding:14px;display:flex}.tile:hover{box-shadow:var(--shadow-md);border-color:var(--accent-soft);transform:translateY(-2px)}.tile-icon{background:var(--accent-weak);width:42px;height:42px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.tile-text{flex-direction:column;display:flex}.tile-text span{color:var(--muted);font-size:12.5px}.card-list{flex-direction:column;gap:8px;display:flex}.line-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px;display:flex}.line-card>.product{flex:260px}.line-card.is-highlight{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);animation:flash .6s var(--ease-out)}.line-card.is-compact{box-shadow:none;flex-wrap:nowrap;justify-content:space-between;padding:8px 10px}.line-card.is-compact>.product{flex:auto}@keyframes flash{0%{background:var(--accent-weak)}}.line-qty{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.line-qty-field{color:var(--muted);flex-direction:column;gap:3px;font-size:11.5px;display:flex}.times{color:var(--muted);padding-bottom:8px;font-weight:700}.line-total{flex-direction:column;align-items:flex-end;min-width:60px;line-height:1.15;display:flex}.line-total b{font-variant-numeric:tabular-nums;font-size:20px}.line-total span{color:var(--muted);font-size:11.5px}.stepper{border:1px solid var(--line-strong);background:var(--panel);border-radius:10px;align-items:center;display:inline-flex;overflow:hidden}.stepper .btn{box-shadow:none;border:0;border-radius:0;font-size:18px}.stepper-value{border:0;border-inline:1px solid var(--line);background:var(--panel-2);min-width:64px;height:36px;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;padding:0 8px;font-size:17px;font-weight:700}.stepper input{text-align:center;font-variant-numeric:tabular-nums;font-weight:650;width:64px!important;box-shadow:none!important;border:0!important;border-radius:0!important}.sticky-bar{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:var(--shadow-md);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex;position:sticky;bottom:12px}.sticky-totals{color:var(--muted);flex:1;gap:14px;display:flex}.sticky-totals b{color:var(--text);font-size:16px}.steps{counter-reset:step;gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{background:var(--panel-3);color:var(--muted);counter-increment:step;border-radius:10px;flex:1;padding:7px 10px;font-size:13px;font-weight:600}.steps li:before{content:counter(step) ". "}.steps li.is-current{background:var(--accent);color:#fff}.steps li.is-done{background:var(--ok-bg);color:var(--ok)}.hint-box{font-size:13px}.big-target{border-radius:var(--radius-lg);background:var(--panel);border:2px solid var(--accent-soft);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:22px 16px;display:flex}.big-target.is-ok{border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:var(--ok-bg);color:var(--ok)}.big-target.is-ok>div:not(.alert){color:var(--text)}.big-code{font-family:var(--mono);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;font-size:34px;font-weight:800}.big-target .btn-xl{min-width:260px}.tsd-head{align-items:center;gap:8px;display:flex}.tsd-title{flex-direction:column;flex:1;min-width:0;display:flex}.tsd-title b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tsd-map{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.take{justify-content:space-between;align-items:center;gap:10px;font-size:16px;display:flex}.take-qty{font-size:30px}.tsd-actions{align-items:center;gap:8px;display:flex}.tsd-actions .btn-icon{width:56px;height:56px}.warehouse{flex-direction:column;gap:10px;display:flex}.warehouse-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.warehouse-body{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:12px;display:grid}.layout-frame{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);padding:10px;overflow:auto}.layout-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.layout-wall{fill:var(--text-2);opacity:.75}.layout-wall.is-selected{stroke:var(--accent);stroke-width:3px}.layout-wall.is-preview{fill:var(--accent);opacity:.3}.bay-box{fill:var(--panel-3);stroke:var(--line-strong);stroke-width:1px}.layout-rack.is-selected .bay-box{stroke:var(--accent);stroke-width:2.5px;fill:var(--accent-weak)}.layout-bay{cursor:inherit}.layout-bay.is-stop .bay-box{fill:var(--accent);stroke:var(--accent)}.layout-bay.is-stop .bay-text{fill:#fff;font-weight:800}.layout-bay.is-active .bay-box{fill:var(--warn);stroke:var(--warn)}.bay-text{font:600 9.5px var(--font);fill:var(--text-2);text-anchor:middle;pointer-events:none}.rack-label{font:800 13px var(--font);fill:var(--accent);pointer-events:none}.layout-start rect{fill:var(--ok)}.layout-start text{font:800 9px var(--font);fill:#fff;text-anchor:middle;pointer-events:none}.warehouse-side{flex-direction:column;gap:10px;display:flex}.rack-list{flex-direction:column;gap:4px;display:flex}.rack-row{align-items:center;gap:8px;display:flex}.bay-levels{flex-direction:column;gap:8px;display:flex}.bay-level{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.bay-level-head{justify-content:space-between;display:flex}.accounts-bar{flex-wrap:wrap;gap:8px;display:flex}.shipment-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.shipment-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-xs);color:var(--text);transition:transform .18s var(--ease), box-shadow .18s var(--ease);flex-direction:column;gap:10px;padding:14px;display:flex}.shipment-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.shipment-top{align-items:center;gap:8px;display:flex}.shipment-title{font-size:16px;font-weight:700}.print-main{flex-direction:column;gap:10px;min-width:0;display:flex}.scanner-bar{border-radius:var(--radius);background:var(--accent-weak);color:var(--accent);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px;display:flex}.scanner-text{min-width:0;color:var(--text);flex:260px;font-weight:560}.scanner-bar .switch{color:var(--text)}.scanner-max{color:var(--text-2);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.scanner-max.is-off{opacity:.45;pointer-events:none}.scan-banner{border-radius:var(--radius);background:var(--accent-weak);color:var(--accent);align-items:center;gap:10px;padding:10px 14px;font-weight:560;display:flex}.scan-banner span{color:var(--text-2)}.groups{flex-direction:column;gap:8px;display:flex}.group-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-xs)}.group-card.is-done{border-color:color-mix(in srgb, var(--ok) 35%, var(--line))}.group-head{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.group-head>.product{flex:220px}.group-stats{flex-wrap:wrap;gap:6px;display:flex}.group-actions{gap:6px;display:flex}.order-rows{border-top:1px solid var(--line);padding:4px 12px 10px}.order-row{border-bottom:1px dashed var(--line);grid-template-columns:150px 140px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 0;display:grid}.order-row:last-child{border-bottom:0}.marks{gap:4px;display:flex}.mark{background:var(--panel-3);width:22px;height:22px;color:var(--muted);border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:grid}.mark.is-on{background:var(--ok-bg);color:var(--ok)}.order-actions{gap:4px;display:flex}.feed{z-index:40;width:min(380px,100vw - 24px);position:fixed;bottom:18px;right:18px}.feed-card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);box-shadow:var(--shadow-md);animation:pop-in .22s var(--ease-out);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.feed-card.is-done{border-left-color:var(--ok)}.feed-card.is-done .feed-top>.icon{color:var(--ok)}.feed-card.is-error{border-left-color:var(--danger)}.feed-card.is-error .feed-top>.icon{color:var(--danger)}.feed-top{align-items:center;gap:8px;display:flex}.feed-body{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:10px;padding:0;display:flex}.feed-photo{object-fit:cover;background:var(--panel-3);border-radius:8px;flex:none;width:54px;height:72px}.feed-text{flex-direction:column;gap:3px;min-width:0;display:flex}.feed-text>b,.feed-text>.muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feed-chips{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.scan-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.scan-card{border-radius:var(--radius);background:var(--panel-2);border:1px solid var(--line);flex-direction:column;gap:8px;padding:12px;display:flex}.scan-card p{margin:0}.scan-actions{flex-wrap:wrap;gap:6px;display:flex}.check-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.picks-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.picks-map{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);padding:10px;position:sticky;top:0}.legend{color:var(--text-2);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12.5px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-item i{border-top:3px solid var(--accent);width:22px;height:0}.legend-item.is-upper i{border-top:3px dashed var(--warn)}.picks-list{flex-direction:column;gap:8px;display:flex}.step-block{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--panel);padding:10px 12px}.step-block.is-upper{border-left-color:var(--warn)}.step-block.is-other{border-left-color:var(--muted)}.step-block.is-shortage{border-left-color:var(--danger);background:var(--danger-bg)}.step-block.is-done{opacity:.55}.step-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.step-num{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.step-block.is-upper .step-num{background:var(--warn)}.step-block.is-shortage .step-num{background:var(--danger)}.pick-row{grid-template-columns:90px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:5px 0;display:grid}.pick-row .cell{font-weight:700}.pick-qty{font-variant-numeric:tabular-nums;color:var(--muted)}.pick-qty b{color:var(--text)}.matrix{overflow:auto}.matrix table{border-collapse:collapse;width:100%;font-size:12.5px}.matrix th,.matrix td{border-bottom:1px solid var(--line);text-align:left;padding:6px 8px}.matrix th{color:var(--muted);font-size:11.5px}.matrix td.t-center{text-align:center;color:var(--ok);font-weight:800}ol.howto{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.scan-hero{border-radius:var(--radius-lg);background:var(--panel);border:1.5px solid color-mix(in srgb, var(--ok) 45%, var(--line));box-shadow:var(--shadow-md);animation:hero-in .42s var(--spring);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid;position:relative;overflow:hidden}.scan-hero.is-duplicate{border-color:color-mix(in srgb, var(--warn) 55%, var(--line))}@keyframes hero-in{0%{transform:translateY(10px)scale(.94)}}.scan-hero-photo{background:var(--panel-3);width:108px;height:144px;animation:hero-photo .5s var(--spring);border-radius:14px}.scan-hero-photo.is-empty{color:var(--muted);place-items:center;display:grid}@keyframes hero-photo{0%{transform:scale(.82)rotate(-3deg)}}.scan-hero-text{flex-direction:column;gap:4px;min-width:0;display:flex}.scan-hero-state{background:var(--ok-bg);width:-moz-fit-content;width:fit-content;color:var(--ok);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 7px;font-size:12.5px;font-weight:700;display:inline-flex}.is-duplicate .scan-hero-state{background:var(--warn-bg);color:var(--warn)}.scan-hero-article{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:22px;line-height:1.15}.scan-hero-name{color:var(--text-2);overflow-wrap:anywhere}.scan-hero-wait{color:var(--warn);animation:hero-shake .35s var(--ease);font-size:12.5px;font-weight:650}@keyframes hero-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.scan-hero-timer{background:var(--ok);transform-origin:0;width:100%;height:4px;animation:linear hero-timer;position:absolute;bottom:0;left:0;transform:scaleX(0)}.is-duplicate .scan-hero-timer{background:var(--warn)}@keyframes hero-timer{0%{transform:scaleX(1)}}.pad-fields{gap:8px;margin-top:10px;display:grid}.pad-fields.is-multi{grid-template-columns:1fr 1fr}.pad-field{border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.pad-field.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background:var(--panel)}.pad-label{color:var(--muted);font-size:12px;font-weight:600}.pad-value{font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1.1}.pad-field.is-fresh .pad-value{color:var(--accent)}.pad-value small{color:var(--muted);margin-left:4px;font-size:14px;font-weight:600}.pad-hint{margin:6px 0 0}.pad-footer{margin-top:6px;font-size:15px}.pad-keys{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.pad-key{border:1px solid var(--line-strong);background:var(--panel);height:58px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:14px;font-size:24px;font-weight:700}.pad-key:active{background:var(--accent-weak)}.pad-key.is-muted{color:var(--text-2)}.pad-key.is-ok{background:var(--accent);border-color:var(--accent);color:#fff;font-size:17px}.pad-key:disabled{opacity:.45;cursor:default}@media (max-width:1100px){.picks-layout,.warehouse-body{grid-template-columns:minmax(0,1fr)}.picks-map{position:static}}@media (max-width:900px){input,select,textarea{font-size:max(16px,1em)}.app{grid-template-columns:minmax(0,1fr)}.nav-toggle{display:inline-flex}.sidebar{z-index:50;width:min(300px,86vw);transition:transform .25s var(--ease-out);box-shadow:var(--shadow-lg);padding-top:64px;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nav-open .sidebar{transform:none}.nav-open .nav-scrim{z-index:40;background:#0a0e1659;display:block;position:fixed;inset:0}.topbar{z-index:60}.brand-sub,.user-text span{display:none}}@media (max-width:600px){body{font-size:15px}.page{gap:12px;padding:12px 10px 90px}h1{font-size:19px}.page-sub{font-size:13px}.btn{height:42px}.btn-small{height:34px}.btn-icon{width:42px}.topbar{gap:8px;padding:6px 8px}.user-text,.thead{display:none}.trow{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:4px}.t-right{text-align:left}.t-actions{justify-content:flex-start}.order-row,.pick-row{grid-template-columns:minmax(0,1fr) auto}.scan-cards,.tiles{grid-template-columns:minmax(0,1fr)}.big-code{font-size:30px}.big-target .btn-xl{width:100%;min-width:0}.sticky-bar .btn-lg{width:100%}.search{max-width:none}.modal-bg{place-items:end stretch;padding:0}.modal-bg.zoom-bg{place-items:center;padding:12px}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92dvh}}:root[data-device=tsd]{--shadow-xs:none;--shadow-sm:none;--shadow-md:0 0 0 1px var(--line-strong);--shadow-lg:0 0 0 1px var(--line-strong);--shadow-accent:none}:root[data-device=tsd] body{background:var(--bg);overscroll-behavior:none;touch-action:manipulation;-webkit-touch-callout:none}:root[data-device=tsd] *,:root[data-device=tsd] :before,:root[data-device=tsd] :after{scroll-behavior:auto!important;transition:none!important;animation-duration:0s!important;animation-delay:0s!important}:root[data-device=tsd] .topbar,:root[data-device=tsd] .modal-bg,:root[data-device=tsd] .sticky-bar{-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-device=tsd] .modal-bg{background:#0a0e168c}:root[data-device=tsd] .topbar,:root[data-device=tsd] .sticky-bar{background:var(--panel)}:root[data-device=tsd] .btn:hover,:root[data-device=tsd] .tile:hover,:root[data-device=tsd] .shipment-card:hover,:root[data-device=tsd] button.is-zoomable:hover{transform:none}:root[data-device=tsd] .btn{min-height:44px}:root[data-device=tsd] .btn-small{min-height:38px}:root[data-device=tsd] .btn-icon{min-width:44px}:root[data-device=tsd] input:not([type=checkbox],[type=radio]),:root[data-device=tsd] select{min-height:44px}:root[data-device=tsd] .brand-sub{display:none}:root[data-device=tsd] .tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}:root[data-device=tsd] .tile{flex-direction:column;align-items:flex-start;gap:8px;min-height:96px;padding:12px}:root[data-device=tsd] .tile-text b{font-size:15px;line-height:1.25}:root[data-device=tsd] .tile-text span{display:none}:root[data-device=tsd] .home-section h2{margin-bottom:6px}:root[data-device=tsd] .scan-hero,:root[data-device=tsd] .scan-hero-photo{animation-duration:.35s!important}:root[data-device=tsd] .scan-hero-timer{animation-duration:1.5s!important}
