.pp-root{--bg: #0d0f14;--bg2: #13161d;--bg3: #1a1e28;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.13);--accent: #00e5a0;--accent2: #00b87e;--accent-dim: rgba(0,229,160,.12);--warn: #f5a623;--warn-dim: rgba(245,166,35,.12);--danger: #ff4d6a;--danger-dim: rgba(255,77,106,.12);--text: #eef0f6;--text2: #7d8499;--text3: #4a5068;--radius: 10px;--radius-lg: 16px;font-family:Golos Text,sans-serif;font-size:14px;color:var(--text);position:relative;z-index:1}[data-theme=light] .pp-root{--bg: #f4f6f9;--bg2: #ffffff;--bg3: #eef0f5;--border: rgba(0,0,0,.08);--border2: rgba(0,0,0,.14);--accent: #009e6e;--accent2: #007a54;--accent-dim: rgba(0,158,110,.1);--warn: #c47a00;--warn-dim: rgba(196,122,0,.1);--danger: #d93050;--danger-dim: rgba(217,48,80,.1);--text: #1a1d26;--text2: #5a6070;--text3: #9ba3b5}[data-theme=light] .pp-root thead th{background:#f4f6f9}[data-theme=light] .pp-root .kpi:before{opacity:.6}.pp-root *{box-sizing:border-box}.pp-root .page{max-width:1500px;margin:0 auto;padding:0 0 4rem}.pp-root .tab-bar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:1.5rem;background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:6px}.pp-root .tab-btn{font-family:Unbounded,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;padding:8px 16px;border-radius:var(--radius);background:transparent;border:none;color:var(--text2);cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.pp-root .tab-btn:hover{background:var(--bg3);color:var(--text)}.pp-root .tab-btn.active{background:var(--accent);color:#0d0f14}[data-theme=light] .pp-root .tab-btn.active{color:#fff}.pp-root .tab-pane{display:none}.pp-root .tab-pane.active{display:block}.pp-root .kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:1.5rem}.pp-root .kpi{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;position:relative;overflow:hidden}.pp-root .kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:.4;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.pp-root .kpi-label{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.pp-root .kpi-val{font-family:Unbounded,sans-serif;font-size:24px;font-weight:300}.pp-root .kpi-val.ok{color:var(--accent)}.pp-root .kpi-val.warn{color:var(--warn)}.pp-root .kpi-val.bad{color:var(--danger)}.pp-root .controls{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.25rem}.pp-root .ctrl-group{display:flex;align-items:center;gap:10px}.pp-root .ctrl-label{font-size:12px;color:var(--text2);white-space:nowrap}.pp-root .ctrl-input{background:var(--bg3);border:.5px solid var(--border2);border-radius:var(--radius);color:var(--text);font-family:Unbounded,sans-serif;font-size:13px;font-weight:300;padding:0 12px;height:36px;width:110px;outline:none;transition:border-color .2s}.pp-root .ctrl-input:focus{border-color:var(--accent)}.pp-root input[type=range]{-webkit-appearance:none;height:4px;border-radius:4px;background:var(--bg3);outline:none;width:150px}.pp-root input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer}.pp-root .wk-badge{background:var(--accent-dim);color:var(--accent);font-family:Unbounded,sans-serif;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;min-width:44px;text-align:center}.pp-root .reset-btn{margin-left:auto;background:#ffffff0d;border:.5px solid var(--border2);border-radius:var(--radius);color:var(--text2);font-size:12px;padding:0 14px;height:36px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.pp-root .reset-btn:hover{background:#ffffff17;color:var(--text)}.pp-root .add-btn,.pp-root .fit-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent-dim);border:.5px solid rgba(0,229,160,.25);border-radius:var(--radius);color:var(--accent);font-size:12px;font-weight:500;padding:0 14px;height:36px;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.pp-root .add-btn:hover,.pp-root .fit-btn:hover{background:#00e5a033;border-color:var(--accent)}.pp-root .fit-btn{background:var(--warn-dim);border-color:#f5a6234d;color:var(--warn)}.pp-root .fit-btn:hover{background:#f5a62338;border-color:var(--warn)}.pp-root .scale-banner{display:none;margin-bottom:1rem;border-radius:var(--radius);padding:10px 16px;font-size:12px;line-height:1.7}.pp-root .scale-banner.visible{display:block}.pp-root .scale-banner.warn{background:var(--warn-dim);border:.5px solid rgba(245,166,35,.3);color:var(--warn)}.pp-root .scale-banner.bad{background:var(--danger-dim);border:.5px solid rgba(255,77,106,.3);color:var(--danger)}.pp-root .scale-banner.ok{background:var(--accent-dim);border:.5px solid rgba(0,229,160,.3);color:var(--accent)}.pp-root .table-wrap{overflow-x:auto}.pp-root table{width:100%;border-collapse:collapse;min-width:1320px}.pp-root thead th{font-size:10px;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;padding:10px 8px;text-align:right;border-bottom:.5px solid var(--border);white-space:nowrap;background:var(--bg);position:sticky;top:0;z-index:2}.pp-root thead th:first-child{text-align:left}.pp-root thead th.accent-col{color:var(--accent)}.pp-root tbody tr{border-bottom:.5px solid var(--border);transition:background .15s}.pp-root tbody tr:hover{background:#ffffff06}.pp-root td{padding:8px;text-align:right;vertical-align:middle}.pp-root td:first-child{text-align:left}.pp-root .name-cell{display:flex;flex-direction:column;gap:2px}.pp-root .name-main{font-size:13px;color:var(--text)}.pp-root .name-brand{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:4px;display:inline-block;margin-top:2px}.pp-root .brand-nutroflex{background:#00e5a01f;color:var(--accent)}.pp-root .brand-nutropro{background:#f5a6231f;color:var(--warn)}.pp-root .brand-powerrise{background:#6478ff1f;color:#89f}.pp-root .brand-custom{background:var(--bg3);color:var(--text2)}.pp-root .row-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s}.pp-root tbody tr:hover .row-actions{opacity:1}.pp-root .row-btn{width:26px;height:26px;border-radius:6px;border:.5px solid var(--border2);background:var(--bg3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0}.pp-root .row-btn:hover{background:var(--bg2)}.pp-root .row-btn.edit:hover{border-color:var(--accent);color:var(--accent)}.pp-root .row-btn.del:hover{border-color:var(--danger);color:var(--danger)}.pp-root .row-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}.pp-root .name-row{display:flex;align-items:center;gap:8px}.pp-root .edit-input{background:transparent;border:.5px solid transparent;outline:none;color:var(--text);font-family:Golos Text,sans-serif;font-size:13px;width:60px;text-align:right;border-radius:6px;padding:3px 6px;transition:background .2s,border .2s}.pp-root .edit-input:hover{background:var(--bg3);border-color:var(--border2)}.pp-root .edit-input:focus{background:var(--bg3);border-color:var(--accent);color:var(--accent)}.pp-root .edit-input.small{width:46px}.pp-root .bar-wrap{display:flex;align-items:center;gap:8px;justify-content:flex-end}.pp-root .bar-track{width:48px;height:4px;border-radius:4px;background:var(--bg3);overflow:hidden}.pp-root .bar-fill{height:4px;border-radius:4px;transition:width .5s ease}.pp-root .wk-num{font-size:12px;font-weight:500;min-width:28px;text-align:right}.pp-root .badge{display:inline-block;font-size:10px;font-weight:500;padding:3px 9px;border-radius:20px;letter-spacing:.04em;white-space:nowrap}.pp-root .b-ok{background:#00e5a01f;color:#00e5a0}.pp-root .b-warn{background:var(--warn-dim);color:var(--warn)}.pp-root .b-bad{background:var(--danger-dim);color:var(--danger)}.pp-root .b-zero{background:#ffffff0d;color:var(--text3)}.pp-root .b-topped{background:#6478ff24;color:#89f}.pp-root .b-manual{background:var(--warn-dim);color:var(--warn)}.pp-root .b-nosales{background:var(--danger-dim);color:var(--danger);font-weight:600}.pp-root .raw-used,.pp-root .boxes-val{font-size:12px;color:var(--text2)}.pp-root .total-row td{border-top:.5px solid var(--border2);background:var(--bg2);font-weight:500;font-size:12px;color:var(--text2)}.pp-root .total-row td.accent-num{color:var(--accent);font-family:Unbounded,sans-serif;font-size:14px}.pp-root .produce-cell{display:flex;align-items:center;gap:6px;justify-content:flex-end}.pp-root .mode-toggle{display:flex;align-items:center;gap:0;border:.5px solid var(--border2);border-radius:6px;overflow:hidden;flex-shrink:0}.pp-root .mode-btn{font-size:9px;font-weight:600;letter-spacing:.04em;padding:3px 7px;border:none;cursor:pointer;transition:background .15s,color .15s;line-height:1.4;white-space:nowrap}.pp-root .mode-btn.auto{background:var(--accent-dim);color:var(--accent)}.pp-root .mode-btn.auto.inactive{background:transparent;color:var(--text3)}.pp-root .mode-btn.manual{background:var(--warn-dim);color:var(--warn)}.pp-root .mode-btn.manual.inactive{background:transparent;color:var(--text3)}.pp-root .edit-input.auto-mode{color:var(--accent);font-family:Unbounded,sans-serif;font-size:13px;font-weight:600;background:transparent;border-color:transparent;pointer-events:none;opacity:.85}.pp-root .edit-input.manual-mode{color:var(--warn);font-family:Unbounded,sans-serif;font-size:12px;font-weight:600;width:84px}.pp-root .produce-num{font-family:Unbounded,sans-serif;font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap;padding:3px 6px;display:inline-block;min-width:60px;text-align:right}.pp-root .static-num{font-size:12px;color:var(--text2)}.pp-root .formula{margin-top:1.5rem;font-size:12px;color:var(--text3);border-left:2px solid var(--border2);padding:8px 14px;line-height:1.8}.pp-root .formula b{color:var(--text2);font-weight:500}.pp-root .formula .hl{color:var(--accent)}.pp-root .group-header td{background:#7c5cff14;color:var(--accent);font-weight:700;padding:9px 12px;border-top:1px solid rgba(124,92,255,.25);border-bottom:1px solid rgba(124,92,255,.15);font-size:12px;text-align:left;white-space:nowrap}.pp-root .group-header .grp-info{margin-right:14px}.pp-root .ov-check{display:inline-flex;align-items:center;gap:5px;font-weight:500;color:var(--text2);cursor:pointer;background:var(--bg3);border:.5px solid var(--border2);border-radius:20px;padding:3px 10px;font-size:10px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;vertical-align:middle}.pp-root .ov-check:hover{border-color:var(--accent);color:var(--text)}.pp-root .ov-check input{accent-color:var(--accent);cursor:pointer;margin:0}.pp-root .ov-check.checked{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:600}.pp-root .group-header .g-warn{color:var(--warn);font-weight:500}.pp-root .group-header .g-ok{color:var(--accent)}.pp-root .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pp-root .modal{background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius-lg);padding:1.75rem;width:100%;max-width:460px;max-height:92vh;overflow-y:auto}.pp-root .modal-title{font-family:Unbounded,sans-serif;font-size:14px;font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between}.pp-root .modal-close{width:28px;height:28px;border-radius:6px;border:.5px solid var(--border2);background:var(--bg3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text2);transition:background .15s}.pp-root .modal-close:hover{background:var(--danger-dim);color:var(--danger);border-color:var(--danger)}.pp-root .modal-close svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.pp-root .field-group{margin-bottom:1rem}.pp-root .field-label{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.pp-root .field-input{width:100%;background:var(--bg3);border:.5px solid var(--border2);border-radius:var(--radius);color:var(--text);font-family:Golos Text,sans-serif;font-size:13px;padding:0 12px;height:40px;outline:none;transition:border-color .2s}.pp-root .field-input:focus{border-color:var(--accent)}.pp-root .field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.pp-root .modal-actions{display:flex;gap:10px;margin-top:1.5rem}.pp-root .btn-save{flex:1;height:40px;border-radius:var(--radius);background:var(--accent);color:#0d0f14;font-family:Unbounded,sans-serif;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:background .2s}.pp-root .btn-save:hover{background:var(--accent2)}.pp-root .btn-cancel{height:40px;padding:0 18px;border-radius:var(--radius);background:transparent;border:.5px solid var(--border2);color:var(--text2);font-size:12px;cursor:pointer;transition:background .2s}.pp-root .btn-cancel:hover{background:var(--bg3);color:var(--text)}.pp-root .type-toggle-wrap{display:flex;gap:0;border:.5px solid var(--border2);border-radius:var(--radius);overflow:hidden}.pp-root .type-btn{flex:1;height:38px;font-size:12px;font-weight:500;background:transparent;border:none;color:var(--text2);cursor:pointer;transition:background .18s,color .18s;font-family:Golos Text,sans-serif}.pp-root .type-btn:hover{background:var(--bg3);color:var(--text)}.pp-root .type-btn.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.pp-root .flavor-checkboxes{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.pp-root .flavor-cb input[type=checkbox]{display:none}.pp-root .flavor-cb span{font-size:12px;padding:5px 12px;border-radius:20px;border:.5px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.pp-root .flavor-cb input:checked+span{background:var(--accent-dim);color:var(--accent);border-color:#00e5a059;font-weight:600}.pp-root .article-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pp-root .article-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;background:var(--bg3);border:.5px solid var(--border2);border-radius:20px;padding:4px 6px 4px 10px;color:var(--text2);font-family:monospace}.pp-root .article-tag button{background:none;border:none;color:var(--text3);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.pp-root .article-tag button:hover{color:var(--danger)}.pp-root .article-suggest-list{background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius);margin-top:4px;max-height:160px;overflow-y:auto}.pp-root .article-suggest-item{padding:8px 12px;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.pp-root .article-suggest-item:hover{background:var(--bg3)}.pp-root .article-suggest-item .a-code{font-family:monospace;color:var(--text2);flex-shrink:0}.pp-root .confirm-modal{background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:360px;text-align:center}.pp-root .confirm-icon{width:44px;height:44px;border-radius:50%;background:var(--danger-dim);border:.5px solid rgba(255,77,106,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:var(--danger)}.pp-root .confirm-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}.pp-root .confirm-title{font-family:Unbounded,sans-serif;font-size:13px;font-weight:600;margin-bottom:8px}.pp-root .confirm-text{font-size:12px;color:var(--text2);margin-bottom:1.5rem;line-height:1.6}.pp-root .confirm-actions{display:flex;gap:10px}.pp-root .btn-delete{flex:1;height:38px;border-radius:var(--radius);background:var(--danger);color:#fff;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:opacity .2s}.pp-root .btn-delete:hover{opacity:.85}.pp-root .pp-panels{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.25rem;align-items:flex-start}.pp-root .pp-panels .flavor-card{flex:1 1 300px;min-width:280px;max-width:none;margin-bottom:0}.pp-root .flavor-row-hint{color:var(--text3);font-size:11px;line-height:1.6;padding:8px 14px}.pp-root .plus-badge{color:var(--accent);font-size:11px;font-weight:600;white-space:nowrap}.pp-root .plus-badge.trim{color:var(--warn)}.pp-root .summary-section{margin-bottom:2.5rem}.pp-root .summary-title{font-family:Unbounded,sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--text2);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:10px}.pp-root .summary-title:after{content:"";flex:1;height:.5px;background:var(--border2)}.pp-root .tab-label-badge{font-size:10px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.06em;display:inline-block}.pp-root .tl-obshiy{background:#00e5a026;color:var(--accent)}.pp-root .tl-g450{background:#6478ff26;color:#89f}.pp-root .tl-vkusy{background:#ffaa0026;color:#fa0}.pp-root .sum-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.pp-root .sum-table thead th{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;text-align:right;border-bottom:.5px solid var(--border)}.pp-root .sum-table thead th:first-child{text-align:left}.pp-root .sum-table tbody td{padding:7px 12px;text-align:right;border-bottom:.5px solid var(--border);font-size:13px}.pp-root .sum-table tbody td:first-child{text-align:left;font-size:12px;color:var(--text)}.pp-root .sum-table tfoot td{padding:8px 12px;text-align:right;border-top:.5px solid var(--border2);background:var(--bg2);font-size:12px;font-weight:600;color:var(--text2)}.pp-root .sum-table tfoot td:first-child{text-align:left}.pp-root .sum-table tfoot td.accent-num{color:var(--accent);font-family:Unbounded,sans-serif;font-size:13px}.pp-root .sum-group-row td{background:#7c5cff14;color:var(--accent);font-weight:700;font-size:11px;padding:8px 12px!important;text-align:left!important;border-bottom:.5px solid var(--border)}.pp-root .sum-group-row .g-warn{color:var(--warn);font-weight:500}.pp-root .sum-group-row .g-ok{color:var(--accent)}.pp-root .sum-subtotal-row td{background:var(--bg3);font-size:11px;font-weight:600;color:var(--text2);padding:6px 12px!important}.pp-root .sum-subtotal-row td:first-child{text-align:left}.pp-root .sum-produce-val{font-family:Unbounded,sans-serif;font-size:13px;font-weight:600;color:var(--accent)}.pp-root .pallet-line{font-size:12px;color:var(--text2);margin:4px 0 12px;line-height:1.9}.pp-root .pallet-line b{color:var(--text)}.pp-root .flavor-card{background:var(--bg2);border:.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;max-width:480px}.pp-root .flavor-card-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text2);padding:10px 14px;border-bottom:.5px solid var(--border);display:flex;align-items:center;gap:8px}.pp-root .flavor-row{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;border-bottom:.5px solid var(--border);font-size:12px}.pp-root .flavor-row:last-child{border-bottom:none}.pp-root .flavor-name{color:var(--text2)}.pp-root .flavor-val{font-family:Unbounded,sans-serif;font-size:12px;font-weight:600;color:var(--text)}.pp-root .flavor-total{background:var(--bg3);display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-size:12px;font-weight:600}.pp-root .flavor-total .flavor-val{color:var(--accent)}.pp-root .sales-cell{display:flex;align-items:center;gap:6px;justify-content:flex-end}.pp-root .sales-auto-val{font-family:Unbounded,sans-serif;font-size:13px;font-weight:600;color:var(--accent)}.pp-root .weeks-window-note{font-size:11px;color:var(--text3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f1a;--surface: #1a1a2e;--surface2: #252540;--border: #2a2a4a;--text: #e2e8f0;--muted: #94a3b8;--accent: #7c3aed;--accent2: #2563eb;--success: #059669;--danger: #dc2626;--warn: #f59e0b;--sidebar-w: 220px;--sidebar-collapsed: 56px;color-scheme:dark}[data-theme=light]{--bg: #f0f4f8;--surface: #ffffff;--surface2: #f1f5f9;--border: #e2e8f0;--text: #1e293b;--muted: #64748b;--accent: #7c3aed;--accent2: #2563eb;--success: #059669;--danger: #dc2626;--warn: #d97706;color-scheme:light}body{background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;font-size:14px}.app-layout{display:flex;height:100dvh;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .2s;flex-shrink:0}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;border-bottom:1px solid var(--border);min-height:56px}.logo{font-weight:700;font-size:15px;color:var(--accent);white-space:nowrap;overflow:hidden}.collapse-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;padding:4px;border-radius:4px}.collapse-btn:hover{color:var(--text);background:var(--surface2)}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;color:var(--muted);transition:all .15s;white-space:nowrap;overflow:hidden}.nav-item:hover{color:var(--text);background:var(--surface2)}.nav-item.active{color:var(--accent);background:#7c3aed1f;border-right:3px solid var(--accent)}.nav-icon{font-size:18px;flex-shrink:0}.nav-label{font-size:13px}.sidebar-footer{border-top:1px solid var(--border);padding:12px}.user-info{display:flex;align-items:center;gap:8px;margin-bottom:8px;overflow:hidden}.user-name{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.sidebar-footer-btns{display:flex;gap:6px}.theme-btn{padding:7px 10px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;cursor:pointer;font-size:14px;flex-shrink:0}.theme-btn:hover{border-color:var(--accent)}.logout-btn{flex:1;padding:7px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);border-radius:6px;cursor:pointer;font-size:12px}.logout-btn:hover{color:var(--danger);border-color:var(--danger)}.main-content{flex:1;overflow-y:auto;background:var(--bg)}.mobile-topbar,.sidebar-overlay{display:none}.mobile-only{display:none!important}.role-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:600}.role-badge.admin{background:#7c3aed33;color:#a78bfa}.role-badge.user{background:#2563eb33;color:#93c5fd}.page{padding:28px 32px;width:100%;box-sizing:border-box}.page-title{font-size:22px;font-weight:700;margin-bottom:24px}.page-loading{padding:40px;text-align:center;color:var(--muted)}.section-title{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--muted)}.stats-grid{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid;border-radius:10px;padding:16px;min-width:160px;flex:0 1 180px}.stat-label{font-size:12px;color:var(--muted);margin-bottom:6px}.stat-value{font-size:24px;font-weight:700}.stat-sub{font-size:11px;color:var(--muted);margin-top:4px}.cabinet-section{margin-bottom:32px}.charts{display:flex;flex-direction:column;gap:24px}.chart-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.chart-title{font-size:14px;font-weight:600;margin-bottom:16px;color:var(--muted)}.filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.select{padding:8px 12px;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;font-size:13px;cursor:pointer}.select:focus{outline:none;border-color:var(--accent)}.tab-btn{padding:8px 20px;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:8px;cursor:pointer;font-size:13px}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sku-info{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.sku-badge{background:var(--surface2);border:1px solid var(--border);padding:4px 10px;border-radius:20px;font-size:12px}.table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border);-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px 16px;background:var(--surface);color:var(--muted);font-weight:600;font-size:12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:11px 16px;border-bottom:1px solid var(--border);color:var(--text)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--surface2)}.sku-code{font-family:monospace;color:var(--accent);font-size:13px}.empty-row{text-align:center;color:var(--muted);padding:32px!important}.db-section{margin-bottom:32px}.cabinet-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:24px}.cabinet-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.cabinet-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cabinet-name{font-weight:600}.cabinet-url{font-size:12px;margin-bottom:14px}.link{color:var(--accent2);text-decoration:none}.link:hover{text-decoration:underline}.no-url{color:var(--muted)}.cabinet-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sync-result{font-size:12px}.sync-result.success{color:var(--success)}.sync-result.error{color:var(--danger)}.search-input{padding:8px 14px;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;font-size:13px;min-width:280px}.search-input:focus{outline:none;border-color:var(--accent)}.field-hint{font-size:11px;color:var(--muted);margin-top:4px}.btn-primary{padding:9px 18px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:9px 18px;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:13px}.btn-sm{padding:4px 10px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);border-radius:6px;cursor:pointer;font-size:12px}.btn-sm:hover{color:var(--text)}.btn-danger-sm{padding:4px 8px;background:none;border:1px solid var(--border);color:var(--muted);border-radius:6px;cursor:pointer}.btn-danger-sm:hover{color:var(--danger);border-color:var(--danger)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:12px;color:var(--muted);font-weight:500}.field input,.field select{padding:9px 12px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:8px;font-size:13px}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.error-msg{color:var(--danger);font-size:12px;margin-bottom:12px;padding:8px 12px;background:#dc26261a;border-radius:6px}.form-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{width:360px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px}.login-logo{font-size:48px;text-align:center;margin-bottom:12px}.login-title{text-align:center;font-size:20px;font-weight:700;margin-bottom:28px}.login-form{display:flex;flex-direction:column}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;width:480px;max-width:95vw;max-height:90dvh;overflow-y:auto}.modal-title{font-size:16px;font-weight:600;margin-bottom:20px}.modal-actions{display:flex;gap:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-icon{font-size:48px;margin-bottom:16px}@media (max-width: 767px){.mobile-topbar{display:flex;height:52px;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;padding:0 14px;gap:10px;flex-shrink:0;position:sticky;top:0;z-index:100}.hamburger-btn{background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;flex-shrink:0}.hamburger-btn:hover{background:var(--surface2)}.mobile-topbar .logo{font-size:14px;flex:1}.mobile-topbar .theme-toggle-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:4px;flex-shrink:0}.mobile-only{display:flex!important}.app-layout{flex-direction:column;height:100dvh}.main-content{flex:1;overflow-y:auto;height:0}.sidebar{position:fixed!important;left:-240px;top:0;bottom:0;width:230px!important;z-index:201;transition:left .25s ease;overflow-y:auto}.sidebar.mobile-open{left:0!important}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200}.page{padding:16px 14px}.page-title{font-size:18px;margin-bottom:16px}.section-title{font-size:14px;margin-bottom:12px}.stats-grid{gap:10px;margin-bottom:20px}.stat-card{flex:1 1 calc(50% - 5px);min-width:0;padding:12px}.stat-value{font-size:18px}.two-col{grid-template-columns:1fr;gap:16px}.search-input{min-width:0;width:100%}.cabinet-cards{grid-template-columns:1fr}.tab-btn{padding:6px 12px;font-size:12px}.table-wrap{border-radius:8px}.data-table th,.data-table td{padding:9px 12px;font-size:12px}.filters{gap:8px}.modal{padding:20px 16px}.btn-sm{font-size:11px;padding:3px 8px}.login-box{width:100%;margin:0 16px;padding:28px 24px}}@media (max-width: 400px){.stat-card{flex:1 1 100%}.page{padding:12px 10px}}
