@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2)format("woff2"),url(/assets/golos-text-cyrillic-400-normal-BwL4n7Pb.woff)format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/golos-text-cyrillic-500-normal-BSLQUuP1.woff2)format("woff2"),url(/assets/golos-text-cyrillic-500-normal-hXinzVVQ.woff)format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-cyrillic-600-normal-lpQ9rVRR.woff2)format("woff2"),url(/assets/golos-text-cyrillic-600-normal-BgvEFMNR.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}:root{--p-white:#fff;--p-canvas:#f3f5f5;--p-soft:#f8fafa;--p-muted-bg:#edf1f0;--p-line:#e2e7e7;--p-control:#a8b1af;--p-muted:#687272;--p-secondary:#45504f;--p-text:#17201f;--p-graphite:#20221f;--p-graphite-hover:#292c28;--p-brand:#00bfc8;--p-brand-hover:#00a2ab;--p-brand-active:#007f86;--p-brand-soft:#e4f8f9;--p-brand-line:#a9e6e9;--p-red:#a82a21;--p-red-bg:#fef1ef;--p-red-line:#f7cdc6;--p-amber:#7a4a00;--p-amber-bg:#fff6e0;--p-amber-line:#f4dc9c;--p-green:#237a52;--p-green-bg:#e9f6ef;--color-bg-canvas:var(--p-canvas);--color-bg-surface:var(--p-white);--color-bg-subtle:var(--p-soft);--color-bg-muted:var(--p-muted-bg);--color-bg-hover:var(--p-muted-bg);--color-bg-selected:var(--p-brand-soft);--color-bg-inverse:var(--p-graphite);--color-bg-scrim:#17201f5c;--color-inverse-hover:#ffffff1a;--color-text-primary:var(--p-text);--color-text-secondary:var(--p-secondary);--color-text-muted:var(--p-muted);--color-text-disabled:#aab2b0;--color-text-inverse:var(--p-white);--color-text-accent:#006d74;--color-border-subtle:var(--p-line);--color-border-default:var(--p-line);--color-border-control:var(--p-control);--color-border-selected:var(--p-brand-line);--color-focus-ring:#087f87;--color-action-primary:var(--p-brand);--color-action-primary-hover:var(--p-brand-hover);--color-action-primary-active:var(--p-brand-active);--color-action-disabled-bg:var(--p-muted-bg);--color-action-disabled-text:#9aa3a1;--color-accent:var(--p-brand);--color-accent-hover:var(--p-brand-hover);--color-accent-soft:var(--p-brand-soft);--color-accent-soft-2:#c9f0f2;--color-accent-veil:#00bfc81a;--color-status-block-fg:var(--p-red);--color-status-block-bg:var(--p-red-bg);--color-status-block-line:var(--p-red-line);--color-status-warn-fg:var(--p-amber);--color-status-warn-bg:var(--p-amber-bg);--color-status-warn-line:var(--p-amber-line);--color-status-info-fg:var(--p-secondary);--color-status-info-bg:var(--p-muted-bg);--color-status-info-line:var(--p-line);--color-status-ok-fg:var(--p-green);--color-manual-fg:#006d74;--color-manual-bg:var(--p-brand-soft);--font-sans:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Consolas,monospace;--fs-total:40px;--lh-total:44px;--fs-h1:26px;--lh-h1:32px;--fs-h2:17px;--lh-h2:22px;--fs-body:14px;--lh-body:20px;--fs-table:13px;--lh-table:18px;--fs-caption:12px;--lh-caption:16px;--fs-data:11px;--lh-data:15px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--size-control-sm:34px;--size-control-md:40px;--size-control-touch:44px;--size-row:48px;--size-topbar:64px;--size-drawer:390px;--size-sidebar:224px;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:999px;--shadow-xs:0 1px 2px #17201f0f;--shadow-sm:0 2px 8px #17201f14;--shadow-popover:0 14px 36px #17201f29;--shadow-sheet:0 -16px 42px #17201f29;--z-sticky:10;--z-drawer:40;--z-modal:50;--z-toast:60;--dur-fast:.14s;--ease-out:cubic-bezier(.2,.8,.2,1)}@media (width<=1100px){:root{--size-sidebar:76px}}@media (width<=899px){:root{--fs-total:28px;--lh-total:32px}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s}}*{box-sizing:border-box}body{background:var(--color-bg-canvas);color:var(--color-text-primary);font:400 var(--fs-body)/var(--lh-body) var(--font-sans);font-variant-numeric:tabular-nums;margin:0}h1{font-size:var(--fs-h1);line-height:var(--lh-h1);margin:0;font-weight:600}.mono{font-family:var(--font-mono);font-size:var(--fs-data);line-height:var(--lh-data)}.ag-cell.mono{justify-content:center;align-items:center;display:flex}.grid-wrap .ag-cell{text-align:center}.grid-wrap .ag-header-cell-label{justify-content:center}.grid-wrap .product{text-align:center;align-items:center}.grid-wrap .product-name,.grid-wrap .product .mono{max-width:100%}.ag-header-cell-text{word-break:normal;overflow-wrap:normal}.muted{color:var(--color-text-muted)}.app{max-width:1600px;padding:var(--space-4);gap:var(--space-3);flex-direction:column;height:100vh;margin:0 auto;display:flex}.topbar{align-items:center;gap:var(--space-3);min-height:var(--size-topbar);display:flex}.topbar .sources{gap:var(--space-2);font-size:var(--fs-caption);flex-wrap:wrap;flex:1;display:flex}.source{padding:2px var(--space-2);border-radius:var(--radius-xs);background:var(--color-status-info-bg);color:var(--color-status-info-fg)}.source-warn{background:var(--color-status-warn-bg);color:var(--color-status-warn-fg)}.btn{height:var(--size-control-md);padding:0 var(--space-4);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border-control);background:var(--color-bg-surface);color:var(--color-text-primary);font:500 var(--fs-body)/1 var(--font-sans);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out);flex-shrink:0}.btn:hover:not(:disabled){background:var(--color-bg-hover)}.btn.primary{background:var(--color-action-primary);color:var(--color-text-inverse);border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--color-action-primary-hover)}.btn.primary:active:not(:disabled){background:var(--color-action-primary-active)}.btn:disabled{background:var(--color-action-disabled-bg);color:var(--color-action-disabled-text);cursor:default;border-color:#0000}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.icon{width:20px;height:20px;display:block}.toolbar{gap:var(--space-2);flex-direction:column;display:flex}input[type=search],.login input,.barcode-form input{height:var(--size-control-md);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-control);background:var(--color-bg-surface);font:inherit;max-width:480px}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{height:var(--size-control-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border-default);background:var(--color-bg-surface);color:var(--color-text-secondary);font:500 var(--fs-caption)/1 var(--font-sans);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out);flex-shrink:0}.chip:hover{background:var(--color-bg-hover)}.chip-on{background:var(--color-accent-soft);border-color:var(--color-border-selected);color:var(--color-text-accent)}.chip-count{margin-left:var(--space-1);opacity:.8}.grid-wrap{flex:1;min-height:240px}.footer{font-size:var(--fs-caption);margin:0}.empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.product{flex-direction:column;flex:1;justify-content:center;min-width:0;height:100%;line-height:1.3;display:flex}.product .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.num{font-variant-numeric:tabular-nums}.qty{font-weight:600;font-size:var(--fs-body)}.grid-editable .qty{cursor:text}.grid-editable .qty:not(.ag-cell-inline-editing):after{content:"";left:var(--space-3);right:var(--space-3);bottom:var(--space-2);border-bottom:1px solid var(--color-border-control);pointer-events:none;position:absolute}.grid-editable .qty:hover:after,.grid-editable .qty.ag-cell-focus:after{border-bottom-color:var(--color-focus-ring)}.qty-manual{color:var(--color-manual-fg);background:var(--color-manual-bg)}.status-cell{align-items:center;gap:var(--space-2);max-width:100%;display:inline-flex}.status-cell .pill{min-width:0}.pill{max-width:200px;height:22px;padding:0 var(--space-2);border-radius:var(--radius-xs);text-overflow:ellipsis;white-space:nowrap;border:1px solid;font-size:12.5px;font-weight:500;line-height:20px;display:inline-block;overflow:hidden}.pill-block{background:var(--color-status-block-bg);border-color:var(--color-status-block-line);color:var(--color-status-block-fg)}.pill-warn{background:var(--color-status-warn-bg);border-color:var(--color-status-warn-line);color:var(--color-status-warn-fg)}.pill-manual{background:var(--color-manual-bg);border-color:var(--color-border-selected);color:var(--color-manual-fg)}.pill-info{background:var(--color-status-info-bg);border-color:var(--color-status-info-line);color:var(--color-status-info-fg)}.pill-ok{color:var(--color-status-ok-fg);border-color:#0000;padding:0;font-weight:400}.banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-caption);border:1px solid;margin:0}.banner.error{background:var(--color-status-block-bg);border-color:var(--color-status-block-line);color:var(--color-status-block-fg)}.banner.warn{background:var(--color-status-warn-bg);border-color:var(--color-status-warn-line);color:var(--color-status-warn-fg)}p.error{color:var(--color-status-block-fg);margin:0}.login{gap:var(--space-3);flex-direction:column;max-width:320px;margin:20vh auto 0;display:flex}.workspace{gap:var(--space-3);flex:1;min-height:240px;display:flex}.workspace .grid-wrap{flex:1;min-width:0}.panel{width:var(--size-drawer);padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);gap:var(--space-4);border-radius:12px;flex-direction:column;flex:none;display:flex;overflow-y:auto}.panel h2{font-size:var(--fs-h2);line-height:var(--lh-h2);margin:0;font-weight:600}.panel h3{margin:0 0 var(--space-2);font-size:var(--fs-body);font-weight:600}.panel section{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3)}.panel p{margin:var(--space-1) 0}.panel-head{justify-content:space-between;gap:var(--space-3);display:flex}.steps,.alarms,.plain{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step-head{font-size:var(--fs-caption);justify-content:space-between;display:flex}.step-value{font-size:var(--fs-body);font-weight:600}.kv{gap:var(--space-1) var(--space-3);grid-template-columns:1fr auto;margin:0;display:grid}.kv dt{color:var(--color-text-muted)}.kv dd{text-align:right;margin:0}@media (width<=899px){.panel{width:auto;max-height:70vh;z-index:var(--z-drawer);box-shadow:var(--shadow-sheet);position:fixed;inset:auto 0 0}}.product-line{align-items:center;gap:var(--space-2);height:100%;display:flex}.ag-cell.product-cell,.ag-header-cell[col-id=product]{padding-inline:var(--space-2)}.chevron{width:40px;color:var(--color-text-accent);cursor:pointer;border-radius:var(--radius-sm);height:32px;font:inherit;vertical-align:middle;background:0 0;border:0;justify-content:center;align-items:center;gap:2px;display:inline-flex}.chevron .icon{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out)}.chevron[aria-expanded=true] .icon{transform:rotate(90deg)}.chevron:hover{background:var(--color-bg-hover)}.tag{margin-left:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:12px;display:inline-block}.tag-on{background:var(--color-accent-soft);color:var(--color-text-accent)}.tag-warn{background:var(--color-bg-subtle);color:var(--color-text-primary);border:1px solid var(--color-border-control)}.member-row{align-content:start;align-items:start;gap:var(--space-2) var(--space-6);height:100%;padding:var(--space-3) var(--space-6);background:var(--color-bg-subtle);font:400 var(--fs-caption)/20px var(--font-sans);text-align:left;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) minmax(300px,1fr);display:grid}.member-hit{background:var(--color-accent-soft)}.member-main,.member-barcodes{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.member-label{color:var(--color-text-muted);font-size:var(--fs-caption)}.member-article{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.member-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.member-tags .tag{margin:0}.member-row .barcode{overflow-wrap:anywhere}.member-row .ship{font:500 var(--fs-caption)/20px var(--font-sans)}.member-nums{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.member-nums dt{color:var(--color-text-muted);font-size:var(--fs-caption)}.member-nums dd{font-size:var(--fs-body);margin:0;font-weight:500}.member-note{font-size:var(--fs-caption);color:var(--color-text-muted);line-height:16px;display:block}.member-missing{color:var(--color-text-muted);grid-column:1/-1;margin:0}.barcode{display:block}.ship{color:var(--color-text-accent);font-weight:600}.expand-all{gap:var(--space-2);display:flex}.panel h4{margin:var(--space-3) 0 var(--space-1);font-size:var(--fs-body);font-weight:500}.composition li{padding:var(--space-1) 0}.modal-backdrop{z-index:10;background:#00000059;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.modal{gap:var(--space-3);width:min(560px,100vw - 32px);max-height:70vh;padding:var(--space-4);background:var(--color-bg-surface);border-radius:var(--radius-md,12px);flex-direction:column;display:flex;overflow:auto}.candidates{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.candidates li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-subtle);display:flex}.modal-wide{width:min(960px,100vw - 32px)}.variants{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.variant{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border,#ddd);border-radius:var(--radius-sm);flex-direction:column;display:flex}.variant-on{border-color:var(--color-action-primary)}.variant-items{max-height:40vh;margin:0;padding:0;list-style:none;overflow:auto}.variant-items li{justify-content:space-between;gap:var(--space-2);padding:2px 0;display:flex}@media (width<=899px){.variants{grid-template-columns:1fr}}.confirm-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);align-items:center;padding-top:0;animation:.16s ease-out fade-in}.confirm{text-align:center;align-items:center;gap:var(--space-2);width:min(440px,100vw - 32px);padding:var(--space-5,32px) var(--space-4) var(--space-4);animation:pop-in .22s var(--ease-out);box-shadow:0 24px 48px #00000038}.confirm h2{margin:var(--space-1) 0 0;font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:600}.confirm p{max-width:34ch;margin:0}.confirm-icon{background:var(--color-status-warn-bg);width:56px;height:56px;color:var(--color-status-warn-fg);border-radius:50%;place-items:center;display:grid}.confirm-sources{margin:var(--space-2) 0 0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg-subtle);width:100%;list-style:none}.confirm-sources li{padding:var(--space-1) 0;justify-content:space-between;align-items:center;display:flex}.confirm-actions{gap:var(--space-2);width:100%;margin-top:var(--space-3);flex-direction:column;display:flex}.confirm-actions .btn{width:100%;transition:background .12s,transform 80ms}.confirm-actions .btn:active:not(:disabled){transform:scale(.98)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.94)}}@media (prefers-reduced-motion:reduce){.confirm,.confirm-backdrop{animation:none}}.banner.ok{background:var(--color-status-info-bg);border-color:var(--color-status-info-fg);color:var(--color-status-info-fg)}.settings,.history{gap:var(--space-3);flex-direction:column;display:flex;overflow:auto}.settings-group{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.settings-group legend{padding:0 var(--space-2);font-weight:600}.setting-row{gap:var(--space-3);grid-template-columns:minmax(240px,2fr) minmax(160px,1fr);align-items:center;display:grid}.setting-row input[type=text],.setting-row select,.setting-row textarea{min-height:var(--size-control-md);padding:0 var(--space-2);font:inherit;border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary)}.setting-row textarea{padding:var(--space-1) var(--space-2);font-family:var(--font-mono);resize:vertical}.setting-row input[type=checkbox]{justify-self:start;width:18px;height:18px}.settings-actions{gap:var(--space-2);padding:var(--space-2) 0;background:var(--color-bg-canvas);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.history-table{border-collapse:collapse}.history-table th,.history-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-control)}.history-items{gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex}.cards,.run-cards{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.card{gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:14px;flex-direction:column;display:flex}.card-manual{border-color:var(--color-border-selected);background:var(--color-accent-soft)}.card-main{align-items:flex-start;gap:var(--space-1);text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:var(--size-control-touch);background:0 0;border:0;flex-direction:column;padding:0;display:flex}.card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}.card-stats{border-block:1px solid var(--color-border-subtle);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.card-stats div{padding:var(--space-2) var(--space-1);text-align:center}.card-stats div+div{border-left:1px solid var(--color-border-subtle)}.card-stats dt{color:var(--color-text-muted);font-size:11px;line-height:14px}.card-stats dd{margin:2px 0 0;font-weight:600}.card-actions{align-items:center;gap:var(--space-3);display:flex}.card-qty{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.card-qty-ro{font-size:var(--fs-h2)}.stepper{align-items:center;gap:var(--space-1);display:inline-flex}.step-btn,.icon-btn{width:var(--size-control-touch);height:var(--size-control-touch);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border-control);background:var(--color-bg-surface);color:var(--color-text-primary);font:500 20px/1 var(--font-sans)}.step-btn:active,.icon-btn:active{background:var(--color-bg-muted)}.icon-btn{font-size:18px}.step-input{width:72px;height:var(--size-control-touch);text-align:center;border-radius:var(--radius-sm);border:1px solid var(--color-border-control);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:16px}.card-manual .step-input{color:var(--color-manual-fg);background:var(--color-manual-bg)}.card-more{min-height:var(--size-control-touch);color:var(--color-text-accent);font:500 var(--fs-body)/1 var(--font-sans);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.card-members{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.run-head{justify-content:space-between;gap:var(--space-3);display:flex}.phonebar{z-index:var(--z-sticky);gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-bg-surface);border-top:1px solid var(--color-border-default);flex-direction:column;display:flex;position:fixed;inset:auto 0 0}.phonebar-total{flex-direction:column;gap:2px;display:flex}.phonebar-info{font-size:var(--fs-caption)}.phonebar-over{color:var(--color-status-block-fg)}.phonebar-actions{gap:var(--space-2);display:flex}.phonebar-actions .btn{flex:1}.toast{left:var(--space-4);right:var(--space-4);bottom:calc(132px + env(safe-area-inset-bottom));z-index:var(--z-toast);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);min-height:var(--size-control-touch);border-radius:var(--radius-md);background:var(--color-bg-inverse);color:var(--color-text-inverse);box-shadow:var(--shadow-popover);display:flex;position:fixed}.toast button{min-height:var(--size-control-touch);padding:0 var(--space-2);border-radius:var(--radius-sm);color:inherit;font:600 var(--fs-body)/1 var(--font-sans);cursor:pointer;background:0 0;border:0}.toast button:hover{background:var(--color-inverse-hover)}@media (width<=899px){.app{height:auto;min-height:100dvh;padding:var(--space-3) var(--space-4) calc(150px + env(safe-area-inset-bottom));gap:var(--space-3)}.topbar{gap:var(--space-2);flex-wrap:wrap}.topbar h1{font-size:var(--fs-h2);line-height:var(--lh-h2);flex:1}.topbar .chips{border-radius:var(--radius-sm);background:var(--color-bg-muted);flex-wrap:nowrap;flex:100%;order:3;padding:2px}.topbar .chips .chip{background:0 0;border-color:#0000;flex:1}.topbar .chips .chip-on{background:var(--color-bg-surface);box-shadow:var(--shadow-sm);color:var(--color-text-primary)}.topbar .sources{flex:100%;order:4}.btn.primary[aria-label=Обновить\ данные]{width:var(--size-control-touch);padding:0;font-size:18px}input[type=search]{width:100%;max-width:none;font-size:16px}.toolbar .chips{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.toolbar .chip{flex:none;height:36px}.toolbar .chip-on{background:var(--color-bg-surface);border-color:var(--color-text-primary);color:var(--color-text-primary)}.workspace{flex-direction:column;min-height:0}.grid-wrap{min-height:0}.panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:80dvh;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:var(--z-modal)}.panel:before{content:"";border-radius:var(--radius-full);background:var(--color-border-default);flex:none;align-self:center;width:36px;height:4px}.panel-head .btn{width:var(--size-control-touch);padding:0}.modal-backdrop{background:var(--color-bg-scrim);z-index:var(--z-modal);align-items:flex-end;padding-top:0}.modal,.modal-wide{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:85dvh;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.modal input[type=search]{font-size:16px}.candidates li{flex-wrap:wrap}.confirm-backdrop{align-items:flex-end}.confirm{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%}.setting-row{gap:var(--space-1);grid-template-columns:1fr}.setting-row input[type=text],.setting-row select,.setting-row textarea{min-height:var(--size-control-touch);font-size:16px}.settings-actions .btn{min-height:var(--size-control-touch);flex:1}.history-items .toolbar .btn{align-self:flex-start}.member-row{height:auto;padding:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.history pre{max-width:100%;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (width>=900px){.toast{left:auto;right:var(--space-6,24px);bottom:var(--space-6,24px);width:360px}}.app{--size-sidebar:76px;grid-template-columns:var(--size-sidebar) minmax(0, 1fr);max-width:none;height:100vh;transition:grid-template-columns var(--dur-fast) var(--ease-out);gap:0;margin:0;padding:0;display:grid}.app.sidebar-open{--size-sidebar:224px}.sidebar{width:var(--size-sidebar);background:var(--p-graphite);color:var(--color-text-inverse);z-index:var(--z-sticky);transition:width var(--dur-fast) var(--ease-out);flex-direction:column;padding:20px 14px;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.brand{align-items:center;gap:10px;padding:0 6px 24px;display:flex}.brand img,.mobile-brand img{object-fit:contain;width:46px;height:46px}.brand strong{max-width:138px;font-size:15px;line-height:18px}.sidebar nav{gap:6px;display:grid}.sidebar nav button{color:#cfd5d1;text-align:left;height:44px;font:500 var(--fs-body)/1 var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:0 12px;display:flex}.sidebar nav button:hover{background:var(--p-graphite-hover)}.sidebar nav .nav-on{color:var(--color-text-inverse);background:#00bfc826}.sidebar nav .nav-on .nav-mark{color:var(--p-brand)}.nav-mark{text-align:center;width:18px}.sidebar-toggle{justify-content:center;align-items:center;gap:var(--space-2);min-height:32px;margin-bottom:var(--space-3);border-radius:var(--radius-sm);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;display:flex}.sidebar-toggle:hover{background:var(--p-graphite-hover)}.app:not(.sidebar-open) .brand strong,.app:not(.sidebar-open) .sidebar nav button span:last-child,.app:not(.sidebar-open) .sidebar-toggle span{display:none}.app:not(.sidebar-open) .brand,.app:not(.sidebar-open) .sidebar nav button{justify-content:center;padding-inline:0}.sidebar-meta{padding:var(--space-4) 0;border-top:1px solid var(--color-inverse-hover);color:var(--color-text-inverse);font-size:var(--fs-caption);justify-content:center;align-items:center;gap:var(--space-3);margin-top:auto;display:flex}.update-mark{align-items:center;gap:var(--space-2);flex-direction:column;flex:none;display:flex}.update-orbit{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-accent);border:1px solid;place-items:center;display:grid;position:relative}.update-orbit .icon{width:16px;height:16px}.update-orbit i{border-radius:var(--radius-full);width:7px;height:7px;box-shadow:0 0 0 3px var(--p-graphite);background:currentColor;position:absolute;bottom:0;right:-2px}.update-stale .update-orbit{color:var(--p-amber-line)}.update-empty .update-orbit{color:var(--color-text-disabled)}.update-compact{font:var(--fs-data)/var(--lh-data) var(--font-mono)}.update-copy{line-height:var(--lh-caption);display:none}.sidebar-open .update-copy{display:block}.sidebar-open .update-compact{display:none}.app-main{gap:var(--space-3);flex-direction:column;grid-column:2;min-width:0;height:100vh;padding:24px 28px 36px;display:flex;overflow:auto}.app-main>*{flex-shrink:0}.topbar{flex-wrap:wrap;align-items:center;min-height:auto}.header-actions{align-items:center;gap:var(--space-3);flex:none;display:flex}.page-title{flex:1;min-width:230px}.page-title p{color:var(--color-text-muted);font-size:var(--fs-caption);margin:3px 0 0}.mobile-brand,.mobile-nav,.mobile-summary{display:none}.topbar .sources{flex-basis:100%;order:3;justify-content:flex-start;align-self:center}.export-btn{align-self:center}.btn{border-color:var(--color-border-default);box-shadow:var(--shadow-xs);font-weight:600}.btn.primary{color:#073638}.btn.primary:hover:not(:disabled){color:var(--color-text-inverse)}.kpis{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.kpis article{border-right:1px solid var(--color-border-default);flex-direction:column;justify-content:space-between;min-height:104px;padding:17px 18px;display:flex}.kpis article:last-child{border:0}.kpis span,.kpis small{color:var(--color-text-muted);font-size:var(--fs-caption)}.kpis strong{letter-spacing:-.03em;font-size:28px;line-height:32px}.kpis .danger-text{color:var(--color-status-block-fg)}.kpis i{background:var(--color-accent);border-radius:3px;height:5px;margin-top:7px;display:block}.priority{border-radius:var(--radius-md);background:var(--p-graphite);color:var(--color-text-inverse);grid-template-columns:190px repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.priority>div,.priority button{min-width:0;padding:14px 16px}.priority>div{flex-direction:column;justify-content:center;display:flex}.priority button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-left:1px solid #ffffff1a}.priority button:hover{background:var(--p-graphite-hover)}.priority strong,.priority small,.priority span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.priority small{color:#b9c1bd}.priority span{color:#ffd9d5;margin-top:7px;font-size:11px}.supply-alert{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.priority-help{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--fs-caption)}.priority-help summary{cursor:pointer;width:fit-content}.priority-help p{max-width:85ch;margin:var(--space-2) 0 0;line-height:var(--lh-body)}.toolbar{border:1px solid var(--color-border-default);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-bg-surface);padding:12px}.toolbar-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-main input[type=search]{border-color:var(--color-border-default);flex:240px;width:auto}.toolbar-main .chips{flex-wrap:wrap;flex:100%;order:2}.toolbar-actions{gap:8px;margin-left:auto;display:flex}.workspace{gap:0;min-height:360px}.toolbar+.workspace{margin-top:calc(-1 * var(--space-3))}.grid-wrap{border:1px solid var(--color-border-default);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-bg-surface);border-top:0;overflow:hidden}.product-image{object-fit:cover;background:var(--color-bg-muted);border-radius:7px;flex:none;width:36px;height:36px}.product-image-empty{color:var(--color-text-muted);place-items:center;font-size:10px;font-weight:600;display:grid}.product-image-large{border-radius:10px;width:82px;height:108px}.panel{z-index:var(--z-drawer);width:var(--size-drawer);box-shadow:var(--shadow-popover);border:0;border-radius:0;position:fixed;inset:0 0 0 auto}.panel-head{align-items:flex-start}.panel-head>div{min-width:0}.card-main{grid-template-columns:44px minmax(0,1fr) auto;align-items:start;width:100%;display:grid}.card-main .product-image{width:44px;height:44px}.card-copy{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}@media (width<=1100px){.priority{grid-template-columns:160px repeat(3,minmax(0,1fr))}.app-main{padding-inline:20px}}@media (width>=900px) and (width<=1400px){.topbar{flex-wrap:wrap;align-items:center}.page-title{flex:1}.topbar .sources{flex-basis:100%;order:3;justify-content:flex-start}}@media (width<=899px){.app{height:auto;display:block}.sidebar{display:none}.app-main{height:auto;min-height:100dvh;padding:0 0 calc(150px + env(safe-area-inset-bottom));overflow:visible}.topbar{background:var(--p-graphite);min-height:64px;color:var(--color-text-inverse);flex-wrap:nowrap;align-items:center;padding:8px 16px}.mobile-brand{flex:1;align-items:center;gap:9px;display:flex}.mobile-brand img{width:42px;height:42px}.mobile-brand strong{max-width:130px;font-size:13px;line-height:15px}.mobile-nav{gap:6px;display:flex}.mobile-nav button{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text-inverse);font:inherit;background:#ffffff14;border:0;place-items:center;display:grid}.mobile-nav button.nav-on{background:var(--color-action-primary);color:var(--color-graphite)}.page-title,.topbar .sources,.export-btn{display:none}.mobile-summary{margin:12px 16px 0;display:block}.mobile-summary header{justify-content:space-between;align-items:end;margin-bottom:10px;display:flex}.mobile-summary header h1{font-size:21px;line-height:26px}.mobile-summary header span{color:var(--color-text-muted);font-size:11px}.mobile-summary>div{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.mobile-summary article{padding:12px 14px}.mobile-summary article+article{border-left:1px solid var(--color-border-default)}.mobile-summary article span{color:var(--color-text-muted);font-size:11px;display:block}.mobile-summary article strong{margin-top:2px;font-size:24px;line-height:28px;display:block}.topbar .btn.primary[aria-label=Обновить\ данные]{color:var(--color-text-inverse);background:#ffffff14}.banner,.settings,.history,.toolbar,.workspace,.footer{margin-inline:16px}.toolbar{border-radius:var(--radius-md)}.toolbar-main{flex-wrap:wrap}.toolbar-main input[type=search]{flex:100%;width:100%}.toolbar-main .chips{flex-wrap:nowrap;flex:100%;order:2;overflow-x:auto}.expand-all{display:none}.workspace{margin-top:0}.cards{gap:10px}.card{border-color:var(--color-border-default);border-radius:var(--radius-md);gap:12px;padding:14px}.card-stats{grid-template-columns:repeat(3,1fr)}.card-stats div:nth-child(3){display:none}.panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;top:auto}}.barcode-form{gap:var(--space-2);flex-direction:column;display:flex}.barcode-form input{width:100%;min-height:var(--size-control-touch)}.barcode-form .btn{align-self:flex-start}.panel{background:var(--color-bg-subtle);gap:var(--space-3);width:min(480px,100vw)}.panel>section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-bg-surface)}.panel h2{font-size:var(--fs-body);line-height:1.4}.panel h3,.panel h4{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.panel-head{padding-right:44px;position:relative}.panel-head>div{text-align:left;flex:1}.panel-head>.btn{place-items:center;width:40px;min-width:40px;height:40px;padding:0;display:grid;position:absolute;top:0;right:0}.panel-head .product-image-large{width:64px;height:84px}.panel-article{margin-top:var(--space-2);font-size:var(--fs-caption);overflow-wrap:anywhere;color:var(--color-text-secondary)}.panel-meta{margin-top:var(--space-1);font-size:var(--fs-caption);color:var(--color-text-muted)}.panel .detail-result{background:var(--color-accent-soft);border-color:var(--color-border-selected)}.result-heading{justify-content:space-between;align-items:center;display:flex}.result-heading h3{margin:0}.result-quantity{color:var(--color-text-accent);font-size:32px;font-weight:600;line-height:1.3}.result-quantity>span{font-size:var(--fs-body);font-weight:400}.detail-result p{font-size:var(--fs-caption);color:var(--color-text-secondary)}.panel .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.panel .step{min-width:0;padding:var(--space-3) 0;border-top:1px solid var(--color-border-subtle)}.panel .step:nth-child(odd){padding-right:var(--space-3)}.panel .step:nth-child(2n){padding-left:var(--space-3);border-left:1px solid var(--color-border-subtle)}.step-head{align-items:center;gap:var(--space-1);color:var(--color-text-secondary)}.panel .step-value{font-size:20px;line-height:1.4}.step-note{font-size:var(--fs-caption);color:var(--color-text-muted);overflow-wrap:anywhere}.calculation-notes{margin-top:var(--space-2);font-size:var(--fs-caption);overflow-wrap:anywhere}.calculation-notes summary{cursor:pointer;padding-block:var(--space-2);color:var(--color-text-accent)}.panel .composition li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);overflow-wrap:anywhere}.panel .composition li:last-child{border-bottom:0}.panel .composition .num,.panel .composition .muted{font-size:var(--fs-caption)}.panel .composition+p{font-size:var(--fs-caption);overflow-wrap:anywhere}.status-note{padding:var(--space-3);background:var(--color-bg-subtle);border-radius:var(--radius-sm);font-size:var(--fs-caption)}.status-note-block{background:var(--color-status-block-bg)}.status-note-warn{background:var(--color-status-warn-bg)}.status-note>div{margin-top:var(--space-2)}.source-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding-block:var(--space-1);font-size:var(--fs-caption);display:flex}.source-row small{color:var(--color-text-muted);font-size:inherit;display:block}.detail-info{vertical-align:middle;flex:none;display:inline-flex;position:relative}.info-button{border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-text-accent);font:inherit;cursor:pointer;outline-offset:2px;background:0 0;border:0;place-items:center;padding:0;display:grid}.info-tooltip{z-index:1;width:min(260px,70vw);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--fs-caption);font-weight:400;line-height:1.5;position:absolute;top:100%;right:0}.info-tooltip[hidden]{display:none}@media (width<=899px){.panel{width:100%}.info-button{width:44px;height:44px}.panel .step:nth-child(odd) .info-tooltip{left:-80px;right:auto}.panel-head{padding-right:48px}.panel-head>.btn{width:44px;height:44px}}.export-menu{align-self:center;position:relative}.export-options{padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);margin:0;position:fixed;inset:auto}.export-options:popover-open{gap:var(--space-2);flex-direction:column;display:flex}.export-options .btn{white-space:nowrap;justify-content:flex-start}.phonebar-actions .export-menu{flex:1}.phonebar-actions .export-menu>.btn{width:100%}.export-menu>.export-btn{justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.export-menu>.export-btn .icon{width:16px;height:16px;transform:rotate(90deg)}.export-options .btn{min-height:var(--size-control-md);flex:none}.app-supply{height:auto;min-height:100vh}.app-supply .app-main{height:auto;min-height:100vh;overflow:visible}.app-supply .workspace{flex:none;min-height:0}.app-supply .grid-wrap{min-height:0}.grid-editable .ag-grid-pinned-top-rows{top:var(--grid-header-offset,0px);z-index:2}.status-action{margin-top:var(--space-3)}.status-review{align-items:center;gap:var(--space-2);display:flex}.status-review input{width:auto}.barcode-copy{color:inherit;font:inherit;cursor:copy;-webkit-user-select:text;user-select:text;background:0 0;border:0;padding:0}.barcode-copy:hover{color:var(--color-text-accent);text-decoration:underline}
