:root{--bg-base:#fafbfc;--bg-surface:#fff;--bg-elevated:#fff5f3;--bg-gradient:linear-gradient(135deg, #fff5f3 0%, #fff9f5 50%, #f5f8ff 100%);--header-bg:#1e293b;--header-text:#e2e8f0;--header-active:#f87171;--header-hover:#334155;--accent-primary:#e8604c;--accent-primary-hover:#d94f3e;--accent-secondary:#fb923c;--accent-tertiary:#6366f1;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border-warm:#f0e8e5;--border-light:#f8f4f2;--border-accent:#fed7d2;--table-header-bg:#fef2f0;--table-row-hover:#fffaf8;--table-row-alt:#fdfdfe;--shadow-warm:#e8604c14;--shadow-soft:#1e293b0f;--shadow-card:0 1px 3px #0000000a, 0 4px 12px #0000000d;--shadow-float:0 4px 20px #0000001a;--status-active:#10b981;--status-danger:#ef4444;--status-warning:#f59e0b;--status-disabled:#cbd5e1;--tag-admin-bg:#fff1f0;--tag-admin-color:#e8604c;--tag-default-bg:#f1f5f9;--tag-default-color:#475569;--tag-green-bg:#ecfdf5;--tag-green-color:#059669;--tag-red-bg:#fef2f2;--tag-red-color:#dc2626;--tag-orange-bg:#fffbeb;--tag-orange-color:#d97706;--tag-yellow-bg:#fefce8;--tag-yellow-color:#ca8a04}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}::selection{color:var(--text-primary);background:#fed7d2}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.ant-layout{background:var(--bg-base)!important}.ant-layout-header{background:var(--header-bg)!important;border-bottom:1px solid #ffffff0d!important;box-shadow:0 1px 8px #0000001f!important}.ant-layout-content{background:var(--bg-gradient)!important}.ant-menu-dark{background:0 0!important}.ant-menu-dark .ant-menu-item{color:#94a3b8!important;border-radius:8px!important;height:36px!important;padding:0 14px!important;font-size:14px!important;font-weight:500!important;line-height:36px!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.ant-menu-dark .ant-menu-item:hover{color:#f1f5f9!important;background:var(--header-hover)!important}.ant-menu-dark .ant-menu-item-selected{color:#fff!important;background:#e8604c33!important}.ant-menu-dark .ant-menu-item-selected:after{display:none!important}.ant-btn-text{color:#94a3b8!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;transition:all .2s!important}.ant-btn-text:hover{color:#f1f5f9!important;background:var(--header-hover)!important}.ant-card{overflow:hidden;border:1px solid var(--border-warm)!important;box-shadow:var(--shadow-card)!important;background:var(--bg-surface)!important;border-radius:16px!important}.ant-card-head{border-bottom:1px solid var(--border-light)!important;background:var(--bg-surface)!important}.ant-card-head-title{color:var(--text-primary)!important;font-size:14px!important;font-weight:600!important}.ant-table-wrapper .ant-table{border:1px solid var(--border-warm);border-radius:14px;overflow:hidden}.ant-table-thead>tr>th{letter-spacing:.8px;text-transform:uppercase;background:var(--table-header-bg)!important;color:#e8604c!important;border-bottom:1px solid var(--border-accent)!important;padding:11px 14px!important;font-size:11px!important;font-weight:600!important}.ant-table-tbody>tr>td{color:var(--text-primary);font-size:13px;transition:background .12s;border-bottom:1px solid var(--border-light)!important;padding:11px 14px!important}.ant-table-tbody>tr:nth-child(2n)>td{background:var(--table-row-alt)!important}.ant-table-tbody>tr:hover>td{background:var(--table-row-hover)!important}.ant-table-tbody>tr:last-child>td{border-bottom:none!important}.ant-pagination{margin-top:16px!important}.ant-pagination-item{overflow:hidden;border-color:var(--border-warm)!important;border-width:1px!important;border-radius:8px!important}.ant-pagination-item-active{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.ant-pagination-item-active a{color:#fff!important}.ant-btn-primary{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;color:#fff!important;border-radius:10px!important;height:36px!important;padding:0 18px!important;font-size:13px!important;font-weight:600!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 2px 8px #e8604c40!important}.ant-btn-primary:hover{transform:translateY(-1px);background:var(--accent-primary-hover)!important;border-color:var(--accent-primary-hover)!important;box-shadow:0 4px 16px #e8604c59!important}.ant-btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #e8604c33!important}.ant-btn-default{border-color:var(--border-warm)!important;color:var(--text-primary)!important;border-radius:10px!important;height:36px!important;font-size:13px!important;font-weight:500!important;transition:all .2s!important}.ant-btn-default:hover{border-color:var(--accent-primary)!important;color:var(--accent-primary)!important}.ant-btn-dangerous{border-color:var(--status-danger)!important;color:var(--status-danger)!important;background:0 0!important;border-radius:10px!important;font-weight:500!important}.ant-btn-dangerous:hover{background:var(--status-danger)!important;color:#fff!important}.ant-btn-sm{border-radius:8px!important;height:30px!important;padding:0 12px!important;font-size:12px!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-color:var(--border-warm)!important;background:var(--bg-surface)!important;border-radius:10px!important;font-size:13px!important;transition:all .2s!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select-selector:hover,.ant-picker:hover{border-color:#fed7d2!important}.ant-input:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px #e8604c1a!important}.ant-tag{letter-spacing:.2px;border:none;font-size:11px;font-weight:600;border-radius:8px!important;padding:2px 8px!important}.ant-drawer-content{background:var(--bg-surface)!important}.ant-drawer-header{background:var(--bg-elevated)!important;border-bottom:1px solid var(--border-accent)!important}.ant-drawer-title{color:var(--text-primary)!important;font-size:15px!important;font-weight:700!important}.ant-drawer-close{color:var(--text-muted)!important}.ant-drawer-footer{border-top:1px solid var(--border-light)!important;background:var(--bg-base)!important}.ant-modal-content{border:1px solid var(--border-warm)!important;border-radius:18px!important;box-shadow:0 16px 48px #0000001f!important}.ant-modal-header{background:var(--bg-surface)!important;border-bottom:1px solid var(--border-light)!important;border-radius:18px 18px 0 0!important;padding:20px 24px!important}.ant-modal-title{font-size:16px!important;font-weight:700!important}.ant-modal-body{padding:20px 24px!important}.ant-input-search .ant-input{border-radius:10px 0 0 10px!important}.ant-input-search .ant-input-button{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;border-radius:0 10px 10px 0!important}.ant-dropdown-menu{overflow:hidden;border:1px solid var(--border-warm)!important;box-shadow:var(--shadow-float)!important;background:var(--bg-surface)!important;border-radius:14px!important;padding:6px!important}.ant-dropdown-menu-item{border-radius:8px!important;padding:8px 12px!important;font-size:13px!important;transition:background .12s!important}.ant-dropdown-menu-item:hover{background:var(--bg-elevated)!important}.ant-popover-inner{border:1px solid var(--border-warm)!important;box-shadow:var(--shadow-float)!important;border-radius:14px!important;padding:4px!important}.ant-form-item-label>label{font-size:12px;font-weight:600;color:var(--text-secondary)!important}.ant-spin-dot-item{background-color:var(--accent-primary)!important}.ant-message .ant-message-notice-content{border:1px solid var(--border-accent)!important;background:var(--bg-surface)!important;border-radius:12px!important;box-shadow:0 8px 32px #0000001a!important}.ant-select-dropdown{border:1px solid var(--border-warm)!important;box-shadow:var(--shadow-float)!important;background:var(--bg-surface)!important;border-radius:14px!important;padding:6px!important}.ant-select-item{border-radius:8px!important;margin:1px 4px!important;padding:7px 12px!important;font-size:13px!important;transition:background .12s!important}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:var(--bg-elevated)!important;color:var(--accent-primary)!important;font-weight:700!important}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background:var(--table-row-hover)!important}.ant-switch{background:var(--border-warm)!important}.ant-switch-checked{background:var(--accent-primary)!important}.ant-divider{border-color:var(--border-light)!important}.ant-empty-description{color:var(--text-muted)!important}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.page-enter{animation:.35s ease-out forwards fadeSlideUp}.login-bg-gradient{background:linear-gradient(135deg,#fff5f3 0%,#fffdf5 40%,#f0f5ff 100%)}.inventory-detail-modal .ant-modal-content{border-radius:8px;overflow:hidden}.inventory-detail-modal .ant-modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:none;padding:16px 24px}.inventory-detail-modal .ant-modal-title{color:#fff;font-size:18px;font-weight:600}.inventory-detail-modal .ant-modal-close{color:#694d9f;opacity:.8;transition:all .3s}.inventory-detail-modal .ant-modal-close:hover{opacity:1;background:#e6f7ff4d;transform:scale(1.1)}.inventory-detail-modal .ant-modal-close:focus{color:#694d9f;opacity:1}.inventory-detail-modal .ant-modal-body{background:#f0f2f5;padding:16px}.inventory-detail-modal .modal-title{color:#fff;align-items:center;font-size:18px;font-weight:600;display:flex}.inventory-detail-modal .modal-content{max-height:70vh;overflow-y:auto}.inventory-detail-modal .info-card{border-radius:8px;margin-bottom:16px;transition:all .3s;box-shadow:0 2px 8px #00000017}.inventory-detail-modal .info-card:hover{box-shadow:0 4px 12px #00000026}.inventory-detail-modal .info-card .ant-card-head{color:#333;background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%);border-bottom:1px solid #e8e8e8;font-weight:600}.inventory-detail-modal .info-card .ant-card-head-title{font-size:14px}.inventory-detail-modal .info-card .ant-card-body{padding:16px}.inventory-detail-modal .ant-descriptions-item-label{color:#8c8c8c;font-size:13px}.inventory-detail-modal .ant-descriptions-item-content{color:#333;font-size:13px;font-weight:500}.inventory-detail-modal .ant-statistic-title{color:#8c8c8c;font-size:13px}.inventory-detail-modal .ant-statistic-content{font-size:20px;font-weight:600}.inventory-detail-modal .ant-divider{border-top:1px dashed #d9d9d9}.inventory-detail-modal .modal-content::-webkit-scrollbar{width:6px;height:6px}.inventory-detail-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.inventory-detail-modal .modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.inventory-detail-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (width<=768px){.inventory-detail-modal .ant-modal{max-width:95vw}.inventory-detail-modal .modal-content{max-height:60vh}.inventory-detail-modal .info-card .ant-card-body{padding:12px}.inventory-detail-modal .ant-descriptions-item{padding-bottom:8px!important}}.sku-stockout-view{box-sizing:border-box;background:#ffecf5;flex-direction:column;width:100%;height:100vh;padding:16px;display:flex;overflow:hidden}.title{color:#2c3e50;text-shadow:0 2px 4px #0000001a;letter-spacing:-.5px;margin:0 0 12px;padding-left:16px;font-size:28px;font-weight:700;position:relative}.filter-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:none;border-radius:16px;margin-bottom:20px;padding:12px 20px;box-shadow:0 8px 24px #00000014,0 2px 6px #0000000a}.filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.filter-item{align-items:center;gap:12px;display:flex}.filter-label{color:#4a5568;white-space:nowrap;letter-spacing:.3px;font-size:14px;font-weight:600}.filter-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;width:220px;padding:6px 12px;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-input:focus{background:#fff;border-color:#4a90e2;outline:none;transform:translateY(-1px);box-shadow:0 0 0 3px #4a90e21a}.filter-input:hover{border-color:#cbd5e0}.filter-input::placeholder{color:#a0aec0}.clear-filter-btn{color:#333;cursor:pointer;white-space:nowrap;background:#d9ffff;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #d9ffff66}.clear-filter-btn:hover{background:#c6eeee;transform:translateY(-2px);box-shadow:0 6px 16px #d9ffff99}.clear-filter-btn:active{transform:translateY(0)}.clear-filter-btn.active{color:#fff;background:linear-gradient(135deg,#4a90e2 0%,#60bbfd 100%);box-shadow:0 4px 12px #4a90e24d}.clear-filter-btn.active:hover{background:linear-gradient(135deg,#357abd 0%,#4a90e2 100%);transform:translateY(-2px)}.filter-summary{color:#718096;border-top:2px solid #f7fafc;margin-top:16px;padding-top:16px;font-size:13px;font-weight:500}.filter-summary .count-highlight{color:#667eea;font-size:15px;font-weight:700}.config-info{color:#718096;border-left:2px solid #e2e8f0;margin-left:16px;padding-left:16px;font-size:12px;font-weight:500}.config-info span{color:#4a90e2;font-weight:600}.content-container{background:#fff;border:none;border-radius:16px;flex-direction:column;flex:1;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000001f,0 8px 24px #00000014}.unified-table-container{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.table-footer{z-index:10;background:linear-gradient(#f8fafc,#f1f5f9);border-top:2px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;padding:10px 24px;box-shadow:0 -4px 12px #0000000d}.footer-info{color:#4a5568;flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.footer-item{align-items:center;gap:6px;font-weight:500;display:flex}.footer-divider{color:#cbd5e0;font-size:16px;font-weight:300}.count-highlight{color:#667eea;font-size:16px;font-weight:700}.table-footer .highlight{color:#4a90e2;font-weight:600}.unified-content-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.header-row{z-index:10;background:linear-gradient(#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;flex-shrink:0;display:flex;position:relative}.header-table{z-index:11;will-change:transform;background:linear-gradient(#f8fafc,#f1f5f9);flex-shrink:0;width:580px;display:flex;position:sticky;left:0;box-shadow:2px 0 8px #0000001a}.header-timeline-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.header-cell{text-align:left;color:#2d3748;letter-spacing:.3px;box-sizing:border-box;background:linear-gradient(#f8fafc,#f1f5f9);border-right:1px solid #e2e8f0;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.cell-number{text-align:center;flex-shrink:0;justify-content:center;width:60px}.cell-name{box-sizing:border-box;flex:1;align-items:center;min-width:120px;display:flex}.cell-warehouse{box-sizing:border-box;flex-shrink:0;width:100px}.cell-daily-sales{text-align:left;box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:flex-start;width:130px;padding-left:12px}.cell-sales-ratio{text-align:center;box-sizing:border-box;flex-shrink:0;justify-content:center;width:120px}.header-timeline-scroll-container{scrollbar-width:none;flex:1;align-items:stretch;min-width:0;display:flex;overflow:auto hidden}.header-timeline-scroll-container::-webkit-scrollbar{display:none}.custom-scrollbar-container{cursor:pointer;background:#f1f5f9;border-top:1px solid #e2e8f0;flex-shrink:0;align-items:center;width:100%;height:14px;padding:0 4px;display:flex}.custom-scrollbar-track{background:#e2e8f0;border-radius:3px;width:100%;height:6px;position:relative}.custom-scrollbar-thumb{cursor:grab;background:linear-gradient(#94a3b8,#64748b);border-radius:3px;min-width:40px;height:100%;transition:background .2s;position:absolute;top:0}.custom-scrollbar-thumb:hover{background:linear-gradient(#64748b,#475569)}.custom-scrollbar-thumb:active{cursor:grabbing}.header-timeline-wrapper{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:max-content;min-width:100%;display:flex}.timeline-control-row{background:linear-gradient(90deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;height:38px;display:flex}.timeline-year{color:#1a202c;letter-spacing:.5px;flex-shrink:0;min-width:90px;padding:0 20px;font-size:15px;font-weight:700}.timeline-controls{flex:1;align-items:center;gap:10px;padding:0 20px;display:flex;overflow-x:auto}.timeline-controls::-webkit-scrollbar{display:none}.view-mode-btn,.today-btn,.nav-arrow,.expand-btn{cursor:pointer;color:#4a5568;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.view-mode-btn:hover,.today-btn:hover,.nav-arrow:hover,.expand-btn:hover{background:#f7fafc;border-color:#cbd5e0;transform:translateY(-1px)}.view-mode-btn.active{color:#fff;background:linear-gradient(135deg,#4a90e2 0%,#60bbfd 100%);border-color:#4a90e2;box-shadow:0 4px 12px #4a90e24d}.today-btn{color:#667eea;border-color:#667eea}.today-btn:hover{background:#f0f4ff;box-shadow:0 4px 12px #667eea33}.nav-arrow{padding:8px 12px;font-size:12px}.expand-btn{color:#718096;margin-left:auto}.timeline-months-row{flex:1 0;order:2;min-width:max-content;height:38px;display:flex;position:relative;overflow:hidden}.timeline-years-row{border-bottom:2px solid #e0e0e0;flex-shrink:0;order:1;height:26px;display:flex;position:relative;overflow:hidden}.timeline-year-cell{color:#ff6b6b;background:linear-gradient(#fff5f5,#ffe8e8);border-right:2px solid #e0e0e0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:relative;box-shadow:inset 0 0 0 1px #0000000d}.timeline-year-cell:last-child{border-right:none}.timeline-month{text-align:center;color:#4a5568;letter-spacing:.3px;background:linear-gradient(#fff,#f8fafc);border-right:2px solid #e2e8f0;flex-grow:1;flex-shrink:0;justify-content:center;align-items:center;min-width:100px;padding:10px 4px;font-size:13px;font-weight:700;display:flex;position:relative}.timeline-month:last-child{border-right:none}.timeline-months-row.day-mode{flex-flow:row;align-items:stretch;height:auto;min-height:140px}.timeline-months-row.day-mode .timeline-month{writing-mode:vertical-lr;text-orientation:upright;color:#2d3748;letter-spacing:0;text-align:center;border-right:1px solid #e2e8f0;width:32px;min-width:32px;max-width:32px;height:auto;min-height:140px;padding:4px 2px;font-size:12px;font-weight:600;line-height:1.3}.timeline-months-row.day-mode .timeline-month .date-unit{color:#718096;font-size:11px;font-weight:400}.timeline-months-row.day-mode .timeline-month:last-child{border-right:none}.timeline-months-row.day-mode .timeline-month:after{display:none}.timeline-month:after{content:"";background:linear-gradient(90deg,#0000,#e2e8f0,#0000);height:2px;position:absolute;bottom:0;left:0;right:0}.unified-rows{flex-direction:column;flex:1;min-height:0;display:flex;overflow:visible auto;transform:translateZ(0)}.empty-data-state{color:#718096;background:linear-gradient(#fff,#f8fafc);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:240px;display:flex}.empty-data-title{color:#2d3748;font-size:18px;font-weight:700}.empty-data-text{color:#718096;font-size:13px}.unified-row{cursor:pointer;border-bottom:1px solid #f7fafc;flex-shrink:0;align-items:flex-start;height:auto;min-height:42px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.unified-row:before{content:"";z-index:1;background:#e2e8f0;width:1px;position:absolute;top:0;bottom:0;left:400px}.unified-row:hover{background:linear-gradient(90deg,#f7fafc,#fff);transform:scale(1.01);box-shadow:0 4px 12px #0000000d}.unified-row.hovered{background:linear-gradient(135deg,#e3f2fd 0%,#f0f9ff 100%);font-weight:600;box-shadow:0 4px 16px #4a90e226}.row-table{z-index:10;will-change:transform;background:#fff;border-right:2px solid #e2e8f0;flex-shrink:0;align-items:stretch;width:580px;height:auto;min-height:42px;display:flex;position:sticky;left:0;box-shadow:2px 0 8px #0000001a}.row-cell{color:#2d3748;box-sizing:border-box;border-right:1px solid #f7fafc;align-items:flex-start;min-height:42px;padding:8px 12px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.row-cell.cell-number{text-align:center;color:#718096;flex-shrink:0;justify-content:center;width:60px;font-weight:700}.row-cell.cell-name{text-overflow:ellipsis;white-space:nowrap;color:#1a202c;cursor:pointer;flex:1;align-items:center;min-width:120px;font-weight:600;transition:all .3s;display:flex;overflow:hidden}.row-cell.cell-name:hover{white-space:normal;z-index:10;background:#fff;border-radius:4px;margin:-8px;padding:8px;position:relative;overflow:visible;box-shadow:0 4px 12px #00000026}.row-cell.cell-warehouse{text-overflow:ellipsis;white-space:nowrap;color:#1a202c;box-sizing:border-box;flex-shrink:0;width:100px;font-weight:600;overflow:hidden}.row-cell.cell-daily-sales{text-align:center;box-sizing:border-box;flex-shrink:0;justify-content:center;width:130px;padding:8px}.row-cell.cell-sales-ratio{text-align:center;box-sizing:border-box;color:#4a5568;flex-shrink:0;justify-content:center;width:120px;padding:8px;font-weight:600}.group-header-row{color:#fff;background:#dcb5ff;border-bottom:2px solid #c9a3eb;flex-shrink:0;align-items:center;font-weight:700;display:flex}.group-header-row .row-cell{border-right:1px solid #ffffff4d;padding:12px}.group-header-row .row-cell:last-child{border-right:none}.group-name{align-items:center;gap:8px;display:flex}.group-name-text{font-size:15px;font-weight:700}.group-count{background:#ffffff40;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600}.header-sales-select{text-align:center;color:#4a5568;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:6px;width:140px;padding:4px 8px;font-size:12px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.header-sales-select:focus{border-color:#5a67d8;outline:none;box-shadow:0 0 0 3px #667eea33}.header-sales-select:hover{border-color:#5a67d8;transform:scale(1.02)}.sales-value{color:#2c3e50;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:700}.daily-sales-select{text-align:left;color:#4a5568;cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:6px;width:140px;padding:6px 8px;font-size:12px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.daily-sales-select:focus{background:#fff;border-color:#4a90e2;outline:none;box-shadow:0 0 0 3px #4a90e21a}.daily-sales-select:hover{border-color:#cbd5e0}.daily-sales-input{text-align:center;color:#4a5568;background:#f8fafc;border:2px solid #e2e8f0;border-radius:6px;width:100px;padding:6px 10px;font-size:12px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.daily-sales-input:focus{background:#fff;border-color:#4a90e2;outline:none;transform:scale(1.05);box-shadow:0 0 0 3px #4a90e21a}.daily-sales-input:hover{border-color:#cbd5e0}.daily-sales-input.edited{color:#e65100;background:#fff3e0;border-color:#ff9500}.daily-sales-input.edited:focus{border-color:#ff6b00;box-shadow:0 0 0 3px #ff950026}.daily-sales-input.disabled,.daily-sales-input:disabled{color:#4a5568;cursor:not-allowed;opacity:.95;background:#fafafa;border-color:#e2e8f0}.row-timeline{flex:1;align-items:stretch;min-width:0;height:auto;min-height:42px;display:flex;position:relative;overflow:hidden}.row-timeline-canvas{will-change:transform;align-items:flex-start;gap:6px;width:100%;height:auto;min-height:42px;padding:0 12px;display:flex;position:relative}.row-timeline:before{content:"";pointer-events:none;z-index:1;background:#e2e8f0;width:1px;position:absolute;top:0;bottom:0;left:0}.arrow-left{color:#4a90e2;z-index:1;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex;box-shadow:0 2px 8px #00000014}.progress-bar-wrapper{background-color:#0000;background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#cbd5e0 100%),linear-gradient(90deg,#667eea0d 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;background-size:calc(100% / var(--total-days,180)) 100%, calc(100% / var(--total-days,180)) 100%;will-change:background-size;border-radius:8px;flex:1;width:100%;height:auto;min-height:42px;transition:background-size .3s;position:relative;overflow:visible;transform:translateZ(0);box-shadow:inset 0 2px 4px #00000005}.progress-bar-wrapper.day-mode{width:var(--day-mode-width,100%);background-size:32px 100%,32px 100%;flex:none}.progress-bar-wrapper.show-all-months{background-size:calc(100% / var(--total-days,360)) 100%}.empty-wrapper{background:linear-gradient(#fafbfc,#f8fafc);border:2px dashed #e2e8f0;flex:1;box-shadow:inset 0 2px 4px #00000005}.empty-state{color:#a0aec0;letter-spacing:.3px;justify-content:center;align-items:center;width:100%;height:100%;font-size:12px;font-weight:600;display:flex}.no-inventory-message{flex-shrink:0;align-items:center;gap:6px;width:3600px;display:flex}.no-inventory-message .arrow-left{color:#cbd5e0;background:#f8fafc}.progress-bar{cursor:pointer;box-sizing:border-box;will-change:width;border-radius:4px;justify-content:flex-end;align-items:center;min-width:2px;max-width:100%;height:100%;padding-right:8px;transition:width .3s,opacity .3s,transform .2s;display:flex;position:absolute;top:0;left:0}.progress-bar-theoretical:after,.progress-bar-eta:after{display:none}.progress-bar:hover{transform:scaleY(1.05);box-shadow:0 2px 8px #00000026}.progress-bar-theoretical{z-index:2;background:#93ff93;border-radius:6px;height:16px;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #00000014,0 2px 8px #0000001f}.progress-bar-eta{z-index:1;background:linear-gradient(135deg,#007aff 0%,#5ac8fa 100%);border:1px solid #0056cc;border-radius:6px;height:16px;position:absolute;left:0;box-shadow:0 2px 8px #007aff4d,inset 0 1px #fff3}.total-days-marker{pointer-events:none;z-index:2;border-left:3px dashed #ff9500;height:34px;position:absolute;top:0}.total-days-label{white-space:nowrap;color:#ff9500;letter-spacing:.3px;background:#fffffff2;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700;position:absolute;bottom:-25px;left:8px;box-shadow:0 2px 6px #ff950033}.progress-bar-theoretical,.progress-bar-eta{box-shadow:0 0 0 1px #00000014,0 2px 8px #0000001f}.progress-label{white-space:nowrap;pointer-events:none;letter-spacing:.3px;color:#1a1a1a;font-size:11px;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.progress-bar-theoretical .progress-label,.progress-bar-eta .progress-label{color:#1a1a1a}.unified-rows::-webkit-scrollbar{width:8px}.unified-rows::-webkit-scrollbar-track{background:linear-gradient(90deg,#f8fafc,#fff);border-radius:4px}.unified-rows::-webkit-scrollbar-thumb{background:linear-gradient(#cbd5e0,#a0aec0);border:2px solid #f8fafc;border-radius:4px}.unified-rows::-webkit-scrollbar-thumb:hover{background:linear-gradient(#a0aec0,#718096)}.timeline-tooltip{z-index:1000;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:none;border-radius:12px;min-width:300px;max-width:380px;margin-top:-12px;padding:0;position:fixed;box-shadow:0 12px 32px #00000026,0 4px 12px #0000001a}.tooltip-header{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#4a90e2 0%,#60bbfd 100%);border-radius:12px 12px 0 0;padding:16px 20px;font-size:15px;font-weight:700;box-shadow:0 2px 8px #4a90e233}.tooltip-content{color:#4a5568;padding:16px 20px;font-size:13px;line-height:1.8}.tooltip-content .highlight{font-size:14px;font-weight:700}.progress-bar-wrapper{transition:background-size .5s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sku-stockout-view>*{animation:.6s ease-out fadeInUp}.filter-section{animation-delay:.1s}.content-container{animation-delay:.2s}.unified-row:hover .progress-bar-theoretical,.unified-row:hover .progress-bar-eta{filter:brightness(1.1)}.unified-row:hover .progress-bar{box-shadow:0 0 8px #4a90e266}.status-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;margin-bottom:16px;padding:12px 20px;display:flex;box-shadow:0 4px 12px #0000000f}.status-item{border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.status-item.loading{color:#856404;background:linear-gradient(135deg,#fff3cd,#ffe69c);animation:1.5s ease-in-out infinite pulse}.status-item.error{color:#721c24;background:linear-gradient(135deg,#f8d7da,#f5c6cb)}.status-item.success{color:#0c5460;background:linear-gradient(135deg,#d1ecf1,#bee5eb)}.refresh-btn{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:26px;padding:4px 8px;font-size:16px;transition:all .3s;display:flex}.refresh-btn:hover{background:#357abd;transform:scale(1.1)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.update-info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border:1px solid #b8daff;border-radius:8px;align-items:center;gap:12px;margin-left:auto;padding:8px 16px;display:flex;box-shadow:0 2px 8px #007aff1a}.update-time{color:#0c5460;white-space:nowrap;font-size:13px;font-weight:600}.refresh-btn-small{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:26px;padding:4px 8px;font-size:16px;transition:all .3s;display:flex}.refresh-btn-small:hover{background:#357abd;transform:scale(1.1)}.refresh-btn-small:active{transform:scale(.95)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.progress-bar{transition:all .6s cubic-bezier(.4,0,.2,1)}.progress-bar-theoretical{transition:width .6s cubic-bezier(.4,0,.2,1),opacity .4s,transform .3s,filter .3s,box-shadow .3s}.progress-bar-eta{transition:width .6s cubic-bezier(.4,0,.2,1),opacity .4s,transform .3s,filter .3s,box-shadow .3s,left .6s cubic-bezier(.4,0,.2,1)}.unified-row{transition:all .3s cubic-bezier(.4,0,.2,1);animation:.5s ease-out fadeInScale}.unified-row:hover{z-index:5;transform:scale(1.01)translateY(-1px);box-shadow:0 8px 24px #0000001f}.row-cell{transition:all .3s}.row-cell:hover{color:#1a202c;background:linear-gradient(135deg,#f8fafc,#fff);font-weight:600}.daily-sales-input{transition:all .3s cubic-bezier(.4,0,.2,1)}.daily-sales-input:focus{animation:.4s inputPulse}@keyframes inputPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.timeline-month{animation:.4s ease-out both fadeInUp}.timeline-month:first-child{animation-delay:50ms}.timeline-month:nth-child(2){animation-delay:.1s}.timeline-month:nth-child(3){animation-delay:.15s}.timeline-month:nth-child(4){animation-delay:.2s}.timeline-month:nth-child(5){animation-delay:.25s}.timeline-month:nth-child(6){animation-delay:.3s}.timeline-month:nth-child(7){animation-delay:.35s}.timeline-month:nth-child(8){animation-delay:.4s}.timeline-month:nth-child(9){animation-delay:.45s}.timeline-month:nth-child(10){animation-delay:.5s}.timeline-month:nth-child(11){animation-delay:.55s}.timeline-month:nth-child(12){animation-delay:.6s}.progress-bar-wrapper{transition:background-size .5s cubic-bezier(.4,0,.2,1);animation:.6s ease-out fadeInUp}.view-mode-btn,.today-btn,.nav-arrow,.expand-btn{transition:all .3s cubic-bezier(.4,0,.2,1)}.view-mode-btn:hover,.today-btn:hover,.nav-arrow:hover,.expand-btn:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 6px 16px #00000026}.view-mode-btn:active,.today-btn:active,.nav-arrow:active,.expand-btn:active{transform:translateY(0)scale(.98)}.filter-section{animation:.6s ease-out fadeInScale}.filter-input{transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-input:focus{animation:.4s inputFocus}@keyframes inputFocus{0%{transform:scale(1)}50%{transform:scale(1.01)}to{transform:scale(1)}}.status-bar{animation:.5s ease-out fadeInUp}.status-item,.arrow-left{transition:all .3s}.unified-row:hover .arrow-left{animation:.5s arrowWiggle;transform:scale(1.1)rotate(-5deg)}@keyframes arrowWiggle{0%,to{transform:scale(1.1)rotate(-5deg)}25%{transform:scale(1.15)rotate(-10deg)}75%{transform:scale(1.15)rotate(0)}}@keyframes dataUpdate{0%{background:#4a90e21a}50%{background:#4a90e233}to{background:0 0}}.unified-row.data-updated{animation:.6s dataUpdate}.unified-rows{scroll-behavior:smooth}.progress-label{transition:all .3s;animation:.4s labelFadeIn}@keyframes labelFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.time-range-slider{border-left:2px solid #e2e8f0;border-right:2px solid #e2e8f0;align-items:center;gap:8px;padding:0 12px;animation:.6s ease-out fadeInUp;display:flex}.slider-label{color:#4a5568;white-space:nowrap;font-size:12px;font-weight:600}.slider-select{color:#4a5568;cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:6px;outline:none;padding:6px 12px;font-size:13px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.slider-select:hover{background:#fff;border-color:#cbd5e0;transform:translateY(-1px)}.slider-select:focus{background:#fff;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.slider-value{color:#4a90e2;text-align:right;min-width:40px;font-size:12px;font-weight:700}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#f6f7f8 0%,#edeef1 20%,#f6f7f8 40% 100%) 0 0/1000px 100%;animation:2s linear infinite shimmer}.warehouse-multiselect-container,.product-multiselect-container{width:300px;position:relative}.selected-tags{cursor:text;background:#fff;border:2px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;gap:6px;min-height:38px;padding:6px 10px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.selected-tags:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.tag{color:#fff;white-space:nowrap;background:#ffaad5;border-radius:16px;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.tag-remove{cursor:pointer;opacity:.8;margin-top:-2px;font-size:16px;line-height:1;transition:opacity .2s}.tag-remove:hover{opacity:1}.search-input{color:#2d3748;border:none;outline:none;flex:1;min-width:100px;padding:2px;font-size:13px}.search-input::placeholder{color:#a0aec0}.dropdown{z-index:1000;background:#fff;border:2px solid #e2e8f0;border-radius:8px;max-height:300px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000026}.dropdown-item{cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:background .2s;display:flex}.dropdown-item:hover{background:#f8fafc}.dropdown-item.selected{background:#f0f4ff}.checkbox{border:2px solid #cbd5e0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;display:flex}.checkbox.checked{color:#fff;background:#667eea;border-color:#667eea;font-weight:700}.filter-section{position:relative;z-index:100!important}.warehouse-multiselect-container,.product-multiselect-container{position:relative;z-index:101!important}.dropdown{z-index:1002!important}.filter-section{overflow:visible!important}.sort-toggle-btn{cursor:pointer;color:#667eea;background:#fff;border:2px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:16px;font-weight:700;line-height:1;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.sort-toggle-btn:hover{background:#f0f4ff;border-color:#667eea;transform:scale(1.1)}.sort-toggle-btn:active{transform:scale(.95)}.daily-sales-header{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.daily-sales-header span{color:#2c3e50;font-size:13px;font-weight:700}.daily-sales-header>div{align-items:center;gap:8px;width:100%;display:flex}.batch-edit-toggle{background:linear-gradient(135deg,#f0f4ff,#e8efff);border:2px solid #667eea;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.batch-edit-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.checkbox-input{cursor:pointer;accent-color:#667eea;width:18px;height:18px}.checkbox-label{color:#667eea;white-space:nowrap;font-size:14px;font-weight:600}.batch-edit-toggle:hover{background:linear-gradient(135deg,#e0e7ff,#d5e3ff);transform:translateY(-1px);box-shadow:0 4px 12px #667eea33}.batch-hint{cursor:help;opacity:.8;margin-left:4px;font-size:12px;transition:opacity .2s}.batch-hint:hover{opacity:1}.daily-sales-total-summary{border-radius:8px;justify-content:flex-start;align-items:center;gap:6px;margin-top:8px;margin-left:-20px;padding:8px 12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.daily-sales-total-summary:hover{background:linear-gradient(135deg,#ffe8cc,#ffd8b3);transform:translateY(-1px);box-shadow:0 4px 12px #ff950033}.total-summary-label{color:#ff9500;font-size:13px;font-weight:600}.total-summary-input{color:#ff9500;text-align:center;background:#ffffff80;border:2px solid #ff9500;border-radius:6px;flex-shrink:0;width:80px;padding:6px 8px;font-size:14px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block}.total-summary-input:focus{background:#fffc;border-color:#ff6b00;outline:none;box-shadow:0 0 0 3px #ff95001a}.total-summary-input:hover{background:#ffffffb3;border-color:#ff7a00}.total-summary-unit{color:#ff9500;white-space:nowrap;flex-shrink:0;font-size:14px;font-weight:600;display:inline}.procurement-view{animation:.3s ease-out fadeSlideUp}.procurement-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.procurement-table .ant-table{border-radius:12px!important}.procurement-table .ant-table-thead>tr>th{color:#e8604c!important;background:#fef2f0!important;border-bottom:1px solid #fed7d2!important;font-size:11px!important;font-weight:600!important}.procurement-table .ant-table-tbody>tr>td{font-size:13px!important}.procurement-roletabs .roletab{-webkit-user-select:none;user-select:none;align-items:center;gap:6px;transition:color .2s;display:inline-flex}.cabinet-card{cursor:pointer;border:1px solid #f0e8e5!important;border-radius:12px!important;transition:all .2s!important}.cabinet-card:hover{border-color:#e8604c!important;box-shadow:0 2px 12px #e8604c1f!important}.cabinet-card .ant-card-body{padding:14px!important}.cabinet-card-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.cabinet-card-no{color:#1e293b;font-size:14px;font-weight:600}.cabinet-card-route{color:#64748b;margin-bottom:4px;font-size:12px}.cabinet-card-meta{align-items:center;margin-bottom:2px;display:flex}.cabinet-card-inbound{color:#94a3b8;margin-top:4px;font-size:11px}.cabinet-card-items{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.cabinet-card-split{cursor:pointer;background:#fafafa;border:1px solid #f0e8e5;border-radius:8px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.cabinet-card-split:hover{border-color:#91caff}.cabinet-card-split-head{color:#333;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px;font-weight:600;display:flex}.create-item-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.split-sku-section{background:#fafafa;border:1px solid #f0e8e5;border-radius:10px;margin-bottom:12px;padding:12px 14px}.split-sku-header{color:#333;margin-bottom:10px;font-size:13px;font-weight:600}.split-alloc-row{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:4px 8px;transition:border-color .15s,background .15s;display:flex}.split-alloc-row:hover{background:#f0f5ff}.split-alloc-row-selected{background:#f0f5ff;border-color:#1677ff}
