:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.source-toggle{display:flex;gap:.375rem;background:var(--bg-tertiary);padding:4px;border-radius:8px;border:1px solid var(--border-color)}.toggle-btn{padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.toggle-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.toggle-btn.active{font-weight:600;box-shadow:var(--shadow-sm)}.toggle-btn.active.amazon{background:var(--accent-secondary);color:#fff}.toggle-btn.active.shopify{background:var(--accent-success);color:#fff}.toggle-btn.active.combined{background:var(--accent-primary);color:#fff}.title-trigger{cursor:default;display:inline}.title-trigger:hover{color:var(--accent-primary);transition:color .2s ease}.title-tooltip{position:fixed;z-index:10000;pointer-events:none;animation:tooltipFadeIn .25s cubic-bezier(.4,0,.2,1)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.title-tooltip-arrow{position:absolute;top:-6px;left:20px;width:0;height:0;border:6px solid transparent;border-bottom-color:var(--bg-tertiary)}.title-tooltip-content{padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;font-weight:500;white-space:pre-line;min-width:140px;max-width:450px;border-radius:10px;box-shadow:var(--shadow-lg);line-height:1.5;letter-spacing:.01em}.breakdown-value{cursor:default;border-bottom:1px dotted var(--border-light)}.breakdown-value:hover{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.vw-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:10000;animation:vwFadeIn .2s ease}[data-theme=dark] .vw-modal-overlay{background:#000000b3}@keyframes vwFadeIn{0%{opacity:0}to{opacity:1}}.vw-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:380px;animation:vwSlideUp .3s ease}@keyframes vwSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.vw-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.vw-modal-header h2{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.vw-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;transition:color .15s}.vw-modal-close:hover{color:var(--text-primary)}.vw-modal-body{padding:1.25rem}.vw-modal-description{font-size:.85rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.5}.vw-weights-form{display:flex;flex-direction:column;gap:.6rem}.vw-weight-row{display:flex;justify-content:space-between;align-items:center}.vw-weight-row label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.vw-weight-row input{width:70px;padding:.4rem .5rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;text-align:right;background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.vw-weight-row input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f626}.vw-sum-display{margin-top:1rem;padding:.6rem;border-radius:8px;font-weight:600;font-size:.9rem;text-align:center}.vw-sum-display.valid{background:#22c55e26;color:var(--accent-success)}.vw-sum-display.invalid{background:#ef444426;color:var(--accent-danger)}.vw-error-message{margin-top:.6rem;padding:.6rem;background:#ef444426;color:var(--accent-danger);border-radius:8px;font-size:.85rem;text-align:center}.vw-modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.75rem 1.25rem;border-top:1px solid var(--border-color)}.vw-btn-primary,.vw-btn-secondary{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.vw-btn-primary{background:var(--accent-primary);color:#fff;border:none}.vw-btn-primary:hover:not(:disabled){opacity:.9}.vw-btn-primary:disabled{opacity:.5;cursor:not-allowed}.vw-btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.vw-btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.vw-btn-danger{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;background:#ef444426;color:var(--accent-danger);border:1px solid rgba(239,68,68,.3);margin-right:auto}.vw-btn-danger:hover:not(:disabled){background:#ef444440}.vw-btn-danger:disabled{opacity:.5;cursor:not-allowed}.vw-save-mode-selector{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.vw-radio-option{display:flex;flex-direction:column;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .15s}.vw-radio-option:hover{background:var(--bg-hover)}.vw-radio-option input[type=radio]{display:none}.vw-radio-option span{font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.vw-radio-option span:before{content:"";width:16px;height:16px;border:2px solid var(--border-light);border-radius:50%;display:inline-block;transition:all .15s;flex-shrink:0}.vw-radio-option input[type=radio]:checked+span{color:var(--accent-primary);font-weight:600}.vw-radio-option input[type=radio]:checked+span:before{border-color:var(--accent-primary);background:var(--accent-primary);box-shadow:inset 0 0 0 3px var(--bg-secondary)}.vw-radio-option small{font-size:.75rem;color:var(--text-muted);margin-left:1.5rem;margin-top:.25rem}.wv-indicator{display:inline-flex;align-items:center;gap:4px}.wv-value{cursor:pointer;transition:color .15s}.wv-value:hover{color:var(--accent-primary)}.wv-indicator.has-custom .wv-value{font-weight:700;color:var(--accent-primary)}.wv-custom-icon{font-size:.85rem;color:var(--accent-primary);cursor:help;opacity:.9;transition:opacity .15s,transform .15s;display:inline-flex;align-items:center;justify-content:center}.wv-custom-icon:hover{opacity:1;transform:scale(1.1)}.wv-tooltip{position:fixed;z-index:10001;transform:translate(-50%);pointer-events:none;animation:wvTooltipFadeIn .2s ease}@keyframes wvTooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.wv-tooltip-content{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px;border-radius:10px;box-shadow:var(--shadow-lg);min-width:160px}.wv-tooltip-title{font-size:.75rem;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.wv-tooltip-weights{display:flex;flex-direction:column;gap:4px}.wv-tooltip-row{display:flex;justify-content:space-between;font-size:.85rem}.wv-tooltip-row span:first-child{color:var(--text-secondary)}.wv-tooltip-row span:last-child{font-weight:600;color:var(--accent-primary)}.sync-button-container{position:relative;display:inline-block}.sync-button-container.amazon .sync-start-btn{background:linear-gradient(135deg,#f90,#f60)}.sync-button-container.amazon .sync-progress-fill{background:linear-gradient(90deg,#f90,#f60)}.sync-button-container.shopify .sync-start-btn{background:linear-gradient(135deg,#22c55e,#16a34a)}.sync-button-container.shopify .sync-progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a)}.sync-start-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;color:#fff;font-weight:500;font-size:13px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.sync-start-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.sync-start-btn:disabled{opacity:.6;cursor:not-allowed}.sync-icon{font-size:14px}.dropdown-arrow{font-size:10px;margin-left:2px}.sync-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;min-width:150px;overflow:hidden}.sync-dropdown-item{display:block;width:100%;padding:10px 14px;border:none;background:transparent;text-align:left;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .15s}.sync-dropdown-item:hover{background:var(--bg-hover)}.sync-running{display:flex;flex-direction:column;gap:4px;background:var(--bg-tertiary);border-radius:8px;padding:10px 14px;min-width:200px;border:1px solid var(--border-color)}.sync-info{display:flex;align-items:center;gap:8px}.sync-label{font-weight:600;font-size:13px;color:var(--text-primary)}.sync-type-badge{font-size:11px;padding:2px 6px;background:var(--bg-hover);border-radius:4px;color:var(--text-secondary);text-transform:uppercase}.sync-runtime{margin-left:auto;font-size:12px;font-weight:600;color:var(--text-secondary);font-family:var(--font-mono)}.sync-progress-bar{height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden}.sync-progress-fill{height:100%;transition:width .3s ease;border-radius:3px}.sync-details{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted)}.sync-step{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-meta{color:var(--text-muted);white-space:nowrap}.sync-items{color:var(--text-secondary)}.sync-eta{font-size:11px;color:var(--accent-primary);font-weight:500;text-align:center;padding:2px 0}.sync-cancel-btn{margin-top:4px;padding:4px 8px;border:1px solid var(--accent-danger);background:transparent;color:var(--accent-danger);border-radius:6px;font-size:11px;cursor:pointer;transition:all .2s}.sync-cancel-btn:hover:not(:disabled){background:var(--accent-danger);color:#fff}.sync-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.sync-controls{display:flex;gap:12px;align-items:flex-start}.oos-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:10000;animation:oosFadeIn .2s ease}[data-theme=dark] .oos-modal-overlay{background:#000000b3}@keyframes oosFadeIn{0%{opacity:0}to{opacity:1}}.oos-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:1170px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:oosSlideUp .2s ease;box-shadow:var(--shadow-lg)}@keyframes oosSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.oos-modal-header{justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);gap:1rem}.oos-modal-title{display:flex;flex-direction:column;gap:.375rem;min-width:0;flex:1}.oos-modal-header h2{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.oos-modal-product{font-size:.8125rem;color:var(--text-muted);word-break:break-word;white-space:pre-line}.oos-header-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.oos-period-toggle,.oos-time-toggle,.oos-view-toggle{display:flex;gap:2px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:3px}.oos-period-toggle button,.oos-time-toggle button,.oos-view-toggle button{padding:.5rem .75rem;border:none;background:transparent;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--text-muted);transition:all .2s}.oos-period-toggle button:hover,.oos-time-toggle button:hover,.oos-view-toggle button:hover{color:var(--text-secondary);background:var(--bg-hover)}.oos-period-toggle button.active,.oos-time-toggle button.active,.oos-view-toggle button.active{background:var(--accent-primary);color:#fff}.oos-modal-close{background:var(--bg-primary);border:1px solid var(--border-color);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:all .2s;flex-shrink:0}.oos-modal-close:hover{background:var(--accent-danger);border-color:var(--accent-danger);color:#fff}.oos-modal-body{padding:1.5rem;overflow-y:auto;flex:1;background:var(--bg-secondary)}.oos-loading{text-align:center;color:var(--text-muted);padding:3rem;font-size:.9375rem}.oos-error{text-align:center;color:var(--accent-danger);padding:2rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px}.oos-no-data{text-align:center;color:var(--text-muted);padding:2rem}.oos-chart-container{margin-bottom:1.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem .75rem .75rem 0;box-shadow:var(--shadow-sm)}.oos-chart-tooltip{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.875rem;box-shadow:var(--shadow-md)}.oos-chart-tooltip .tooltip-date{font-weight:600;color:var(--text-primary);margin:0 0 .5rem;font-size:.875rem}.oos-chart-tooltip .tooltip-sales{color:var(--chart-sales);margin:0;font-size:.8125rem}.oos-chart-tooltip .tooltip-inventory{color:var(--chart-inventory);margin:0;font-size:.8125rem}.oos-chart-tooltip .tooltip-inventory-range{color:var(--chart-inventory);margin:0;font-size:.6875rem;opacity:.65}.oos-chart-tooltip .tooltip-oos{color:var(--chart-oos);margin:.5rem 0 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.oos-legend{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.25rem;padding:.875rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.oos-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.oos-legend-color{width:16px;height:12px;border-radius:3px}.oos-legend-color.sales{background:linear-gradient(to bottom,var(--chart-sales),rgba(59,130,246,.2));border:1px solid var(--chart-sales)}.oos-legend-color.inventory{background:var(--chart-inventory);border:1px solid var(--chart-inventory)}.oos-legend-color.inventory-min{background:repeating-linear-gradient(90deg,var(--chart-inventory),var(--chart-inventory) 3px,transparent 3px,transparent 6px);border:1px solid var(--chart-inventory)}.oos-legend-color.oos{background:#ef444440;border:1px solid var(--chart-oos)}.oos-legend-color.inbound{background:repeating-linear-gradient(90deg,#10b981,#10b981 4px,transparent 4px,transparent 8px);border:1px solid #10b981}[data-theme=dark] .oos-legend-color.inbound{background:repeating-linear-gradient(90deg,#34d399,#34d399 4px,transparent 4px,transparent 8px);border:1px solid #34d399}.oos-low-velocity-hint{color:var(--text-muted);font-style:italic;font-size:.75rem}.oos-detail-table-section{margin-top:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);overflow:hidden}.oos-detail-toggle{display:flex;align-items:center;gap:.75rem;width:100%;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--text-secondary);padding:.875rem 1rem;transition:all .2s;text-align:left}.oos-detail-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.oos-detail-arrow{display:inline-block;transition:transform .2s;font-size:.625rem;color:var(--accent-primary)}.oos-detail-arrow.expanded{transform:rotate(90deg)}.oos-periods-list-content{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.5rem}.oos-period-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.oos-period-dates{font-size:.8125rem;color:var(--text-secondary);font-family:var(--font-mono)}.oos-period-days{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:4px;font-family:var(--font-mono)}.oos-period-days.critical{background:#ef444426;color:var(--accent-danger);border:1px solid rgba(239,68,68,.3)}.oos-period-days.warning{background:#eab30826;color:var(--accent-warning);border:1px solid rgba(234,179,8,.3)}.oos-detail-table-wrapper{padding:0 1rem 1rem;max-height:300px;overflow-y:auto}.oos-detail-table{width:100%;border-collapse:collapse;font-size:.8125rem}.oos-detail-table thead{position:sticky;top:0;z-index:1}.oos-detail-table th{padding:.75rem .875rem;text-align:left;font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);text-transform:uppercase;font-size:.6875rem;letter-spacing:.03em}.oos-detail-table th.num{text-align:right}.oos-detail-table td{padding:.625rem .875rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.oos-detail-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.oos-detail-table tbody tr:hover{background:var(--bg-hover)}.oos-detail-table tbody tr.oos-row{background:#ef444414}.oos-detail-table tbody tr.oos-row:hover{background:#ef44441f}.oos-detail-table td.positive{color:var(--accent-success)}.oos-detail-table td.negative{color:var(--accent-danger)}.oos-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.oos-btn-secondary{padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color)}.oos-btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.oos-chart-wrapper{position:relative}.oos-unreliable-data-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;padding:20px}.oos-unreliable-data-warning{display:flex;gap:12px;padding:20px;max-width:450px;background:var(--bg-secondary);border:1px solid rgba(251,191,36,.5);border-radius:12px;box-shadow:0 8px 32px #0003}[data-theme=dark] .oos-unreliable-data-warning{background:var(--bg-primary);border-color:#fbbf2466}.oos-warning-icon{font-size:28px;flex-shrink:0}.oos-warning-content{flex:1}.oos-warning-content strong{display:block;margin-bottom:8px;font-size:1rem;color:#b45309}[data-theme=dark] .oos-warning-content strong{color:#fbbf24}.oos-warning-content p{margin:0 0 14px;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.oos-show-anyway-btn{padding:8px 16px;font-size:.85rem;font-weight:500;border:1px solid rgba(251,191,36,.5);border-radius:6px;background:#fbbf2433;color:#92400e;cursor:pointer;transition:all .2s}[data-theme=dark] .oos-show-anyway-btn{color:#fcd34d;background:#fbbf2426}.oos-show-anyway-btn:hover{background:#fbbf244d;border-color:#fbbf24b3}.oos-chart-blurred{filter:blur(8px);opacity:.3;pointer-events:none;-webkit-user-select:none;user-select:none}.oos-inbound-list{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.5rem}.oos-inbound-item{padding:.75rem .875rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:.5rem}.oos-inbound-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.oos-inbound-title-block{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.oos-inbound-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oos-inbound-id{font-size:.6875rem;color:var(--text-muted);font-family:var(--font-mono)}.oos-inbound-status{font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.oos-inbound-status.status-working{background:#9333ea26;color:#9333ea;border:1px solid rgba(147,51,234,.3)}.oos-inbound-status.status-shipped,.oos-inbound-status.status-in_transit{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.oos-inbound-status.status-receiving,.oos-inbound-status.status-checked_in,.oos-inbound-status.status-delivered{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.oos-inbound-status.status-closed{background:#6b728026;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.oos-inbound-status.status-cancelled,.oos-inbound-status.status-unknown{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.oos-inbound-progress-wrapper{display:flex;align-items:center;gap:.5rem}.oos-inbound-progress-bar{flex:1;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.oos-inbound-progress-fill{height:100%;background:#10b981;border-radius:3px;transition:width .3s ease}.oos-inbound-progress-label{font-size:.6875rem;font-weight:600;color:var(--text-muted);font-family:var(--font-mono);min-width:2.5rem;text-align:right}.oos-inbound-qty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.375rem}.oos-inbound-qty-item{display:flex;flex-direction:column;gap:.0625rem;padding:.3125rem .5rem;background:var(--bg-primary);border-radius:4px;border:1px solid var(--border-color)}.oos-inbound-qty-label{font-size:.625rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.oos-inbound-qty-value{font-size:.8125rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.oos-inbound-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem .75rem;font-size:.75rem}.oos-inbound-meta-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.oos-inbound-meta-label{color:var(--text-muted);white-space:nowrap}.oos-inbound-meta-value{color:var(--text-primary);font-weight:500;text-align:right}.oos-inbound-meta-value.mono{font-family:var(--font-mono)}.oos-inbound-dates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem .75rem;font-size:.75rem;padding-top:.375rem;border-top:1px solid var(--border-color)}.oos-inbound-date-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.oos-inbound-date-label{color:var(--text-muted);white-space:nowrap}.oos-inbound-date-value{color:var(--text-primary);font-family:var(--font-mono);font-weight:500;text-align:right}.oos-inbound-eta{grid-column:1 / -1}.oos-inbound-eta .oos-inbound-date-value{color:#f59e0b;font-weight:600}.oos-viewtime-toggle{display:flex;gap:2px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:3px}.oos-viewtime-toggle button{padding:.5rem .875rem;border:none;background:transparent;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--text-muted);transition:all .2s}.oos-viewtime-toggle button:hover{color:var(--text-secondary);background:var(--bg-hover)}.oos-viewtime-toggle button.active{background:var(--accent-primary);color:#fff}.oos-growth-input{display:flex;align-items:center;gap:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.375rem .75rem}.oos-growth-input label{font-size:.75rem;color:var(--text-muted)}.oos-growth-input input{width:50px;padding:.25rem .375rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;text-align:right;font-family:var(--font-mono)}.oos-growth-input input:focus{outline:none;border-color:var(--accent-primary)}.oos-growth-input span{font-size:.8125rem;color:var(--text-muted)}.oos-legend-color.forecast{background:repeating-linear-gradient(90deg,var(--chart-sales),var(--chart-sales) 3px,transparent 3px,transparent 6px);border:1px solid var(--chart-sales)}.oos-legend-color.inbound-dot{width:12px;height:12px;border-radius:50%;background:#10b981;border:2px solid white;box-shadow:0 0 0 1px #10b981}[data-theme=dark] .oos-legend-color.inbound-dot{background:#34d399;box-shadow:0 0 0 1px #34d399}.oos-legend-color.oos-risk{background:repeating-linear-gradient(45deg,var(--chart-oos),var(--chart-oos) 2px,transparent 2px,transparent 6px);border:1px solid var(--chart-oos);opacity:.5}.oos-chart-tooltip .tooltip-inbound{color:#10b981;margin:0;font-size:.8125rem;font-weight:500}[data-theme=dark] .oos-chart-tooltip .tooltip-inbound{color:#34d399}.oos-forecast-summary{margin-top:1rem;padding:1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.oos-forecast-warning{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;margin-bottom:1rem}.oos-forecast-warning span{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.oos-forecast-warning strong{color:var(--accent-danger)}.oos-forecast-ok{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:6px;margin-bottom:1rem;color:#10b981;font-size:.875rem}[data-theme=dark] .oos-forecast-ok{color:#34d399}.oos-forecast-icon{font-size:1.25rem;flex-shrink:0}.oos-forecast-info{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.8125rem;color:var(--text-muted)}.oos-forecast-info strong{color:var(--text-primary);font-family:var(--font-mono)}.oos-forecast-toggle{display:flex;align-items:center;gap:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:.375rem .75rem}.oos-forecast-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8125rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.oos-forecast-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}.oos-forecast-checkbox:hover{color:var(--text-primary)}.oos-forecast-period-toggle{display:flex;gap:2px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:2px}.oos-forecast-period-toggle button{padding:.25rem .5rem;border:none;background:transparent;border-radius:4px;font-size:.6875rem;font-weight:500;cursor:pointer;color:var(--text-muted);transition:all .2s}.oos-forecast-period-toggle button:hover{color:var(--text-secondary);background:var(--bg-hover)}.oos-forecast-period-toggle button.active{background:var(--accent-primary);color:#fff}.oos-legend-color.inventory.forecast{background:repeating-linear-gradient(90deg,var(--chart-inventory),var(--chart-inventory) 3px,transparent 3px,transparent 6px);border:1px solid var(--chart-inventory)}.oos-forecast-unavailable{margin-top:1rem;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:.8125rem;text-align:center;font-style:italic}.oos-channel-toggles{display:flex;gap:.75rem;padding-left:.5rem;border-left:1px solid var(--border-color);margin-left:.25rem}.oos-channel-checkbox{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.75rem;font-weight:500;-webkit-user-select:none;user-select:none;transition:opacity .2s}.oos-channel-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer}.oos-channel-checkbox.amazon{color:#3b82f6}.oos-channel-checkbox.amazon input[type=checkbox]{accent-color:#3b82f6}.oos-channel-checkbox.shopify{color:#f97316}.oos-channel-checkbox.shopify input[type=checkbox]{accent-color:#f97316}[data-theme=dark] .oos-channel-checkbox.amazon{color:#60a5fa}[data-theme=dark] .oos-channel-checkbox.shopify{color:#fb923c}.oos-legend-color.amazon-sales{background:linear-gradient(to bottom,#3b82f6,#3b82f633);border:1px solid #3b82f6}[data-theme=dark] .oos-legend-color.amazon-sales{background:linear-gradient(to bottom,#60a5fa,#60a5fa33);border:1px solid #60a5fa}.oos-legend-color.amazon-inventory{background:repeating-linear-gradient(90deg,#60a5fa,#60a5fa 2px,transparent 2px,transparent 4px);border:1px solid #60a5fa}[data-theme=dark] .oos-legend-color.amazon-inventory{background:repeating-linear-gradient(90deg,#93c5fd,#93c5fd 2px,transparent 2px,transparent 4px);border:1px solid #93c5fd}.oos-legend-color.shopify-sales{background:linear-gradient(to bottom,#f97316,#f9731633);border:1px solid #f97316}[data-theme=dark] .oos-legend-color.shopify-sales{background:linear-gradient(to bottom,#fb923c,#fb923c33);border:1px solid #fb923c}.oos-legend-color.shopify-inventory{background:repeating-linear-gradient(90deg,#fb923c,#fb923c 2px,transparent 2px,transparent 4px);border:1px solid #fb923c}[data-theme=dark] .oos-legend-color.shopify-inventory{background:repeating-linear-gradient(90deg,#fdba74,#fdba74 2px,transparent 2px,transparent 4px);border:1px solid #fdba74}.oos-legend-color.dashed{position:relative}.oos-legend-color.amazon-sales.dashed{background:repeating-linear-gradient(90deg,#3b82f6,#3b82f6 3px,transparent 3px,transparent 6px)}[data-theme=dark] .oos-legend-color.amazon-sales.dashed{background:repeating-linear-gradient(90deg,#60a5fa,#60a5fa 3px,transparent 3px,transparent 6px)}.oos-legend-color.shopify-sales.dashed{background:repeating-linear-gradient(90deg,#f97316,#f97316 3px,transparent 3px,transparent 6px)}[data-theme=dark] .oos-legend-color.shopify-sales.dashed{background:repeating-linear-gradient(90deg,#fb923c,#fb923c 3px,transparent 3px,transparent 6px)}.oos-legend-color.amazon-inventory.dashed{background:repeating-linear-gradient(90deg,#60a5fa,#60a5fa 3px,transparent 3px,transparent 6px);border:none}[data-theme=dark] .oos-legend-color.amazon-inventory.dashed{background:repeating-linear-gradient(90deg,#93c5fd,#93c5fd 3px,transparent 3px,transparent 6px);border:none}.oos-legend-color.shopify-inventory.dashed{background:repeating-linear-gradient(90deg,#fb923c,#fb923c 3px,transparent 3px,transparent 6px);border:none}[data-theme=dark] .oos-legend-color.shopify-inventory.dashed{background:repeating-linear-gradient(90deg,#fdba74,#fdba74 3px,transparent 3px,transparent 6px);border:none}.oos-chart-tooltip .tooltip-amazon{color:#3b82f6;margin:.25rem 0 0;font-size:.75rem}[data-theme=dark] .oos-chart-tooltip .tooltip-amazon{color:#60a5fa}.oos-chart-tooltip .tooltip-shopify{color:#f97316;margin:.125rem 0 0;font-size:.75rem}[data-theme=dark] .oos-chart-tooltip .tooltip-shopify{color:#fb923c}.oos-chart-tooltip .tooltip-oos.amazon{color:#3b82f6}.oos-chart-tooltip .tooltip-oos.shopify{color:#f97316}.oos-forecast-summary.combined{display:flex;flex-direction:column;gap:.75rem}.oos-forecast-warnings{display:flex;flex-direction:column;gap:.5rem}.oos-forecast-warning.channel{padding:.625rem .875rem;margin-bottom:0}.oos-forecast-warning.channel.amazon{background:#3b82f61a;border-color:#3b82f64d}.oos-forecast-warning.channel.amazon strong{color:#3b82f6}[data-theme=dark] .oos-forecast-warning.channel.amazon strong{color:#60a5fa}.oos-forecast-warning.channel.shopify{background:#f973161a;border-color:#f973164d}.oos-forecast-warning.channel.shopify strong{color:#f97316}[data-theme=dark] .oos-forecast-warning.channel.shopify strong{color:#fb923c}.oos-forecast-icon.amazon{color:#3b82f6}[data-theme=dark] .oos-forecast-icon.amazon{color:#60a5fa}.oos-forecast-icon.shopify{color:#f97316}[data-theme=dark] .oos-forecast-icon.shopify{color:#fb923c}.oos-forecast-info.combined{flex-direction:column;gap:.75rem}.oos-channel-stock-summary,.oos-channel-inbound-summary{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:.8125rem}.oos-channel-stock-summary .total,.oos-channel-inbound-summary .total{color:var(--text-secondary)}.oos-channel-stock-summary .amazon,.oos-channel-inbound-summary .amazon{color:#3b82f6}[data-theme=dark] .oos-channel-stock-summary .amazon,[data-theme=dark] .oos-channel-inbound-summary .amazon{color:#60a5fa}.oos-channel-stock-summary .shopify,.oos-channel-inbound-summary .shopify{color:#f97316}[data-theme=dark] .oos-channel-stock-summary .shopify,[data-theme=dark] .oos-channel-inbound-summary .shopify{color:#fb923c}.oos-channel-stock-summary strong,.oos-channel-inbound-summary strong{font-family:var(--font-mono)}.oos-reason-filter-section{margin-bottom:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);overflow:hidden}.oos-reason-filter-content{padding:.75rem 1rem}.oos-reason-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:.375rem 1.5rem}.oos-reason-checkbox{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.8125rem;-webkit-user-select:none;user-select:none;padding:.25rem 0;transition:opacity .2s}.oos-reason-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.oos-reason-label{color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oos-reason-checkbox:hover .oos-reason-label{color:var(--text-primary)}.oos-reason-count{color:var(--text-muted);font-size:.6875rem;font-family:var(--font-mono);flex-shrink:0}.oos-reason-filter-badge{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:4px;background:#ef444426;color:var(--accent-danger);border:1px solid rgba(239,68,68,.3);margin-left:auto}:root,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--bg-active: #cbd5e1;--border-color: #e2e8f0;--border-light: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent-primary: #3b82f6;--accent-secondary: #f97316;--accent-success: #22c55e;--accent-warning: #eab308;--accent-danger: #ef4444;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--chart-sales: #3b82f6;--chart-inventory: #8b5cf6;--chart-oos: #ef4444}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #475569;--bg-active: #64748b;--border-color: #334155;--border-light: #475569;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #64748b;--accent-primary: #60a5fa;--accent-secondary: #fb923c;--accent-success: #4ade80;--accent-warning: #facc15;--accent-danger: #f87171;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--chart-sales: #60a5fa;--chart-inventory: #a78bfa;--chart-oos: #f87171}:root{--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}.app{min-height:100vh}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1rem;color:var(--text-muted);font-family:var(--font-mono)}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.header-left{display:flex;align-items:center;gap:1.25rem}.header h1{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;transition:all .2s}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--border-light);transform:scale(1.05)}.source-amazon .header{border-bottom-color:var(--accent-secondary)}.source-shopify .header{border-bottom-color:var(--accent-success)}.source-combined .header{border-bottom-color:var(--accent-primary)}.stats{display:flex;gap:2rem}.stat{display:flex;flex-direction:column;align-items:flex-end}.stat-value{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);color:var(--accent-primary);line-height:1.2}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.source-amazon .stat-value{color:var(--accent-secondary)}.source-shopify .stat-value{color:var(--accent-success)}.source-combined .stat-value,.stat-matched .stat-value{color:var(--accent-primary)}.sync-controls{display:flex;gap:8px;align-items:flex-start;margin-left:auto}.search-bar{padding:.75rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:1rem}.search-bar input{flex:1;max-width:400px;padding:.625rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.search-bar input::placeholder{color:var(--text-muted)}.search-bar input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f626}.csv-export-buttons{display:flex;gap:.5rem}.csv-download-btn{padding:.5rem .875rem;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.csv-download-btn:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.csv-download-btn.amazon{border-color:var(--accent-secondary);color:var(--accent-secondary)}.csv-download-btn.amazon:hover{background:#f973161a}.csv-download-btn.shopify{border-color:var(--accent-success);color:var(--accent-success)}.csv-download-btn.shopify:hover{background:#22c55e1a}.csv-download-btn.combined{border-color:var(--accent-primary);color:var(--accent-primary)}.csv-download-btn.combined:hover{background:#3b82f61a}.table-container{padding:1rem 1.5rem;overflow-x:auto}.product-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.product-table thead{background:var(--bg-tertiary)}.product-table th{padding:.75rem;text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color)}.product-table th:last-child{border-right:none}.product-table td{padding:.625rem .75rem;border-bottom:1px solid var(--border-color);font-size:.8125rem;border-right:1px solid var(--border-color)}.product-table td:last-child{border-right:none}.col-expand{width:30px;text-align:center}.col-chart{width:36px;text-align:center;padding:0!important}.chart-btn{background:none;border:none;cursor:pointer;font-size:.875rem;padding:4px 6px;border-radius:4px;opacity:.5;transition:all .2s;color:var(--text-secondary)}.chart-btn:hover{opacity:1;background:var(--bg-hover);color:var(--accent-primary)}.col-name{min-width:200px;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.col-sku{min-width:120px;font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary)}.col-stock,th.col-stock{min-width:70px;text-align:right;font-family:var(--font-mono)}.col-velocity,th.col-velocity{min-width:50px;text-align:right;font-size:.8125rem;font-family:var(--font-mono)}.col-oos,th.col-oos{min-width:50px;text-align:right;font-size:.8125rem;color:var(--accent-danger);font-family:var(--font-mono)}.col-days,th.col-days{min-width:70px;text-align:right;font-weight:600;font-family:var(--font-mono)}.group-row{cursor:pointer;background:var(--bg-tertiary)}.group-row:hover{background:var(--bg-hover)}.expand-icon{color:var(--text-muted);font-size:.75rem;transition:transform .2s}.variant-count{margin-left:.5rem;color:var(--text-muted);font-weight:400;font-size:.75rem;font-family:var(--font-mono)}.variant-row{background:var(--bg-secondary)}.variant-row:hover{background:var(--bg-hover)}.variant-indent{display:inline-block;width:1.5rem;color:var(--border-light)}.variant-row .col-name{padding-left:2rem;color:var(--text-secondary)}.col-days.critical{color:var(--accent-danger);background:#ef44441a}.col-days.warning{color:var(--accent-warning);background:#eab3081a}.col-days.good{color:var(--accent-success);background:#22c55e1a}.col-source{min-width:60px;text-align:center}.source-badges{display:flex;gap:4px;justify-content:center}.source-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-family:var(--font-mono)}.source-badge.amazon{background:#f9731626;color:var(--accent-secondary);border:1px solid var(--accent-secondary)}.source-badge.shopify{background:#22c55e26;color:var(--accent-success);border:1px solid var(--accent-success)}.col-weighted{background:#3b82f60d}[data-theme=dark] .col-weighted{background:#60a5fa14}th.col-weighted{background:#3b82f61a}[data-theme=dark] th.col-weighted{background:#60a5fa1f}.weighted-header{cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border-radius:4px;transition:background .2s,color .2s}.weighted-header:hover{background:#3b82f626;color:var(--accent-primary)}.product-table td.col-weighted{font-weight:600;color:var(--accent-primary)}.group-row td.col-weighted{background:#3b82f614}.col-weighted-days{background:#3b82f608}[data-theme=dark] .col-weighted-days{background:#60a5fa0d}th.col-weighted-days{background:#3b82f60f}[data-theme=dark] th.col-weighted-days{background:#60a5fa14}.product-table td.col-weighted-days{font-weight:600}.group-row td.col-weighted-days{background:#3b82f60d}.product-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.product-table th.sortable:hover{background:var(--bg-hover)}.sort-icon{cursor:pointer;margin-left:4px;opacity:.5;font-size:.65rem;transition:opacity .2s}.sort-icon:hover{opacity:1}.oos-clickable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;transition:color .2s}.oos-clickable:hover{color:var(--accent-danger)}@media (max-width: 1200px){.sync-controls{flex-direction:column;gap:6px}}@media (max-width: 768px){.header{flex-direction:column;gap:1rem}.stats{gap:1rem}.sync-controls{width:100%;flex-direction:row;justify-content:center}.table-container,.product-table th,.product-table td{padding:.5rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
