*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#202b3a;font:14px 'Segoe UI',sans-serif}aside{position:fixed;inset:0 auto 0 0;width:235px;background:#142b2b;color:#c4d6d4;padding:32px 20px}.logo{font-size:30px;color:white;letter-spacing:-1px}.subtitle{font-size:9px;letter-spacing:1.5px;margin:14px 0 40px}nav button{border:0;display:block;width:100%;background:transparent;color:#b9ccca;text-align:left;margin:9px 0;padding:15px 12px;font-size:13px}.active{background:#294342!important;color:white!important}.aside-bottom{position:absolute;bottom:35px;line-height:1.9}.aside-bottom small{color:#8ca6a1}main{margin-left:235px;padding:35px 38px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:#6b817c;font-weight:700}h1{font-size:30px;letter-spacing:-.8px;margin:9px 0}p{color:#78838d;margin:7px 0;font-size:13px}.demo{font-size:12px;color:#8d6c2a;background:#fff4d9;padding:9px 13px;border-radius:20px}.notice{font-size:12px;color:#727d87;margin:22px 0}.settings,.panel{border:1px solid #e2e6e9;border-radius:12px;background:white}.settings{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}h2{font-size:16px;margin:0;font-weight:600}.timing{display:flex;align-items:center;gap:16px}.timing label{font-size:12px;color:#596b73}.timing input{display:block;width:105px;margin:8px 0 6px;font-size:23px;font-weight:600}.timing small{font-size:10px;color:#829099}.timing>span{color:#a6b2b6}.horizon{border-left:1px solid #e2e6e9;padding-left:25px;display:grid;gap:8px}.horizon strong{font-size:32px;color:#237765}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:23px 0}.metrics>div{border:1px solid #e3e7eb;background:white;border-radius:10px;padding:20px}.metrics small,.metrics span{display:block;color:#7a8691;font-size:12px}.metrics strong{display:block;font-size:30px;margin:11px 0}.orange{color:#bd7940}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:23px}.filters{display:flex;gap:12px;padding:0 23px 20px}input,select{border:1px solid #dce2e5;border-radius:6px;padding:10px;background:#fff;color:#253e47;font:inherit}input:focus,select:focus{outline:2px solid #83b7a9;outline-offset:1px}.filters input{flex:1;min-width:140px}button{cursor:pointer;border:0;border-radius:6px;background:#247964;color:white;padding:12px 18px;font:600 12px 'Segoe UI',sans-serif}button:hover{filter:brightness(.95)}button:disabled{opacity:.45;cursor:default}.secondary{background:#fff;border:1px solid #dce3e5;color:#55666c}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px}th{background:#f8fafb;font-weight:500;color:#778590;font-size:11px;padding:14px 12px;border-top:1px solid #edf0f2}td{padding:17px 12px;border-top:1px solid #edf0f2}td small{display:block;color:#8c979f;margin-top:5px;font-size:11px}td b{font-size:12px}td input[type=number]{width:88px;padding:8px;font-size:13px}input[type=checkbox]{accent-color:#247964;width:15px;height:15px}tbody tr:hover{background:#f9fcfb}.up{color:#218568}.down{color:#9c7580}.recommend{font-weight:700;color:#216f5c;font-size:14px}.badge{border-radius:4px;padding:5px 8px;background:#edf5f1;color:#43836b;font-size:10px}.badge.risk{background:#fff1e5;color:#b16b2b}.manual{color:#ae7b26}.actionbar{border-top:1px solid #e6ebed;padding:18px 23px;display:flex;justify-content:space-between;align-items:center}.actionbar small{display:block;color:#8a969d;font-size:11px;margin-top:5px}.method{line-height:1.7;margin:20px 0;font-size:11px;max-width:1000px}.batch{padding:22px;border-top:1px solid #e7ecee;display:flex;justify-content:space-between;gap:20px}.batch p{line-height:1.8}.empty{padding:45px;text-align:center;color:#87949a}#toast{position:fixed;bottom:25px;right:25px;max-width:440px;background:#153d33;color:white;padding:16px 22px;border-radius:9px;display:none}[hidden]{display:none!important}@media(max-width:1200px){aside{width:190px}main{margin-left:190px;padding:25px 20px}.settings{align-items:flex-start;flex-direction:column}.metrics{gap:9px}.filters{flex-wrap:wrap}}@media(max-width:720px){aside{position:static;width:auto;padding:16px}.subtitle,.aside-bottom{display:none}nav{display:flex}nav button{margin-bottom:0}main{margin:0;padding:20px 12px}header{align-items:flex-start;gap:12px}.demo{font-size:10px}h1{font-size:24px}.timing{gap:7px;width:100%}.timing input{width:70px}.horizon{padding-left:10px}.metrics{grid-template-columns:repeat(2,1fr)}.toolbar,.actionbar{gap:12px;padding:17px}.filters{padding:0 17px 17px}.batch{flex-direction:column}}
.product-cell{display:flex;align-items:center;gap:12px}.product-thumb{position:relative;display:block;width:44px;height:58px;flex:0 0 44px;background:#f0f4f3;border:1px solid #e1e7e5;border-radius:6px;overflow:hidden}.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;color:#9aaba5}.product-thumb img{position:relative;width:100%;height:100%;object-fit:contain;background:white}
.pagination{display:flex;justify-content:center;align-items:center;gap:18px;border-top:1px solid #edf0f2;padding:15px;color:#7b8c90;font-size:12px}.warehouse-value{font-weight:600;color:#286957}.product-cell small{white-space:normal;max-width:290px;line-height:1.4}

.hierarchy-actions{display:flex;align-items:center;gap:10px;padding:0 23px 18px}.hierarchy-actions span,.table-summary{font-size:12px;color:#829099}.table-summary{padding:18px 23px;border-top:1px solid #e6ebed}.category-row{background:#edf4f1}.category-row td{padding:0 12px;border-top:1px solid #dce7e2}.category-toggle{display:block;width:100%;padding:14px 12px;background:transparent;color:#2a5045;text-align:left;font-weight:600;font-size:13px}.category-toggle span{margin-left:12px;color:#849b91;font-size:11px;font-weight:400}.product-cell{min-width:260px}.table-wrap{overflow:visible}table{min-width:1450px}.panel{overflow:visible}.actionbar{position:sticky;bottom:0;background:white;z-index:2;border-radius:0 0 12px 12px}thead{position:sticky;top:0;z-index:2}@media(max-width:720px){.hierarchy-actions{flex-wrap:wrap}}

.danger-outline{background:white;color:#a44c49;border:1px solid #e4c6c5}.danger{background:#a44c49}.selection-summary{flex:1;margin-left:16px}.deleted-item{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e7ecee}.deleted-item small{color:#84938f}dialog{border:1px solid #dbe3df;border-radius:12px;padding:28px;max-width:520px;width:calc(100% - 36px);color:#273e35;box-shadow:0 20px 80px #132c2940}dialog::backdrop{background:#10292380}dialog p{line-height:1.8;margin:16px 0}dialog label{display:block;font-size:13px}dialog input{display:block;width:100%;margin-top:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media(max-width:720px){.actionbar{flex-wrap:wrap}.deleted-item{flex-direction:column;align-items:flex-start}}

.history-link{border:0;background:transparent;color:#008d82;font-weight:700;cursor:pointer;padding:0}#history-dialog{width:min(950px,90vw);border:0;border-radius:16px;padding:28px}#history-dialog::backdrop{background:#182a3866}#sync-info{font-size:13px;color:#60747d}

#matching-dialog{width:min(760px,90vw);max-height:85vh;border:0;border-radius:16px;padding:28px}#matching-dialog::backdrop{background:#182a3866}#matching-options{max-height:340px;overflow:auto;margin:16px 0}.match-option{display:flex;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e2e9e7}.match-option input{width:auto}.match-option small{display:block;color:#62716f}#matching-search{width:100%;margin-top:14px}#matching-review{background:#e6f4ef;padding:12px}

.unmatched-item{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-top:1px solid #e5ebe8}.unmatched-item small{display:block;margin:6px 0;color:#6d7c77}.unmatched-item a{font-size:13px;color:#26745c}.unmatched-item button{flex-shrink:0}#unmatched-info{padding:0 24px;color:#6d7c77}@media(max-width:650px){.unmatched-item{align-items:flex-start;flex-direction:column}}

.unmatched-photo{width:48px;height:60px;object-fit:contain;float:left;margin-right:14px}

.unmatched-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

#history-dialog{max-height:85vh;overflow:auto;width:min(940px,90vw)}.trend-days{width:100%;font-size:13px}.trend-days td,.trend-days th{padding:5px 12px}

.trend-days{min-width:0!important;table-layout:fixed}.trend-days th,.trend-days td{white-space:normal!important;width:auto!important}

#history-dialog{max-width:980px!important;width:90vw!important}.forecast-legend{display:flex;gap:24px;font-size:13px}.forecast-legend span:first-child{color:#008d82}.forecast-legend span:last-child{color:#b97a29}.forecast-explanation{padding:12px;background:#eef6f3;border-radius:8px}#history-chart details{margin:18px 0}#history-chart summary{cursor:pointer;color:#647e73}

.wb-link-label{display:flex;align-items:baseline;gap:7px;margin-top:5px;flex-wrap:wrap}.wb-link-label span{font-size:11px;color:#9ca7a2}.wb-link-edit{font-size:11px!important;font-weight:400!important;padding:2px 5px!important;background:transparent!important;color:#899a92!important;border:1px solid #e2e8e4!important;border-radius:4px!important;box-shadow:none!important}.wb-link-edit:hover{color:#26745c!important;border-color:#9fb7ab!important}

.stock-import{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.stock-import span{font-size:12px;color:#647d72}.stock-import small{width:100%;font-size:11px;color:#929f98}

.wb-bulk-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:0 24px 12px;font-size:12px}.wb-bulk-actions label{display:flex;align-items:center;gap:8px}.wb-selection{flex-shrink:0;width:16px;height:16px}.unmatched-item>div:first-of-type{flex:1}

#matching-error{padding:12px;background:#fff0eb;color:#a64936;border-radius:7px;font-size:13px}

#production-unmatched{width:100%}.production-option{display:block;padding:8px;border-bottom:1px solid #e5ebe8}#production-options{max-height:45vh;overflow:auto}#production-dialog{width:min(760px,90vw)}

.method-switch{background:#f0f7f4;border:1px solid #bdd2c7;border-radius:14px;padding:18px;margin:14px 0}.method-switch label{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.method-switch select{max-width:100%;padding:10px}.method-switch button{margin-top:12px}.method-switch p{font-size:13px;line-height:1.5}

.sidebar-actions{display:grid;gap:10px;margin-top:22px;padding:0 20px}.sidebar-actions button{text-align:left;background:#294a47;color:#eff8f5;border:1px solid #41645e;border-radius:8px;padding:12px;font-size:13px;white-space:normal}.distribution-dialog{width:min(1100px,94vw);max-height:90vh;overflow:auto}.distribution-ratios{display:flex;gap:24px;margin:18px 0}.distribution-ratios input{width:110px;display:block;padding:10px}.distribution-source{display:block;padding:14px;border:1px solid #dce6e1;margin:12px 0;border-radius:8px}.distribution-table{max-height:50vh;overflow:auto}.distribution-table table{min-width:650px;width:100%}.distribution-table thead{position:sticky;top:0;background:white}#distribution-error{color:#a53931}#distribution-result p{font-size:13px;line-height:1.5}

.sidebar-actions small{display:block;font-size:11px;color:#c0d4cf;line-height:1.5;overflow-wrap:anywhere}.sidebar-actions button:disabled{opacity:.6}
aside{overflow-y:auto}.aside-bottom{position:static;margin-top:24px}.sidebar-actions{padding:0;gap:8px}.sidebar-actions button{padding:10px}
.distribution-dialog{max-width:1100px}.distribution-source input{display:inline-block;width:auto;margin:0 8px 0 0}

.ozon-unmatched{padding:18px;margin:18px 0;border:1px solid #dce6e1;border-radius:10px}.ozon-unmatched summary{font-weight:bold;cursor:pointer}#ozon-match-dialog{width:90vw;max-width:760px}#ozon-match-options{max-height:45vh;overflow:auto}

.distribution-table th,.distribution-table td{text-align:center}.distribution-table input{text-align:center;max-width:110px;margin:0 auto}.reserve-shortage{color:#a23d28}#ozon-match-error{color:#a23d28}

/* Compact transfer preview: quantities share the exact row centre. */
.distribution-dialog{width:min(860px,94vw);max-width:860px;padding:22px}
.distribution-table table{width:100%;min-width:660px;table-layout:fixed;border-collapse:collapse}
.distribution-table th{font-size:11px;line-height:1.3;padding:9px 6px;white-space:normal}
.distribution-table td{padding:9px 6px;vertical-align:middle;line-height:1.3;height:62px;box-sizing:border-box}
.distribution-table .transfer-name{text-align:left;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.transfer-sku{font-size:12px;overflow-wrap:anywhere}
.transfer-photo .product-thumb{width:34px;height:44px;margin:auto}
.transfer-number{position:relative;font-variant-numeric:tabular-nums}
.transfer-value{display:inline-flex;align-items:center;justify-content:center;height:34px;font-size:17px;font-weight:700;line-height:1}
.distribution-table .transfer-number input{display:block;box-sizing:border-box;width:84px;height:34px;min-height:34px;padding:0 5px;font-size:17px;font-weight:700;line-height:32px;margin:0 auto;text-align:center;appearance:textfield}
.transfer-number input::-webkit-inner-spin-button,.transfer-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.distribution-table .transfer-note{position:absolute;bottom:1px;left:2px;right:2px;display:block;font-size:9px;line-height:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#89968f}
.distribution-table .reserve-shortage{color:#a23d28}

/* Work windows: fixed header and footer, table fills remaining height. */
.distribution-dialog,.floating-window{width:min(860px,94vw);height:min(820px,92vh);max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);min-width:min(560px,94vw);min-height:min(330px,90vh);padding:18px 20px;overflow:hidden;position:fixed}
.distribution-dialog[open],.floating-window[open]{display:flex;flex-direction:column;gap:9px}
.window-handle{cursor:move;touch-action:none;user-select:none;display:flex;justify-content:space-between;align-items:center;padding:5px 0 10px;border-bottom:1px solid #e4eae7;flex-shrink:0}
.window-handle span{color:#9aa8a2;font-size:19px}.window-handle:focus-visible{outline:2px solid #83b7a9}
.window-resize{position:absolute;bottom:2px;right:2px;background:transparent;color:#8ba69b;padding:0;width:22px;height:22px;cursor:nwse-resize;touch-action:none;font-size:17px}
#distribution-result{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}
#distribution-result-info{font-size:12px!important;line-height:1.4!important;margin:0;max-height:34px;overflow:hidden}
.folding-help{font-size:12px;color:#76847d;flex-shrink:0}.folding-help summary{cursor:pointer;color:#577568;font-size:12px;line-height:1.5}.help-body{max-height:230px;overflow:auto;padding:7px 0}.help-body p{margin:6px 0}
.distribution-table{flex:1;min-height:100px;max-height:none;overflow:auto}
.distribution-dialog>.dialog-actions{flex-shrink:0;margin:0;padding-top:4px}#distribution-result>.dialog-actions{margin:0}
#distribution-step-one,#distribution-step-two{overflow:auto;flex:1;min-height:0}
.launch-table{flex:1;min-height:100px;overflow:auto}.launch-table table{table-layout:fixed;min-width:540px}.launch-table th{position:sticky;top:0;z-index:1;background:#f8fafb}.launch-table td{padding:8px;vertical-align:middle;white-space:normal}.launch-table .product-thumb{width:34px;height:44px;margin:auto}.launch-quantity{font-size:17px;font-weight:700;text-align:center}.launch-table th{text-align:center}.floating-window>.dialog-actions{flex-shrink:0;flex-wrap:wrap;margin:0}.batch-items td,.batch-items th{padding:8px 12px}.batch-items td:not(:first-child){text-align:center}#launch-review-error{color:#a23d28}

.marketplace-card-link{color:#788f84;font-size:11px;text-decoration:underline;text-underline-offset:2px}.marketplace-card-link:hover{color:#247964}#marketplace-dialog{width:min(650px,94vw);max-height:85vh;overflow:auto}#marketplace-options{margin:14px 0}.marketplace-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #e4eae7}.marketplace-option p{margin:6px 0}.marketplace-option small{color:#8b9891}.marketplace-option>a{white-space:nowrap;border:1px solid #c9dbd1;border-radius:6px;padding:9px 12px;color:#247964;text-decoration:none;font-size:12px}.missing-card-code{max-width:190px;font-size:11px;color:#9a8872}

.urgent-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0}.urgent-settings label{font-size:12px}.urgent-settings input{width:75px;font-size:16px;font-weight:700;margin-left:8px}#urgent-info{margin:0;font-size:12px}#urgent-error{color:#a23d28}#urgent-dialog .distribution-table{flex:1}#urgent-dialog .folding-help{flex-shrink:0}

.unmatched-group-title{padding:0 20px;margin:18px 0 10px;font-size:15px;color:#526d61}#ozon-unmatched-group{border-top:1px solid #dfe8e2;padding:10px 0;margin-top:20px}#unmatched-marketplace{min-width:140px}

.article-with-tags{display:flex;align-items:center;gap:4px;min-width:0}.article-with-tags b{flex:0 1 auto;min-width:0}.tag-icon{padding:0!important;width:20px;height:20px;flex:0 0 20px;line-height:18px;font-size:16px!important;font-weight:600;background:transparent;color:#789b8b;border:1px solid #dbe7e0;border-radius:4px}.tag-icon:hover{color:#247964;background:#edf5f0}#tag-dialog,#tag-filter-dialog{width:min(570px,94vw);max-height:85vh;overflow:auto}.tag-options{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;max-height:42vh;overflow:auto}.tag-choice{display:flex;align-items:center;gap:6px;border:1px solid #dce6df;border-radius:7px;padding:8px 10px;cursor:pointer;font-size:13px}.tag-choice input{margin:0}.tag-create-row{display:flex;gap:9px}.tag-create-row input{min-width:0;flex:1}.tag-mode{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}#tag-error{color:#a23d28}#tag-filter{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.article-with-tags{flex-wrap:wrap}.assigned-tag-labels{font-size:10px;line-height:1.3;font-weight:400;color:#a4ada8;white-space:normal;overflow-wrap:anywhere;max-width:100%;flex:0 1 auto}

.unmatched-item small .unmatched-cabinet-link{color:#6d8a7d;text-decoration:underline;text-underline-offset:2px;font-size:inherit;font-weight:600}.unmatched-item small .unmatched-cabinet-link:hover{color:#247964}
