@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";:root{--font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--color-bg: #f5f5f5;--color-surface: #ffffff;--color-border: #e0e0e0;--color-text: #212121;--color-text-secondary: #757575;--color-primary: #1976d2;--color-primary-hover: #1565c0;--color-primary-light: #e3f2fd;--color-success: #2e7d32;--color-success-light: #e8f5e9;--color-error: #d32f2f;--color-error-light: #ffebee;--color-warning: #f57c00;--color-warning-light: #fff3e0;--color-pending: #ff9800;--color-assembled: #4caf50;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .16);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,select,button,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}img{max-width:100%;height:auto}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-lg)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.header-left{display:flex;align-items:center;gap:var(--space-md)}.header-right{flex-shrink:0}.header-logo{height:36px;display:block;border-radius:4px}.header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tab-switcher{background:var(--color-surface);border-bottom:2px solid var(--color-border)}.tab-switcher-inner{display:flex;gap:0;padding:0 var(--space-lg)}.tab{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color var(--transition),border-color var(--transition)}.tab:hover{color:var(--color-text);text-decoration:none}.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-logout{margin-left:auto;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;color:var(--color-text-secondary)}.tab-logout:hover{color:var(--color-error)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background var(--transition),opacity var(--transition);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm)}.btn-md{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base)}.btn-lg{padding:var(--space-md) var(--space-lg);font-size:var(--font-size-lg)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:#1b5e20}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#b71c1c}.status-badge{display:inline-block;padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap}.status-draft{background:#ffebee;color:#c62828}.status-pending{background:var(--color-warning-light);color:var(--color-warning)}.status-in_progress{background:#e3f2fd;color:#1565c0}.status-assembled{background:var(--color-success-light);color:var(--color-success)}.status-assembled_with_deviations{background:#e8f5e9;color:#66bb6a}.status-reviewing{background:#fff3e0;color:#e65100}.status-ready_for_shipment{background:#e8f5e9;color:#2e7d32}.status-logistics_ordered{background:#f3e5f5;color:#7b1fa2}.status-shipped{background:#e0f2f1;color:#00695c}.status-supply_return{background:#fff3e0;color:#e65100}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column}.modal-wide{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:500}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-xs);line-height:1}.modal-close:hover{color:var(--color-text)}.modal-body{padding:var(--space-lg);overflow-y:auto}.supply-list-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.supply-list{width:100%}.supply-filters{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-sm);align-items:center}.filter-select{padding:4px var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-family:inherit;cursor:pointer;background:var(--color-bg);color:var(--color-text)}.filter-select:focus{border-color:var(--color-primary);outline:none}.filter-select.active{background:#e3f2fd;border-color:#42a5f5;color:#1565c0}.filter-group{display:flex;align-items:center;gap:2px}.filter-lock-btn{background:none;border:none;cursor:pointer;font-size:.8rem;padding:2px 4px;border-radius:var(--radius-sm);opacity:.4;transition:opacity .15s}.filter-lock-btn:hover{opacity:.7}.filter-lock-btn.locked{opacity:1}.filter-reset-btn{padding:4px var(--space-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-family:inherit;cursor:pointer;background:var(--color-error);color:#fff;white-space:nowrap}.filter-reset-btn:hover{opacity:.85}.supply-table{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);width:100%;table-layout:auto}.supply-table th,.supply-table td{padding:var(--space-xs) var(--space-sm);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;font-size:var(--font-size-sm)}.supply-table th{background:var(--color-bg);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{color:var(--color-primary)}.supply-row{cursor:pointer;transition:background var(--transition)}.supply-row:hover{background:var(--color-primary-light)}.supply-row-archived{opacity:.45;background:#f5f5f5!important}.supply-row-archived:hover{opacity:.65}.archive-label{display:inline-block;padding:2px var(--space-xs);border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;background:#e0e0e0;color:#757575}.filter-archive-btn{padding:4px var(--space-sm);border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-family:inherit;cursor:pointer;background:var(--color-bg);color:var(--color-text-secondary);white-space:nowrap}.filter-archive-btn:hover{border-color:var(--color-text-secondary)}.filter-archive-btn.active{background:#e3f2fd;border-color:#42a5f5;border-style:solid;color:#1565c0}.mp-badge{display:inline-block;padding:1px var(--space-xs);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.mp-row-wildberries{background:#faf0fc}.mp-row-wildberries .mp-badge{background:#e8c9ee}.mp-row-ozon{background:#eef6fd}.mp-row-ozon .mp-badge{background:#c5dff5}.inline-edit-input{padding:2px var(--space-xs);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;width:100%;box-sizing:border-box}.inline-edit-actions{display:flex;gap:var(--space-xs)}.edit-icon-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:2px 4px;font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.edit-icon-btn:hover{color:var(--color-primary);background:var(--color-primary-light)}.edit-icon-btn.save{color:var(--color-success)}.edit-icon-btn.delete:hover{color:var(--color-error);background:var(--color-error-light)}.supply-number-input{padding:2px var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;width:90px;box-sizing:border-box;background:transparent}.supply-number-input:focus{border-color:var(--color-primary);outline:none}.shipment-select{padding:2px var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-family:inherit;cursor:pointer}.shipment-select.shipment-direct{background:var(--color-surface)}.shipment-select.shipment-crossdocking{background:#e8f5e9}.shipment-select.shipment-external_logistics{background:#e3f2fd}.shipment-badge{display:inline-block;padding:1px var(--space-xs);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.shipment-badge.shipment-crossdocking{background:#e8f5e9;color:#2e7d32}.shipment-badge.shipment-external_logistics{background:#e3f2fd;color:#1565c0}.ip-select{padding:2px var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-family:inherit;cursor:pointer;background:var(--color-surface)}.text-muted{color:var(--color-text-secondary)}.datetime-cell{font-size:.75rem;color:var(--color-text-secondary)}.pass-blink-badge{display:inline-block;background:#c62828;color:#fff;padding:2px 10px;border-radius:4px;font-weight:700;font-size:.85rem;margin-left:8px;animation:pass-blink 1s ease-in-out infinite}@keyframes pass-blink{0%,to{opacity:1}50%{opacity:.3}}.btn-return-supply{background:#e65100;color:#fff;border:none;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;margin-left:8px}.btn-return-supply:hover{background:#bf360c}.th-checkbox,.td-checkbox{width:32px;text-align:center;padding:4px!important}.th-checkbox input,.td-checkbox input{cursor:pointer;width:16px;height:16px}.btn-delete-selected{background:#c62828;color:#fff;border:none;padding:6px 14px;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn-delete-selected:hover{background:#b71c1c}.btn-delete-selected:disabled{opacity:.6;cursor:not-allowed}.wizard-steps{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.wizard-step{flex:1;padding:var(--space-sm) var(--space-md);text-align:center;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);background:var(--color-bg);border-radius:var(--radius-sm)}.wizard-step.active{background:var(--color-primary-light);color:var(--color-primary)}.wizard-error{background:var(--color-error-light);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.wizard-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-input,.form-select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary)}.form-file{font-size:var(--font-size-sm)}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-success{font-size:var(--font-size-sm);color:var(--color-success);font-weight:500}.wizard-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.wizard-summary{background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-md);font-size:var(--font-size-sm)}.wizard-summary p{margin:var(--space-xs) 0}.wizard-review-title{font-size:var(--font-size-base);font-weight:500}.wizard-table-wrap{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.wizard-table{font-size:var(--font-size-sm)}.wizard-table th,.wizard-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);text-align:left}.wizard-table th{background:var(--color-bg);font-weight:500;position:sticky;top:0}.page{display:flex;flex-direction:column;gap:var(--space-lg)}.page-header{display:flex;justify-content:space-between;align-items:center}.page-title{font-size:var(--font-size-xl);font-weight:500}.page-back{margin-bottom:var(--space-sm)}.page-center{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.page-error{color:var(--color-error)}.pdf-thumb{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:#fff;flex-shrink:0;transition:box-shadow var(--transition);position:relative}.pdf-thumb:hover{box-shadow:var(--shadow-md)}.pdf-thumb-object{display:block;pointer-events:none}.pdf-thumb-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.supply-detail{display:flex;flex-direction:column;gap:var(--space-lg)}.supply-detail-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-md)}.supply-detail-info h2{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xl);font-weight:500}.supply-meta{margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.supply-detail-actions{display:flex;gap:var(--space-md)}.actions-col{display:flex;flex-direction:column;gap:var(--space-xs)}.actions-col .btn-full-width{width:100%;justify-content:flex-start}.upload-label{cursor:pointer}.detail-error{background:var(--color-error-light);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.detail-success{background:var(--color-success-light);color:var(--color-success);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.supply-items-table-wrap{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:visible}.supply-items-table th,.supply-items-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);text-align:left;font-size:var(--font-size-sm)}.supply-items-table th{background:var(--color-bg);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.row-completed{background:var(--color-success-light)}.box-barcodes{font-family:monospace;font-size:.8rem;max-width:200px;overflow:hidden;text-overflow:ellipsis}.edit-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);text-decoration:underline;margin-left:var(--space-sm);padding:0}.edit-link:hover{color:var(--color-primary-dark)}.edit-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-input,.form-select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;background:var(--color-surface);color:var(--color-text)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f326}.edit-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm)}.item-inline-input{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;width:100%;box-sizing:border-box}.item-actions{display:flex;gap:var(--space-xs);white-space:nowrap}.item-action-btn{background:none;border:none;cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);font-size:1rem;line-height:1;color:var(--color-text-secondary)}.item-action-btn:hover{background:var(--color-primary-light);color:var(--color-primary)}.item-action-btn.delete:hover{background:var(--color-error-light);color:var(--color-error)}.add-row-btn{padding:var(--space-md)}.adding-row{background:var(--color-primary-light)}.markings-row{display:flex;gap:var(--space-md);flex-wrap:wrap}.markings-row .markings-section{flex:1;min-width:200px}.markings-section{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-md)}.markings-section h3{font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--space-sm)}.markings-grid{display:flex;flex-wrap:wrap;gap:var(--space-md)}.marking-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:160px}.marking-card-info{display:flex;flex-direction:column;gap:var(--space-xs)}.marking-name{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}.marking-actions{display:flex;gap:var(--space-xs);align-items:center}.supply-cargo-info{display:flex;gap:var(--space-lg);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-sm) var(--space-md)}.cargo-info-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm)}.cargo-info-label{color:var(--color-text-secondary)}.cargo-info-value{font-weight:600}.section-separator .separator-cell{padding:var(--space-sm) var(--space-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);background:var(--color-bg);border-top:2px solid var(--color-border)}.article-suggestions{position:absolute;bottom:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;box-shadow:var(--shadow-md);z-index:100;min-width:280px}.article-suggestion-item{display:flex;flex-direction:column;padding:var(--space-xs) var(--space-sm);cursor:pointer;border-bottom:1px solid var(--color-border)}.article-suggestion-item:last-child{border-bottom:none}.article-suggestion-item:hover,.article-suggestion-item.active{background:var(--color-primary-light)}.suggestion-article{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.suggestion-name{font-size:.7rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warning-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.warning-modal-content{background:#fff;border-radius:12px;max-width:480px;width:90%;box-shadow:0 8px 32px #0000004d;overflow:hidden}.warning-modal-header{background:#c62828;padding:16px 24px}.warning-modal-title{margin:0;color:#fff;font-size:1.2rem}.warning-modal-body{padding:24px;display:flex;flex-direction:column;gap:12px}.warning-modal-item{padding:12px 16px;background:#fff3e0;border:1px solid #ff9800;border-radius:8px;display:flex;align-items:flex-start;gap:8px}.warning-modal-text{flex:1;font-size:1rem;line-height:1.5;font-weight:500}.warning-modal-mp{background:#e0e0e0;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.warning-modal-actions{padding:16px 24px;display:flex;justify-content:center}.warning-modal-confirm{padding:12px 48px;background:#c62828;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.warning-modal-confirm:hover{background:#b71c1c}.collect-form{display:flex;flex-direction:column;gap:var(--space-md)}.collect-nav{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.collect-nav-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.collect-product{display:flex;gap:var(--space-lg);align-items:flex-start}.collect-photo{width:150px;height:150px;object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.collect-photo-placeholder{width:150px;height:150px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.collect-product-info{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.collect-field{display:flex;gap:var(--space-sm)}.collect-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);min-width:100px}.collect-value{font-size:var(--font-size-sm);font-weight:500}.collect-value.mono{font-family:monospace}.collect-remaining{color:var(--color-primary);font-size:var(--font-size-lg)}.collect-warning{background:var(--color-warning-light);color:var(--color-warning);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.collect-error{background:var(--color-error-light);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.collect-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.collect-inputs .form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);display:block;margin-bottom:var(--space-xs)}.collect-inputs .form-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.collect-inputs .form-input:focus{outline:none;border-color:var(--color-primary)}.collect-inputs .form-input.mono{font-family:monospace}.collect-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.collect-mixed-warning{background:#fff3e0;border:1px solid #ff9800;border-radius:var(--radius-sm);padding:var(--space-md);font-size:var(--font-size-sm)}.collect-mixed-warning p{margin:0 0 var(--space-xs);line-height:1.5}.collect-mixed-warning ul{margin:0 0 var(--space-sm);padding-left:var(--space-lg)}.collect-mixed-warning li{font-weight:600}.collect-mixed-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm)}.barcode-scanner-overlay{position:fixed;inset:0;background:#000000d9;z-index:10000;display:flex;align-items:center;justify-content:center}.barcode-scanner-container{background:#fff;border-radius:12px;overflow:hidden;width:90vw;max-width:400px}.barcode-scanner-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;font-size:1rem;border-bottom:1px solid #eee}.scanner-torch-btn,.scanner-close-btn{width:36px;height:36px;border:1px solid #ddd;border-radius:8px;background:#f5f5f5;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.scanner-torch-btn:active,.scanner-close-btn:active{background:#e0e0e0}.barcode-scanner-view{width:100%;min-height:280px}.barcode-scanner-view video{width:100%!important;border-radius:0!important}.barcode-scanner-error{padding:8px 16px;color:#c62828;font-size:.85rem}.barcode-scanner-hint{text-align:center;padding:8px 16px 16px;color:#666;font-size:.85rem;margin:0}.btn-scan-camera{padding:8px 12px;font-size:1.3rem;border:1px solid var(--color-border, #ddd);border-radius:var(--radius-sm, 4px);background:var(--color-bg-secondary, #f5f5f5);cursor:pointer;flex-shrink:0;line-height:1}.btn-scan-camera:active{background:#e0e0e0}.barcode-scanner-video{width:100%;display:block;background:#000}.scanner-message{padding:10px 16px;text-align:center;font-size:.85rem;font-weight:600;border-radius:0 0 var(--radius-md) var(--radius-md)}.scanner-message-success{background:#dcfce7;color:#166534}.scanner-message-error{background:#fef2f2;color:#991b1b}.scanner-message-warning{background:#fef3c7;color:#92400e}.scanner-flash{position:absolute;inset:0;pointer-events:none;animation:flashFade .4s ease-out forwards;border-radius:inherit}.scanner-flash-success{background:#22c55e73}.scanner-flash-error{background:#ef444473}.scanner-flash-warning{background:#f59e0b73}@keyframes flashFade{0%{opacity:1}to{opacity:0}}.scanner-info{padding:10px 12px;background:#000000bf;color:#fff;display:flex;flex-direction:column;gap:4px}.scanner-info-article{font-weight:700;font-size:1rem;word-break:break-word}.scanner-info-details{display:flex;gap:12px;font-size:.8rem;opacity:.85;flex-wrap:wrap}.scanner-info-stats{display:flex;gap:12px;font-size:.85rem}.scanner-info-stats strong{color:#fff}.wh-detail{display:flex;flex-direction:column;gap:var(--space-lg)}.wh-detail-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-md)}.wh-detail-info h2{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xl);font-weight:500}.wh-meta{margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.wh-error{background:var(--color-error-light);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.wh-table-wrap{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow-x:auto}.wh-table{border-collapse:separate;border-spacing:0;width:100%}.wh-table th,.wh-table td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);text-align:left;font-size:var(--font-size-sm);white-space:nowrap}.wh-table td.box-col{white-space:normal;word-break:break-all}.wh-table th{background:var(--color-bg);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.row-done{background:var(--color-success-light)}.row-partial{background:#fff9c4}.row-uncollected{background:#ffcdd2}.row-overcollected{background:#fff9c4}.surplus-highlight{color:#e65100;font-weight:700}.remaining-highlight{color:#1565c0;font-weight:700}.mono{font-family:monospace;font-size:.8rem}.box-col{max-width:150px;overflow:hidden;text-overflow:ellipsis}.mp-badge{display:inline-block;padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.mp-wildberries{background:#f3e5f5;color:#7b1fa2}.mp-ozon{background:#e3f2fd;color:#0d47a1}.info-badge{display:inline-block;padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.mp-bg-wildberries{background:#f3e5f5}.mp-bg-ozon{background:#e3f2fd}.wh-markings{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-md)}.wh-markings h3{font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--space-sm)}.wh-markings-grid{display:flex;flex-wrap:wrap;gap:var(--space-md)}.wh-marking-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:160px}.wh-marking-card-info{display:flex;flex-direction:column;gap:var(--space-xs)}.wh-marking-name{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}.wh-actions-col{display:flex;flex-direction:column;align-items:center;gap:4px}.wh-actions-row{display:flex;gap:var(--space-xs)}.wh-icon-btn{background:none;border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);padding:2px 8px;font-size:.85rem;border-radius:var(--radius-sm);line-height:1.2;transition:all var(--transition)}.wh-icon-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-light)}.wh-icon-btn-danger:hover{color:var(--color-error);border-color:var(--color-error);background:var(--color-error-light)}.wh-actions{display:flex;gap:var(--space-xs);white-space:nowrap}.wh-detail-buttons{display:flex;gap:var(--space-sm);align-items:center}.wh-inline-input{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;width:70px;box-sizing:border-box}.wh-inline-input-wide{width:140px}.parent-with-children td{border-top:2px solid var(--color-border);border-bottom:none}.parent-with-children td:first-child{border-left:2px solid var(--color-border)}.parent-with-children td:last-child{border-right:2px solid var(--color-border)}.child-row td{border-bottom:none}.child-row td:first-child{border-left:2px solid var(--color-border)}.child-row td:last-child{border-right:2px solid var(--color-border)}.child-row-last td{border-bottom:2px solid var(--color-border)}.child-cell{background:#f5f5f5}.child-row+.child-row .child-cell{border-top:1px dashed var(--color-border)}.split-row{background:#f5f5f5}.split-row td{border-bottom:1px dashed var(--color-border)}.wh-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.verify-block{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.verify-block-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.verify-block-header h3{font-size:var(--font-size-base);font-weight:500;margin:0}.verify-counter{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.verify-scan-row{display:flex;gap:var(--space-sm)}.verify-scan-input{padding:var(--space-sm) var(--space-md);border:2px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:monospace;width:100%;max-width:400px;box-sizing:border-box}.verify-scan-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 66, 133, 244),.15)}.verify-scanned-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.verify-scanned-list>span{display:inline-block;padding:2px var(--space-sm);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-sm)}.verify-row-ok td{background:#b9f6ca!important}.verify-row-missing td{background:#ffcdd2!important}.verify-row-partial td{background:#fff9c4!important}.verify-ok{background:#e6f9e6}.verify-missing{background:#ffe6e6}.verify-extra{color:var(--color-error, #d32f2f);background:#ffe6e6}.verify-missing-text{color:var(--color-error, #d32f2f)}.verify-actions{display:flex;gap:var(--space-sm)}.verify-result{padding:var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.verify-result-ok{background:#e6f9e6;color:#2e7d32;font-weight:500;font-size:var(--font-size-base)}.verify-result-error{background:#fff8f8;border:1px solid #ffcdd2}.verify-result-section{margin-bottom:var(--space-sm)}.verify-result-section:last-child{margin-bottom:0}.verify-result-section ul{margin:var(--space-xs) 0 0 var(--space-md);padding:0;list-style:disc}.verify-result-section li{font-family:monospace;font-size:var(--font-size-sm);padding:2px 0}.drag-handle{cursor:grab;color:var(--color-text-secondary);font-size:1rem;text-align:center;-webkit-user-select:none;user-select:none;width:30px}.drag-handle:active{cursor:grabbing}tr[draggable=true]{transition:opacity .15s}.pass-blink-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, .8125rem);font-weight:700;color:#fff;background:var(--color-danger, #c62828);animation:pass-blink 1s ease-in-out infinite;margin-left:6px;vertical-align:middle}@keyframes pass-blink{0%,to{opacity:1}50%{opacity:.2}}.wh-mobile-cards{display:none}@media(max-width:768px){.wh-table-wrap{display:none}.wh-mobile-cards{display:flex;flex-direction:column;gap:8px}.wh-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);padding:12px;display:flex;flex-direction:column;gap:6px}.wh-card-done{background:#e8f5e9;border-color:#a5d6a7}.wh-card-surplus{background:#fff8e1;border-color:#ffe082}.wh-card-top{display:flex;justify-content:space-between;align-items:center}.wh-card-article{font-weight:600;font-size:.95rem;word-break:break-word}.wh-card-check{color:#2e7d32;font-weight:700;font-size:1.2rem;flex-shrink:0;margin-left:8px}.wh-card-barcode{font-family:monospace;font-size:.8rem;color:var(--color-text-secondary, #757575)}.wh-card-stats{display:flex;gap:12px;font-size:.85rem;flex-wrap:wrap}.wh-card-label{color:var(--color-text-secondary, #757575);font-size:.8rem}.wh-card-ms{color:var(--color-text-secondary, #757575);font-size:.75rem}.wh-card-zone{font-size:.85rem;color:#1565c0;font-weight:500}.wh-card-boxes{font-size:.8rem;color:var(--color-text-secondary, #757575);word-break:break-all}.wh-card-collect{display:flex;gap:8px;margin-top:4px;align-items:stretch}.wh-card-qty{flex:1;min-width:0;padding:10px 12px;border:2px solid var(--color-primary, #1976d2);border-radius:var(--radius-sm, 4px);font-size:1.1rem;text-align:center;font-family:inherit;box-sizing:border-box}.wh-card-qty:focus{outline:none;border-color:var(--color-primary, #1976d2);box-shadow:0 0 0 3px #1976d226}.wh-card-scan-btn{width:52px;flex-shrink:0;border:2px solid var(--color-border, #e0e0e0);border-radius:var(--radius-sm, 4px);background:var(--color-bg-secondary, #f5f5f5);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.wh-card-scan-btn:active{background:#e0e0e0}}.wh-card-box-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;gap:8px;font-size:.8rem}.wh-card-box-row+.wh-card-box-row{border-top:1px dashed var(--color-border, #e0e0e0)}.wh-card-box-actions{display:flex;gap:4px;flex-shrink:0}.wh-card-box-btn{background:none;border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-sm, 4px);padding:4px 10px;font-size:.9rem;cursor:pointer;color:var(--color-text-secondary, #757575);line-height:1}.wh-card-box-btn:active{background:#e0e0e0}.wh-card-box-btn-danger{color:var(--color-error, #c62828)}.wh-card-box-edit{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:6px 0}.wh-card-box-input{padding:8px;border:2px solid var(--color-primary, #1976d2);border-radius:var(--radius-sm, 4px);font-size:.9rem;font-family:monospace;width:60px;box-sizing:border-box}.wh-card-box-input-wide{flex:1;min-width:120px;width:auto}.wh-card-partial{background:#fff8e1;border-color:#ffe082}.wh-card-uncollected{background:#ffebee;border-color:#ef9a9a}.wh-volume-badges{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.volume-badge{display:inline-block;padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.volume-badge-planned{background:#e8f5e9;color:#2e7d32}.volume-badge-actual{background:#fff3e0;color:#e65100}.pallet-viz{flex-shrink:0;margin-left:var(--space-sm);vertical-align:middle}.wh-weight-info{display:flex;gap:var(--space-sm);margin-top:var(--space-xs)}.weight-badge{display:inline-block;padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600}.weight-badge-planned{background:#e8f5e9;color:#2e7d32}.weight-badge-actual{background:#fff3e0;color:#e65100}.product-ref{display:flex;align-items:center;gap:var(--space-md)}.product-ref-label{cursor:pointer}.file-hidden{display:none}.product-ref-success{font-size:var(--font-size-sm);color:var(--color-success)}.product-ref-error{font-size:var(--font-size-sm);color:var(--color-error)}.settings-section{display:flex;flex-direction:column;gap:var(--space-md)}.settings-section-title{font-size:var(--font-size-lg);font-weight:500;margin:0}.settings-table-wrap{overflow-x:auto}.settings-table{width:100%;border-collapse:collapse}.settings-table th{text-align:left;font-weight:500;font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);white-space:nowrap}.settings-table td{padding:var(--space-xs) var(--space-sm)}.settings-table .form-input{width:100%;min-width:120px}.settings-actions{display:flex;align-items:center;gap:var(--space-md)}.settings-success{color:var(--color-success, #16a34a);font-size:var(--font-size-sm)}.settings-error{color:var(--color-error);font-size:var(--font-size-sm)}.toggle-row{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.toggle-label{font-size:var(--font-size-base);font-weight:500}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:48px;height:26px;background:var(--color-border, #ccc);border-radius:26px;transition:background .2s;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-input:checked+.toggle-slider{background:var(--color-success, #4caf50)}.toggle-input:checked+.toggle-slider:after{transform:translate(22px)}.yg-picker{border:1px solid var(--color-border, #ddd);border-radius:var(--radius-md, 8px);padding:var(--space-sm);max-height:300px;overflow-y:auto;background:var(--color-bg, #fff)}.yg-column-option{padding:4px 8px;margin:2px 0;margin-left:var(--space-sm);border-radius:var(--radius-sm, 4px);cursor:pointer;font-size:var(--font-size-sm)}.yg-column-option:hover{background:var(--color-hover, #f0f0f0)}.yg-column-selected{background:var(--color-primary-light, #e3f2fd);font-weight:500}.backup-section{display:flex;flex-direction:column;gap:var(--space-md)}.backup-list{margin-top:var(--space-sm)}.backup-list h4{margin:0 0 var(--space-sm);font-size:.9rem}.backup-table{width:100%;border-collapse:collapse;font-size:.85rem}.backup-table th,.backup-table td{padding:6px 12px;text-align:left;border-bottom:1px solid var(--color-border, #ddd)}.backup-table th{font-weight:600;color:var(--color-text-secondary)}.btn-restore{background:#e65100;color:#fff;border:none;padding:4px 12px;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer}.btn-restore:hover{background:#bf360c}.btn-restore:disabled{opacity:.5;cursor:not-allowed}.btn-cleanup{padding:.4rem .8rem;border:1px solid var(--color-danger, #c62828);background:transparent;color:var(--color-danger, #c62828);border-radius:var(--radius-sm, 4px);cursor:pointer;font-size:.85rem;transition:background .15s,color .15s}.btn-cleanup:hover:not(:disabled){background:var(--color-danger, #c62828);color:#fff}.btn-cleanup:disabled{opacity:.5;cursor:not-allowed}.shipment-summary-page{max-width:1400px;margin:0 auto;padding:var(--space-md)}.shipment-summary-page h2{margin:0 0 var(--space-lg)}.summary-filters{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.shipment-summary-page .filter-group{display:flex;flex-direction:column;gap:var(--space-xs)}.shipment-summary-page .filter-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.shipment-summary-page .filter-group select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);min-width:240px}.summary-totals{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.total-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:120px}.total-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.total-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary)}.ip-group{margin-bottom:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.ip-header{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.ip-name{font-weight:700;font-size:var(--font-size-base)}.ip-stat{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.summary-table{width:100%;border-collapse:collapse}.summary-table th{text-align:left;padding:8px 12px;font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.summary-table td{padding:8px 12px;border-bottom:1px solid var(--color-border-light, #f0f0f0);font-size:var(--font-size-sm)}.summary-table td.num{text-align:center;font-weight:600}.summary-loading,.summary-empty{color:var(--color-text-secondary);text-align:center;padding:var(--space-xl)}.total-card.highlight{border-color:var(--color-primary, #3b82f6);background:#eff6ff}.total-card.highlight .total-value{color:var(--color-primary, #3b82f6)}.scanned-pallets-section{margin-bottom:var(--space-lg)}.scanned-pallets-section h3{margin:0 0 var(--space-sm);font-size:var(--font-size-base)}.pallets-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.ip-shares{display:flex;gap:6px;flex-wrap:wrap}.ip-share-tag{display:inline-block;padding:2px 8px;border-radius:12px;background:#f1f5f9;font-size:.75rem;font-weight:500;color:#475569;white-space:nowrap}.logistics-cost-section{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.logistics-cost-section h3{margin:0 0 var(--space-md);font-size:var(--font-size-base)}.logistics-cost-section h4{margin:var(--space-md) 0 var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.logistics-inputs{display:flex;gap:var(--space-lg);align-items:flex-end;flex-wrap:wrap}.logistics-field label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.logistics-input-wrap{display:flex;align-items:center;gap:4px}.logistics-input{width:160px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.logistics-currency{font-size:var(--font-size-base);color:var(--color-text-secondary)}.logistics-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.logistics-table{max-width:400px}.logistics-table td.num{font-size:1rem;font-weight:700}.logistics-actions{margin-top:var(--space-md)}.logistics-save-btn{padding:8px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;background:var(--color-primary, #3b82f6);color:#fff;transition:background .15s}.logistics-save-btn:hover:not(:disabled){background:#2563eb}.logistics-save-btn:disabled{opacity:.5;cursor:default}.logistics-save-btn.saved{background:#16a34a}.total-card.error{border-color:#ef4444;background:#fef2f2}.total-card.error .total-value{color:#ef4444}.total-card.error .total-label{color:#b91c1c}.boxes-mismatch-warning{background:#fef2f2;color:#991b1b;border:1px solid #ef4444;border-radius:var(--radius-sm);padding:10px 14px;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-lg);word-break:break-all}.driver-section{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.driver-section h3{margin:0 0 var(--space-md);font-size:var(--font-size-base)}.driver-inputs{display:flex;gap:var(--space-md);align-items:flex-end;flex-wrap:wrap}.driver-field{flex:1;min-width:180px}.driver-field label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.driver-input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);box-sizing:border-box}.driver-save-btn{padding:8px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;background:var(--color-primary, #3b82f6);color:#fff;white-space:nowrap;transition:background .15s}.driver-save-btn:hover:not(:disabled){background:#2563eb}.driver-save-btn:disabled{opacity:.5;cursor:default}.driver-save-btn.saved{background:#16a34a}.pallet-viz-row{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-md);justify-content:center;align-items:flex-end}.pallet-viz{display:flex;flex-direction:column;align-items:center;min-width:220px;max-width:320px;flex:1}.pallet-viz-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.95rem;color:#1e293b;margin-bottom:6px}.pallet-viz-dot{width:8px;height:8px;border-radius:50%;background:#3b4fc4}.pallet-viz-body{width:100%}.pallet-viz-wrap{border:3px solid #2d2b7c;border-radius:6px;background:#fff;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:8px;box-shadow:inset 0 0 0 2px #2d2b7c14}.pallet-viz-boxes{display:flex;gap:6px;align-items:flex-end}.pallet-viz-column{flex:1;display:flex;flex-direction:column;gap:3px}.pallet-viz-box{padding:3px 8px;border-radius:3px;font-size:.72rem;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(0,0,0,.15)}.pallet-viz-box-green{background:#c6f0c2;color:#1a5c1a}.pallet-viz-box-purple{background:#dbb8f0;color:#4a1a6b}.pallet-viz-box-gray{background:#e2e8f0;color:#475569}.pallet-viz-base{display:flex;justify-content:space-between;padding:0 8px;margin-top:-1px}.pallet-viz-leg{width:28%;height:14px;background:#1e1e1e;border-radius:0 0 3px 3px}.ip-share-tag-green{background:#c6f0c2;color:#1a5c1a}.ip-share-tag-purple{background:#dbb8f0;color:#4a1a6b}.ip-share-tag-gray{background:#e2e8f0;color:#475569}.ip-group-green .ip-header{background:#e8f8e6}.ip-group-green .ip-name{color:#1a5c1a}.ip-group-purple .ip-header{background:#f3e8fa}.ip-group-purple .ip-name{color:#4a1a6b}.summary-layout{display:flex;gap:var(--space-lg);align-items:flex-start}.summary-left{flex:1;min-width:0}.summary-right{width:380px;flex-shrink:0;position:sticky;top:var(--space-md)}.summary-right .pallet-viz-row{flex-direction:column;align-items:center}@media(max-width:1100px){.summary-layout{flex-direction:column}.summary-right{width:100%;position:static}.summary-right .pallet-viz-row{flex-direction:row;flex-wrap:wrap;justify-content:center}}.pallet-list{display:flex;flex-direction:column;gap:var(--space-sm)}.pallet-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary, #f9f9f9);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--radius-md, 8px);cursor:pointer;position:relative;transition:background .15s}.pallet-card:hover{background:#f0f0f0}.pallet-card-name{font-weight:600;font-size:1rem}.pallet-card-meta{color:var(--color-text-secondary);font-size:.85rem}.pallet-card-delete{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1rem;cursor:pointer;color:var(--color-text-secondary);padding:4px 8px}.pallet-card-delete:hover{color:var(--color-danger, #c62828)}.pallet-scan-row{display:flex;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-sm);max-width:600px}.pallet-scan-row .form-input{flex:1}.pallet-error{color:var(--color-danger, #c62828);font-size:.9rem;margin-bottom:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:#fff3f3;border-radius:var(--radius-sm, 4px)}.pallet-summary{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;padding:var(--space-md);background:var(--color-bg-secondary, #f9f9f9);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-md)}.pallet-total{font-size:1.1rem;margin-right:var(--space-md)}.pallet-ip-row{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-xs) var(--space-sm);background:#fff;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e0e0e0)}.pallet-ip-name{font-weight:600}.pallet-ip-count{color:var(--color-text-secondary)}.pallet-ip-share{font-weight:600;color:var(--color-primary, #1565c0)}.pallet-supplies{display:flex;flex-direction:column;gap:var(--space-sm)}.pallet-supply-card{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e0e0e0)}.pallet-supply-card.complete{border-color:#4caf50;background:#f1f8e9}.pallet-supply-card.partial{border-color:#ff9800;background:#fff8e1}.pallet-supply-header{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;font-size:.9rem;margin-bottom:var(--space-xs)}.pallet-supply-ip{font-weight:700}.pallet-supply-status{font-weight:600}.pallet-supply-status.ok{color:#2e7d32}.pallet-supply-status.warn{color:#e65100}.pallet-supply-warning{color:#e65100;font-size:.85rem;margin-bottom:var(--space-xs)}.pallet-supply-boxes{display:flex;flex-wrap:wrap;gap:4px}.pallet-box-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#fff;border:1px solid #ddd;border-radius:4px;font-size:.75rem;font-family:monospace}.pallet-box-remove{background:none;border:none;cursor:pointer;color:#999;font-size:.8rem;padding:0 2px}.pallet-box-remove:hover{color:#c62828}.btn-back{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--color-primary, #1565c0);padding:var(--space-xs)}.pallet-card.closed{opacity:.7;background:#f5f5f5}.pallet-card-actions{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;gap:8px;align-items:center}.pallet-card-reopen{background:none;border:1px solid var(--color-primary, #1565c0);color:var(--color-primary, #1565c0);border-radius:var(--radius-sm, 4px);padding:2px 10px;font-size:.8rem;cursor:pointer}.pallet-card-reopen:hover{background:var(--color-primary, #1565c0);color:#fff}.pallet-warning{background:#fef3c7;color:#92400e;border:1px solid #f59e0b;border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.pallet-actions-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap}.pallet-supply-info{font-size:.8rem;color:#166534;padding:2px 0}.pallet-ip-row-green .pallet-ip-name{color:#1a5c1a;font-weight:700}.pallet-ip-row-green .pallet-ip-share{background:#c6f0c2;color:#1a5c1a;border-radius:8px;padding:2px 8px}.pallet-ip-row-purple .pallet-ip-name{color:#4a1a6b;font-weight:700}.pallet-ip-row-purple .pallet-ip-share{background:#dbb8f0;color:#4a1a6b;border-radius:8px;padding:2px 8px}.pallet-supply-card-green{border-left:3px solid #4ade80}.pallet-supply-card-green .pallet-supply-ip{color:#1a5c1a}.pallet-supply-card-purple{border-left:3px solid #a855f7}.pallet-supply-card-purple .pallet-supply-ip{color:#4a1a6b}.pallet-supply-card-green .pallet-box-tag{background:#c6f0c2;color:#1a5c1a}.pallet-supply-card-purple .pallet-box-tag{background:#dbb8f0;color:#4a1a6b}.pallet-box-other{background:#fff8e1!important;border-color:#ffe082!important;color:#6d4c00!important}.pallet-box-missing{background:#ffebee!important;border-color:#ef9a9a!important;color:#b71c1c!important}.pallet-orphan-section{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:#fff3e0;border:1px solid #ffb74d;border-radius:var(--radius-md, 8px)}.pallet-orphan-header{font-weight:600;color:#e65100;margin-bottom:var(--space-xs);font-size:.9rem}.pallet-box-orphan{background:#fff3e0!important;border-color:#ffb74d!important;color:#e65100!important}.pallet-labels-section{margin-bottom:var(--space-md);padding:var(--space-md);background:#fff8e1;border:2px solid #ff9800;border-radius:var(--radius-md, 8px)}.pallet-labels-header{font-weight:700;font-size:1rem;color:#e65100;margin-bottom:var(--space-sm)}.pallet-labels-grid{display:flex;flex-wrap:wrap;gap:var(--space-md)}.pallet-label-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:#fff;border:1px solid #ffe082;border-radius:var(--radius-sm, 4px);max-width:160px}.pallet-label-info{display:flex;flex-direction:column;align-items:center;gap:4px}.pallet-label-name{font-size:.75rem;color:var(--color-text-secondary);text-align:center;word-break:break-all;max-width:140px}.pallet-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md)}.pallet-modal{background:#fff;border-radius:var(--radius-md, 8px);padding:var(--space-lg);max-width:420px;width:100%;text-align:center}.pallet-modal-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}.pallet-modal-title{font-weight:700;font-size:1.2rem;color:#e65100;margin-bottom:var(--space-sm)}.pallet-modal-text{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:1.5}.pallet-modal-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.warnings-page h1{margin-bottom:var(--space-md)}.warnings-form{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-secondary, #f5f5f5);border-radius:var(--radius-md, 8px)}.warnings-form-row{display:flex;gap:var(--space-md);align-items:flex-start;flex-wrap:wrap}.warnings-article-group{flex:1;min-width:180px}.warnings-autocomplete{position:relative}.warnings-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--color-border, #ddd);border-radius:var(--radius-sm, 4px);box-shadow:0 4px 12px #0000001a;z-index:100;max-height:200px;overflow-y:auto}.warnings-suggestion{padding:8px 12px;cursor:pointer;display:flex;gap:8px;align-items:center}.warnings-suggestion:hover{background:var(--color-bg-secondary, #f5f5f5)}.warnings-suggestion-article{font-weight:600;white-space:nowrap}.warnings-suggestion-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warnings-table{width:100%;border-collapse:collapse}.warnings-table th,.warnings-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border, #ddd)}.warnings-table th{background:var(--color-bg-secondary, #f5f5f5);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;color:var(--color-text-secondary)}.warnings-row-inactive{opacity:.5}.warnings-toggle{padding:4px 12px;border:none;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer}.warnings-toggle-on{background:#e8f5e9;color:#2e7d32}.warnings-toggle-off{background:#ffebee;color:#c62828}.warnings-actions{display:flex;gap:4px;align-items:center}.warnings-icon-btn{background:none;border:1px solid var(--color-border, #ddd);border-radius:4px;padding:4px 8px;cursor:pointer;font-size:1rem}.warnings-icon-btn:hover{background:var(--color-bg-secondary, #f5f5f5)}.warnings-icon-btn-danger:hover{background:#ffebee}@media(max-width:768px){.warnings-form-row{flex-direction:column}.warnings-table{font-size:var(--font-size-sm)}.warnings-table th:nth-child(3),.warnings-table td:nth-child(3){display:none}}.calc-page{padding:16px 24px;max-width:100%;margin:0 auto}.calc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calc-header h2{margin:0;font-size:1.3rem}.calc-btn{padding:8px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .15s}.calc-btn:hover{background:#f5f5f5}.calc-btn:disabled{opacity:.5;cursor:not-allowed}.calc-btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.calc-btn-primary:hover{background:#1d4ed8}.calc-btn-success{background:#16a34a;color:#fff;border-color:#16a34a}.calc-btn-success:hover{background:#15803d}.calc-btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}.calc-btn-danger:hover{background:#b91c1c}.calc-btn-sm{padding:4px 10px;font-size:.8rem}.calc-btn-large{padding:12px 32px;font-size:1rem;margin-top:16px}.calc-btn-upload{padding:10px 20px;border:2px dashed #bbb;background:#fafafa}.calc-btn-upload:hover{border-color:#2563eb;background:#eff6ff}.calc-link{background:none;border:none;color:#2563eb;cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.calc-table{width:100%;border-collapse:collapse;font-size:.85rem}.calc-table th,.calc-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #eee}.calc-table th{background:#f8f9fa;font-weight:600;position:sticky;top:0;z-index:1}.calc-table tbody tr:hover{background:#f8f9fb}.calc-table-wrapper{overflow-x:auto;max-height:70vh;overflow-y:auto}.calc-table-detail th,.calc-table-detail td{padding:5px 8px;white-space:nowrap;font-size:.8rem}.calc-row-total{background:#f0f4ff!important;font-weight:600}.calc-row-error{background:#fef2f2}.calc-row-warning{background:#fffbeb}.calc-row-muted{opacity:.5}.calc-row-no-stock{background:#fee2e2!important}.calc-cell-supply{font-weight:700;color:#16a34a}.calc-cell-warning{color:#d97706;font-weight:600}.calc-cell-decision{font-size:.75rem;color:#666}.calc-mp-badge{padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:600}.calc-mp-ozon{background:#e0f2fe;color:#0369a1}.calc-mp-wb{background:#fae8ff;color:#a21caf}.calc-status{padding:2px 8px;border-radius:4px;font-size:.8rem}.calc-status-draft{background:#f3f4f6;color:#6b7280}.calc-status-files_uploaded{background:#fef3c7;color:#92400e}.calc-status-calculated{background:#d1fae5;color:#065f46}.calc-status-error{background:#fee2e2;color:#991b1b}.calc-file-tag{display:inline-block;padding:2px 8px;margin:2px 4px;background:#f0f4ff;border-radius:4px;font-size:.8rem}.calc-kpi-panel{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.calc-kpi-card{flex:1;min-width:120px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.calc-kpi-value{font-size:1.4rem;font-weight:700;color:#1f2937}.calc-kpi-label{font-size:.75rem;color:#6b7280;margin-top:4px}.calc-create-form{max-width:400px}.calc-form-row{margin-bottom:16px}.calc-form-row label{display:block;margin-bottom:6px;font-weight:500}.calc-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.calc-mp-selector{display:flex;gap:8px}.calc-upload-section{max-width:700px}.calc-upload-grid{display:grid;gap:12px;margin:16px 0}.calc-upload-card{padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.calc-upload-done{border-color:#86efac;background:#f0fdf4}.calc-upload-label{font-weight:600;margin-bottom:8px}.calc-required{color:#dc2626;margin-left:4px}.calc-upload-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calc-upload-check{color:#16a34a;font-size:1.2rem}.calc-upload-rows{color:#6b7280;font-size:.8rem}.calc-btn-replace{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;margin-left:auto}.calc-btn-replace:hover{background:#e5e7eb}.calc-upload-warnings{width:100%;margin-top:6px}.calc-warning-item{color:#d97706;font-size:.8rem;padding:2px 0}.calc-info{color:#6b7280;font-size:.9rem;margin:8px 0}.calc-error{color:#dc2626;font-size:.9rem;margin:8px 0}.calc-empty{color:#9ca3af;text-align:center;padding:40px}.calc-actions{display:flex;gap:10px;margin:16px 0}.calc-view-toggle{display:flex;gap:8px;margin:12px 0}.calc-filter-info{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:.9rem}.calc-uploads-info{font-size:.85rem;margin-bottom:12px}.calc-cell-editable{cursor:pointer;position:relative}.calc-cell-editable:hover{background:#eff6ff}.calc-edit-icon{opacity:0;font-size:.7rem;color:#9ca3af;transition:opacity .15s}.calc-cell-editable:hover .calc-edit-icon{opacity:1}.calc-inline-edit{display:inline-flex;align-items:center}.calc-inline-input{width:70px;padding:2px 4px;border:1px solid #2563eb;border-radius:3px;font-size:.8rem;outline:none}.calc-cell-manual{color:#2563eb}.calc-row-manual{background:#eff6ff}.calc-row-blocked{background:#fef2f2;opacity:.6}.calc-detail-controls{display:flex;align-items:center;gap:16px;margin:8px 0}.calc-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer}.calc-sku-controls{display:flex;align-items:center;gap:12px;margin:12px 0;flex-wrap:wrap}.calc-search-input{max-width:300px}.calc-cell-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calc-box-warnings{margin:16px 0;border:2px solid #f59e0b;border-radius:8px;padding:12px;background:#fffbeb}.calc-box-warnings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px}.calc-box-warnings-tools{display:flex;gap:8px;align-items:center}.calc-search-input-sm{width:220px;padding:4px 8px;font-size:.8rem}.calc-box-warning-actions{display:flex;gap:4px;flex-wrap:nowrap}.calc-box-option{white-space:nowrap;font-size:.8rem}.calc-box-option-up .calc-cell-warning,.calc-box-option-down .calc-cell-decrease{font-size:.7rem}.calc-cell-decrease{color:#dc2626;font-weight:600}.calc-cell-original{color:#9ca3af;font-size:.75rem}.calc-cell-original-changed{color:#9ca3af;font-size:.75rem;text-decoration:line-through}.calc-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.calc-th-sort:hover{background:#e5e7eb}.calc-rc-select{font-size:.75rem;padding:2px 4px;border:1px solid #ddd;border-radius:4px;background:#fff;max-width:180px;cursor:pointer}.calc-rc-select:hover{border-color:#2563eb}.calc-date-input{font-size:1.2rem;font-weight:700;color:#1f2937;border:1px solid #e5e7eb;border-radius:6px;padding:4px 8px;background:#fff;cursor:pointer}.calc-date-input:hover{border-color:#2563eb}.calc-date-input:disabled{opacity:.5;cursor:wait}.calc-btn-force-supply{display:inline-block;margin-left:8px;padding:2px 8px;background:#dc3545;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;white-space:nowrap}.calc-btn-force-supply:hover{background:#c82333}.calc-file-tag-clickable{cursor:pointer;position:relative;transition:background .15s}.calc-file-tag-clickable:hover{background:#dbeafe}.calc-file-reupload-icon{font-size:.9rem;margin-left:2px;opacity:.4}.calc-file-tag-clickable:hover .calc-file-reupload-icon{opacity:1}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;padding:var(--space-lg)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:var(--space-lg)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.login-logo{width:80px;height:80px;border-radius:var(--radius-md);object-fit:cover}.login-title{font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);margin:0}.login-form{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.login-form .form-input,.login-form button{width:100%}.login-error{color:var(--color-error);font-size:var(--font-size-sm);margin:0}@media(max-width:768px){.tab-switcher-inner{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 var(--space-sm)}.tab{padding:var(--space-sm) var(--space-md);font-size:.85rem;white-space:nowrap}.main-content{padding:var(--space-xs) 0}.supply-table thead{display:none}.supply-table,.supply-table tbody,.supply-table tr,.supply-table td{display:block;width:100%}.supply-table tr{padding:var(--space-sm);margin-bottom:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative}.supply-table td{border-bottom:none;padding:2px var(--space-xs);white-space:normal;font-size:.85rem}.supply-table td:empty{display:none}.supply-table td:before{display:none}.td-checkbox,.th-checkbox{position:absolute;right:8px;top:8px;width:auto}.supply-filters{gap:var(--space-xs);padding:var(--space-xs)}.filter-select{font-size:.7rem;padding:4px 6px}.wh-detail-header{flex-direction:column;gap:var(--space-sm)}.wh-detail-buttons{flex-wrap:wrap;width:100%}.wh-detail-buttons .btn{flex:1;min-width:0;font-size:.8rem;padding:8px}.verify-scan-row{flex-direction:column}.verify-scan-input{max-width:100%}.wh-markings-grid{gap:var(--space-sm)}.wh-marking-card{width:calc(50% - 4px);min-width:100px}.page-header{flex-direction:column;gap:var(--space-sm);align-items:flex-start!important}.page-header .page-title{font-size:1.1rem}.pallet-scan-row{max-width:100%}.pallet-summary{flex-direction:column;gap:var(--space-sm);align-items:flex-start}.pallet-supply-header{font-size:.8rem}.pallet-box-tag{font-size:.7rem;padding:2px 6px}.pallet-card{flex-wrap:wrap;padding-right:60px}.btn,button.btn{font-size:.85rem;padding:8px 12px}.btn-scan-camera{min-width:44px;min-height:44px;font-size:1.2rem}}@media(max-width:480px){.tab{padding:var(--space-xs) var(--space-sm);font-size:.8rem}.wh-detail-info h2{font-size:1rem}.wh-marking-card{width:100%}.pallet-actions-row{flex-direction:column}.pallet-actions-row .btn{width:100%}}
