:root{--bg: #1b2a3d;--bg-2: #22364c;--panel: #ffffff;--panel-muted: #f3f6fa;--sidebar-bg: #233649;--sidebar-bg-2: #1b2a3d;--border: #d7e0ea;--border-strong: #b9c7d6;--text: #1d2a3a;--text-muted: #5d6e80;--text-invert: #f4f9ff;--text-invert-muted: #b9cadb;--accent: #1f8f7e;--accent-soft: #e6f5f1;--accent-strong: #36d3be;--success: #2f7d5b;--success-bg: #e3f4ea;--danger: #b3535f;--danger-bg: #f8e6e8;--header-h: 56px;--sidebar-w: 264px;--radius: 10px;--radius-sm: 7px;--shadow-1: 0 1px 2px rgba(16, 27, 44, .08), 0 2px 8px rgba(16, 27, 44, .06);--shadow-win: 0 12px 32px rgba(10, 18, 30, .28), 0 2px 8px rgba(10, 18, 30, .2);--font: "Montserrat", -apple-system, "Segoe UI", Roboto, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.num{font-variant-numeric:tabular-nums}.btn{font-family:var(--font);font-weight:600;font-size:13px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text);padding:8px 14px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.btn:hover{background:var(--panel-muted)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#1a7a6b}.btn:disabled{opacity:.55;cursor:not-allowed}.input,.select{font-family:var(--font);font-size:13px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;color:var(--text);outline:none}.input:focus,.select:focus{border-color:var(--accent)}.select-trigger{appearance:none;-webkit-appearance:none;-moz-appearance:none;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:auto;max-width:100%;font-family:var(--font);font-size:13px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s}.select-trigger:hover:not(.disabled):not(:disabled),.select-trigger.open{border-color:var(--accent)}.select-trigger:disabled,.select-trigger.disabled{opacity:.55;cursor:not-allowed}.select-trigger:focus-visible{outline:2px solid var(--accent-strong);outline-offset:1px}.select-trigger-value{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger-arrow{flex:0 0 auto;width:14px;height:14px;display:inline-flex;color:var(--text-muted);transition:transform .15s,color .15s}.select-trigger-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.select-trigger.open .select-trigger-arrow{transform:rotate(180deg);color:var(--accent)}.select-trigger.loading{opacity:1;cursor:wait}.select-trigger.loading .select-trigger-value{color:var(--text-muted)}.select-trigger.loading .select-trigger-arrow{animation:select-loading-pulse 1.1s ease-in-out infinite}@keyframes select-loading-pulse{0%,to{opacity:.35}50%{opacity:1}}.select-popup{position:fixed;z-index:10050;max-height:280px;overflow-y:auto;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);padding:4px;display:flex;flex-direction:column;gap:1px;box-sizing:border-box}.select-option{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-family:var(--font);font-size:13px;color:var(--text);background:transparent;border:none;border-radius:4px;padding:7px 8px;cursor:pointer;box-sizing:border-box}.select-option.hover,.select-option:hover{background:var(--accent-soft)}.select-option.selected{color:var(--accent);font-weight:600}.select-option-check{flex:0 0 14px;width:14px;text-align:center;color:var(--accent);font-weight:700}.select-option-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-picker-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;min-width:148px;font-family:var(--font);font-size:13px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--text);cursor:pointer;transition:border-color .15s,background-color .15s}.date-picker-trigger:hover:not(.disabled):not(:disabled),.date-picker-trigger.open{border-color:var(--accent)}.date-picker-trigger:disabled,.date-picker-trigger.disabled{opacity:.55;cursor:not-allowed}.date-picker-trigger:focus-visible{outline:2px solid var(--accent-strong);outline-offset:1px}.date-picker-icon{color:var(--accent);display:inline-flex}.date-picker-value{flex:1 1 auto;font-variant-numeric:tabular-nums}.date-picker-arrow{flex:0 0 auto;width:14px;height:14px;color:var(--text-muted);transition:transform .15s,color .15s}.date-picker-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.date-picker-trigger.open .date-picker-arrow{transform:rotate(180deg);color:var(--accent)}.date-picker-popup{position:fixed;z-index:10050;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-win);padding:12px;box-sizing:border-box}.date-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.date-picker-head-center{display:inline-flex;align-items:center;justify-content:center;gap:2px;flex:1;min-width:0}.date-picker-month{font-size:14px;font-weight:600;color:var(--text)}.date-picker-nav{width:30px;height:30px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-muted);color:var(--text);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.date-picker-nav:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.date-picker-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);padding:4px 0}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker-cell.empty{aspect-ratio:1}.date-picker-cell.day{aspect-ratio:1;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font);font-size:13px;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;transition:background-color .12s,color .12s}.date-picker-cell.day:hover{background:var(--accent-soft)}.date-picker-cell.day.today:not(.selected){box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent);font-weight:600}.date-picker-cell.day.selected{background:var(--accent);color:var(--text-invert);font-weight:600}.date-picker-cell.day.hl-sale:not(.selected){background:var(--success);color:#fff;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--success) 75%,#000);font-weight:700}.date-picker-cell.day.hl-market:not(.selected){background:var(--accent);color:#fff;box-shadow:inset 0 0 0 2px #1a7a6b;font-weight:700}.date-picker-cell.day.hl-sale.hl-market:not(.selected){background:linear-gradient(135deg,var(--success) 50%,var(--accent) 50%);color:#fff;box-shadow:inset 0 0 0 2px #1a7a6b}.date-picker-cell.day.hl-sale:not(.selected):hover,.date-picker-cell.day.hl-market:not(.selected):hover{filter:brightness(1.06)}.date-picker-cell.day.range-baseline:not(.selected):not(.hl-sale):not(.hl-market){background:#e7edf5;color:#40556d;box-shadow:inset 0 0 0 1px #cad5e2}.date-picker-cell.day.range-report:not(.selected):not(.hl-sale):not(.hl-market){background:var(--accent-soft);color:#176f62;box-shadow:inset 0 0 0 1px #1f8f7e47;font-weight:600}.date-picker-legend{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.date-picker-legend-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);font-family:var(--font);color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s,box-shadow .15s}.date-picker-legend-btn:hover{background:var(--panel-muted);border-color:var(--accent)}.date-picker-legend-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.date-picker-legend-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.2}.date-picker-legend-label{font-size:11.5px;font-weight:600}.date-picker-legend-date{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.date-picker-legend-btn.active .date-picker-legend-date{color:var(--text)}.date-picker-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0;align-self:center}.date-picker-legend-dot.hl-sale{background:var(--success);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 75%,#000)}.date-picker-legend-dot.hl-market{background:var(--accent);box-shadow:inset 0 0 0 1px #1a7a6b}.date-picker-range-legend{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}.date-picker-range-legend-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--text);font-size:11px}.date-picker-range-dot{width:12px;height:12px;border-radius:3px}.date-picker-range-dot.report{background:var(--accent-soft);box-shadow:inset 0 0 0 1px #1f8f7e73}.date-picker-range-dot.baseline{background:#e7edf5;box-shadow:inset 0 0 0 1px #b9c7d6}.date-picker-range-dates{color:var(--text-muted);font-variant-numeric:tabular-nums}input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0;width:16px;height:16px;flex:0 0 auto;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--panel);cursor:pointer;display:inline-grid;place-content:center;transition:border-color .15s,background .15s}input[type=radio]:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .15s}input[type=radio]:checked{border-color:var(--accent);background:var(--accent)}input[type=radio]:checked:before{transform:scale(1)}input[type=radio]:focus-visible{outline:2px solid var(--accent-strong);outline-offset:1px}input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.login-screen{min-height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1b2a3d,#314761);padding:24px}.login-card{width:360px;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-win);padding:32px 28px}.login-logo{display:block;height:46px;margin:0 auto 18px}.login-title{text-align:center;font-size:16px;font-weight:700;margin:0 0 22px;color:var(--text)}.login-field{margin-bottom:14px}.login-field label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.login-field .input{width:100%}.login-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);padding:9px 12px;font-size:12.5px;margin-bottom:14px}.login-btn{width:100%;margin-top:6px;padding:11px}.app-shell{height:100%;display:flex;flex-direction:column}.topbar{height:var(--header-h);flex:0 0 var(--header-h);background:var(--sidebar-bg-2);border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;padding:0 18px;gap:14px}.topbar .logo{height:30px}.topbar .spacer{flex:1}.topbar .client{color:var(--text-invert);font-size:13px;font-weight:600}.topbar .client small{display:block;color:var(--text-invert-muted);font-weight:400;font-size:11px}.app-body{flex:1;display:flex;min-height:0}.sidebar{position:relative;z-index:1;width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:linear-gradient(180deg,var(--sidebar-bg) 0%,var(--sidebar-bg-2) 100%);border-right:1px solid rgba(255,255,255,.06);padding:12px;overflow-y:auto;overflow-x:hidden;transition:width .16s ease,flex-basis .16s ease}.sidebar.collapsed{width:60px;flex-basis:60px;overflow:visible}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 0 10px 2px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.sidebar-toggle:hover{background:#ffffff0f}.sidebar-toggle svg{width:20px;height:20px;stroke:var(--text-invert-muted);fill:none;stroke-width:1.8;stroke-linecap:round}.sidebar.collapsed .sidebar-label{display:none}.sidebar.collapsed .sidebar-group-title{justify-content:center;padding:4px 0 8px}.sidebar.collapsed .sidebar-group-head{justify-content:center;padding:6px 0}.sidebar.collapsed .sidebar-group-chev,.sidebar.collapsed .sidebar-group-tools{display:none}.sidebar.collapsed .sidebar-group{position:relative}.sidebar.collapsed .sidebar-group-head.active{background:#36d3be24}.sidebar-flyout{position:absolute;left:calc(100% + 6px);top:0;z-index:200;min-width:210px;padding:6px;background:var(--sidebar-bg);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);box-shadow:0 8px 28px #00000059}.sidebar-flyout-title{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-strong);padding:6px 10px 8px}.sidebar-flyout-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-invert);font-family:var(--font);font-size:13px;font-weight:500;padding:9px 10px;cursor:pointer;transition:background .15s,border-color .15s}.sidebar-flyout-item:hover{background:#ffffff0f}.sidebar-flyout-item.active{background:#36d3be24;border-color:#36d3be4d}.sidebar-flyout-item svg{flex:0 0 18px;width:18px;height:18px;stroke:var(--accent-strong);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar.collapsed .sidebar-tool{justify-content:center;padding:9px 0}.sidebar-group{margin-bottom:18px}.sidebar-group-head{display:flex;align-items:center;gap:8px;width:100%;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);padding:4px 8px 8px;border:none;background:transparent;cursor:pointer;font-family:var(--font);text-align:left;border-radius:var(--radius-sm);transition:background .15s}.sidebar-group-head:hover{background:#ffffff0f}.sidebar-group-head svg{flex:0 0 16px;width:16px;height:16px;stroke:var(--accent-strong);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-group-chev{margin-left:auto;flex:0 0 22px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:999px;transition:transform .15s ease}.sidebar-group-chev svg{width:14px;height:14px;stroke:var(--text-invert-muted)}.sidebar-group-chev.open{transform:rotate(180deg)}.sidebar-group-tools{display:flex;flex-direction:column;gap:2px}.sidebar-group-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);padding:4px 8px 8px}.sidebar-group-title svg{flex:0 0 16px;width:16px;height:16px;stroke:var(--accent-strong);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-tool{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-invert);font-family:var(--font);font-size:13px;font-weight:500;padding:9px 10px;cursor:pointer;transition:background .15s,border-color .15s}.sidebar-tool:hover{background:#ffffff0f}.sidebar-tool.active{background:#36d3be24;border-color:#36d3be4d}.sidebar-tool svg{flex:0 0 18px;width:18px;height:18px;stroke:var(--accent-strong);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.workspace{position:relative;z-index:0;flex:1;overflow:hidden;background:linear-gradient(160deg,#213347,#314761)}.workspace-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-invert-muted);font-size:14px;pointer-events:none}.window{position:absolute;display:flex;flex-direction:column;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-win);border:1px solid var(--border);overflow:hidden}.window.maximized{border-radius:0;box-shadow:none}.window.window-minimized{visibility:hidden;pointer-events:none}.window-resize{position:absolute;z-index:20;touch-action:none}.window-resize-e{top:0;right:0;width:8px;height:100%;cursor:ew-resize}.window-resize-s{left:0;bottom:0;width:100%;height:8px;cursor:ns-resize}.window-resize-se{right:0;bottom:0;width:20px;height:20px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 0 50%,var(--border-strong) 50% 60%,transparent 60% 72%,var(--border-strong) 72% 82%,transparent 82%)}.window-titlebar{flex:0 0 auto;height:40px;background:var(--sidebar-bg-2);color:var(--text-invert);display:flex;align-items:center;padding:0 10px 0 14px;cursor:move;-webkit-user-select:none;user-select:none}.window-title{font-size:13px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window-actions{display:flex;gap:4px}.window-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-invert-muted);border-radius:6px;cursor:pointer;font-size:15px;line-height:1}.window-btn:hover{background:#ffffff1a;color:#fff}.window-body{flex:1;min-height:0;overflow:auto;background:var(--panel)}.taskbar{position:absolute;left:12px;bottom:12px;display:flex;gap:8px;z-index:9000}.taskbar-item{background:var(--sidebar-bg-2);color:var(--text-invert);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:8px 12px;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-1)}.repricing{display:flex;flex-direction:column;height:100%}.repricing-chrome{flex:0 0 auto;display:flex;flex-direction:column;border-bottom:1px solid var(--border);background:var(--panel)}.ribbon-tabs{position:relative;display:flex;align-items:stretch;gap:0;padding:0 8px 0 6px;background:#1e2f42;border-bottom:1px solid #162433;min-height:34px}.ribbon-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#9aafc2;font-family:var(--font);font-size:13px;font-weight:500;padding:0 12px;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:7px;transition:color .12s}.ribbon-tab-icon{display:inline-flex;align-items:center;opacity:.75}.ribbon-tab-icon svg{display:block}.ribbon-tab-label{white-space:nowrap}.ribbon-tab:hover{color:#e8f0f7}.ribbon-tab.active{color:#fff}.ribbon-tab-indicator{position:absolute;bottom:4px;left:0;height:3px;border-radius:2px;background:var(--accent-strong);pointer-events:none;opacity:0;transform:translate(0);width:0;transition:transform .34s cubic-bezier(.22,1.35,.36,1),width .34s cubic-bezier(.22,1.35,.36,1),opacity .16s ease;will-change:transform,width}.ribbon-tab-indicator.visible{opacity:1}.ribbon-tab-indicator.no-motion{transition:none}.ribbon-tab.active .ribbon-tab-icon{opacity:1;color:var(--accent-strong)}.ribbon-tab.has-filters:not(.active){color:#d5e4f0}.ribbon-collapse{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#7e93a8;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:auto 2px;border-radius:4px;cursor:pointer;flex:0 0 auto}.ribbon-collapse:hover{color:#e8f0f7;background:#ffffff0f}.ribbon-tabs-spacer{flex:1;min-width:8px}.ribbon-tabs .btn{align-self:center;margin:3px 0}.btn-excel{display:inline-flex;align-items:center;gap:5px}.btn-excel svg{display:block}.btn-sm{padding:4px 9px;font-size:12px}.ribbon-body{display:flex;align-items:stretch;gap:0;padding:10px 10px 4px;background:var(--panel);overflow-x:auto;min-height:72px}.ribbon-body-results{min-height:0;padding:10px 12px 12px;overflow:visible}.ribbon-body-analysis{min-height:0;padding:10px 12px 12px;overflow-x:auto;overflow-y:hidden}.analysis-summary{flex-wrap:nowrap;width:max-content;min-width:0;grid-template-columns:none;display:flex;align-items:stretch;justify-content:flex-start;gap:8px;padding:0}.analysis-summary .analysis-card{flex:0 0 auto;width:max-content;min-width:0;max-width:none}.analysis-summary .analysis-card-price{min-width:0}.analysis-card-title-center{text-align:center}.analysis-price-table{width:max-content;max-width:100%;border-collapse:collapse;table-layout:auto;margin-top:2px;font-variant-numeric:tabular-nums}.analysis-price-table th,.analysis-price-table td{padding:2px 8px 2px 0;text-align:left;white-space:nowrap;vertical-align:baseline}.analysis-price-table th:last-child,.analysis-price-table td:last-child{padding-right:0}.analysis-price-table thead th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);padding-bottom:4px;border-bottom:1px solid var(--border)}.analysis-price-table tbody td,.analysis-price-table tbody th{font-size:13px;color:var(--text);padding-top:3px;padding-bottom:3px}.analysis-price-table tbody tr:last-child th,.analysis-price-table tbody tr:last-child td{padding-top:5px;border-top:1px solid var(--border);font-weight:600}.analysis-price-mark{color:var(--text-muted);font-weight:600;font-size:12px;text-align:left}.analysis-price-table .analysis-price-n,.analysis-price-table thead th:nth-child(2){text-align:right;padding-left:4px;padding-right:10px}.analysis-price-n{font-weight:700}.analysis-pct{font-size:13px;font-weight:700}.analysis-rub{font-size:12px;font-weight:600;color:var(--text-muted)}.analysis-pct.cell-pos,.analysis-rub.cell-pos,.analysis-price-table .cell-pos,.analysis-pi-delta .cell-pos{color:var(--positive-text, #1f6f56)}.analysis-pct.cell-neg,.analysis-rub.cell-neg,.analysis-price-table .cell-neg,.analysis-pi-delta .cell-neg{color:var(--negative-text, #9a2a3a)}.analysis-pi-main{display:flex;align-items:baseline;justify-content:center;gap:10px}.analysis-pi-main .value{font-size:20px}.analysis-pi-arrow{color:var(--text-muted);font-size:16px;font-weight:600}.analysis-pi-delta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 0}.analysis-card-pi{text-align:center}.analysis-sep{margin:0 6px;color:var(--border-strong, #c5cdd8)}.analysis-card-abc{text-align:left;display:flex;flex-direction:column;gap:2px;padding-top:6px;padding-bottom:6px}.analysis-abc-body{display:flex;flex-direction:row;align-items:stretch;gap:8px;min-width:0}.analysis-abc-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.analysis-abc-title{margin:0;text-align:center;font-size:11px}.analysis-abc-toggles{display:flex;flex-direction:column;justify-content:center;gap:6px;flex:0 0 auto;border-left:1px solid var(--border);padding-left:8px}.analysis-abc-toggle-row{display:grid;grid-template-columns:auto auto auto;column-gap:6px;align-items:center;justify-content:start}.analysis-abc-toggle-cap{display:inline-flex;align-items:center;justify-content:flex-start;font-size:9px;font-weight:600;color:var(--text-muted);text-transform:lowercase;letter-spacing:.02em;line-height:1;text-align:left;min-width:2.8em}.analysis-abc-toggle-row>.help-hint{justify-self:start}.analysis-abc-toggle-row .help-hint-icon{width:12px;height:12px;font-size:8px;line-height:12px}.analysis-abc-head{display:none}.analysis-abc-corner{display:inline-flex;align-items:center;gap:3px;min-width:0}.analysis-abc-foot{display:none}.abc-switch{display:inline-flex;align-items:center;gap:3px;justify-self:start}.abc-switch-label{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;font:inherit;font-size:10px;font-weight:600;line-height:1;color:var(--text-muted);cursor:pointer;white-space:nowrap}.abc-switch-label-left{text-align:right;min-width:2.6em}.abc-switch-label-right{text-align:left;min-width:2.6em}.abc-switch-label.on{color:var(--accent)}.abc-switch-track{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:26px;height:14px;padding:0;border-radius:999px;background:var(--border-strong, #c5cdd8);cursor:pointer;flex:0 0 26px;transition:background .12s ease}.abc-switch-track.left,.abc-switch-track.right{background:var(--accent)}.abc-switch-knob{position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #0000000f;transition:transform .12s ease}.abc-switch-track.right .abc-switch-knob{transform:translate(12px)}.analysis-abc-table.analysis-price-table{margin-top:0}.analysis-abc-table.analysis-price-table thead th{text-align:right;padding:0 0 1px 8px;font-size:9px}.analysis-abc-table.analysis-price-table thead th:first-child{text-align:left;padding-left:0}.analysis-abc-table.analysis-price-table tbody td,.analysis-abc-table.analysis-price-table tbody th{padding-top:1px;padding-bottom:1px;font-size:12px}.analysis-abc-table.analysis-price-table tbody tr:last-child th,.analysis-abc-table.analysis-price-table tbody tr:last-child td{padding-top:2px;border-top:1px solid var(--border);font-weight:600}.analysis-abc-table .analysis-abc-td{text-align:right;padding-left:8px;padding-right:0;white-space:nowrap;vertical-align:baseline}.analysis-abc-th-total,.analysis-abc-td-total{padding-left:10px!important}.analysis-abc-share{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;cursor:default;color:var(--text)}.analysis-abc-ratio{display:none}.analysis-abc-share.abc-share-empty{font-weight:600;color:var(--text-muted)}.analysis-abc-td{border-radius:3px}.analysis-abc-td-empty{background:transparent}.analysis-abc-zone-core{background:#228c5a2e}.analysis-abc-zone-watch{background:#c88c142e}.analysis-abc-zone-tail{background:#646e781a}.ribbon-group{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:0 10px;position:relative;flex:0 0 auto}.ribbon-group-hint{align-items:center}.ribbon-sep{width:1px;align-self:stretch;background:var(--border);margin:4px 10px;flex:0 0 1px;opacity:.85}.icon-menu{display:flex;align-items:center;flex:0 0 auto}.icon-menu .hover-tooltip-anchor{display:inline-flex;overflow:visible;text-overflow:unset;white-space:normal;min-width:0}.icon-menu-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:stretch;gap:0;padding:0;border:1px solid rgba(120,140,160,.14);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;min-height:36px;transition:background .12s,color .12s,border-color .12s}.icon-menu-trigger:hover:not(:disabled),.icon-menu.open .icon-menu-trigger{background:#e8eef5;color:var(--text);border-color:#788ca047}.icon-menu.active .icon-menu-trigger{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 18%,transparent);background:color-mix(in srgb,var(--accent-soft) 70%,transparent)}.icon-menu.active .icon-menu-icon{color:var(--accent)}.icon-menu-trigger:disabled{opacity:.3;cursor:default}.icon-menu-icon{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;color:inherit}.icon-menu-icon svg{display:block;width:20px;height:20px}.icon-menu-chev{display:inline-flex;align-items:center;justify-content:center;padding:0 4px 0 2px;color:inherit;opacity:.65}.icon-menu-trigger:hover:not(:disabled) .icon-menu-chev,.icon-menu.open .icon-menu-chev{opacity:.9}.icon-menu-chev svg{width:12px;height:12px}.icon-menu-action{padding:6px 10px}.icon-menu-action .icon-menu-icon{padding:0}.icon-menu-popup{position:fixed;z-index:1200;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #101b2c1f;padding:4px;overflow-y:auto}.icon-menu-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;color:var(--text);font-family:var(--font);font-size:13px;text-align:left;padding:8px 10px;border-radius:4px;cursor:pointer}.icon-menu-option.hover,.icon-menu-option:hover{background:var(--panel-muted)}.icon-menu-option.selected{color:var(--accent);font-weight:600}.icon-menu-option-pair{cursor:default}.icon-menu-pair{display:inline-flex;align-items:center;gap:2px;margin-left:auto;flex:0 0 auto;padding:2px;border-radius:5px;background:var(--panel-muted)}.icon-menu-pair-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px;cursor:pointer;white-space:nowrap;line-height:1.2}.icon-menu-pair-btn:hover{color:var(--text);background:#ffffffb3}.icon-menu-pair-btn.on{color:var(--accent);background:#fff;font-weight:600;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.icon-menu-option.selected .icon-menu-pair-btn.on{color:var(--accent)}.icon-menu-option-check{width:14px;flex:0 0 14px;font-size:12px;color:var(--accent)}.icon-menu-option-label{flex:1;min-width:0}.icon-menu-option-count{color:var(--text-muted);font-weight:500;font-variant-numeric:tabular-nums}.icon-menu-option.selected .icon-menu-option-count{color:var(--accent);opacity:.75}.ribbon-info{display:flex;flex-direction:column;gap:2px;min-width:120px;padding:4px 8px 0}.ribbon-info-value{font-size:14px;font-weight:600;color:var(--text);line-height:1.3}.ribbon-info-caption{font-size:11px;color:#8a9aab}.summary-in-ribbon{flex:1 1 auto;width:100%;padding:0;border:none;background:transparent}.repricing-search-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--panel)}.repricing-search-bar .rows-count-badge{margin-left:auto}.repricing-search-bar .search-field{position:relative;display:flex;align-items:center;width:min(280px,100%)}.repricing-search-bar .search-icon{position:absolute;left:10px;display:flex;align-items:center;color:var(--text-muted);pointer-events:none}.repricing-search-bar .search-input{width:100%;padding-left:34px}.rows-count-badge{font-size:12px;color:var(--text-muted);white-space:nowrap;padding:3px 8px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border)}.filter-panel-hint{font-size:12px;color:var(--text-muted);max-width:180px;line-height:1.3}.btn-ghost{padding:6px 12px;font-size:13px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border);background:var(--panel-muted)}.btn-ghost:disabled{opacity:.4;cursor:default}.summary{flex:0 0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:14px}.summary.analysis-summary{display:flex;grid-template-columns:none;gap:8px;width:max-content;min-width:0;padding:0}.summary-card{background:var(--panel-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.summary-card .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:6px}.summary-card .value{font-size:20px;font-weight:700;color:var(--text)}.summary-card .pct{font-size:13px;font-weight:600;margin-top:2px}.summary-extra{margin-top:6px;font-size:12px;color:var(--text-muted);line-height:1.35}.summary-card.pi-card .pi-sub{font-size:11px;color:var(--text-muted);margin-bottom:4px}.summary-card.pi-card .pi-sub b{color:var(--text);font-weight:600}.summary-card.pi-card .pi-chart{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px;height:66px}.pi-col{display:flex;flex-direction:column;align-items:center;gap:5px}.pi-val{font-size:14px;font-weight:700;color:var(--text);line-height:1}.pi-block-wrap{position:relative;width:30px;height:30px}.pi-block-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(3px,3px);border-radius:7px;background:var(--border);opacity:.55}.pi-block{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:7px;box-shadow:0 1px 2px #0000001f}.pi-block.pi-cur{background:#4d6072}.pi-block.pi-new{background:var(--accent)}.pi-block.pi-new.pos{background:var(--success)}.pi-block.pi-new.neg{background:var(--danger)}.pi-tag{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.pi-arrow{font-size:18px;font-weight:700;color:var(--text-muted);margin-top:16px}.pi-arrow.pos{color:var(--success)}.pi-arrow.neg{color:var(--danger)}.report-date-badge{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 11px;white-space:nowrap}.pos{color:var(--success)}.neg{color:var(--danger)}.table-wrap{flex:1;min-height:0;overflow:auto;padding:0 0 14px}table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}table.grid thead th{position:sticky;top:0;background:var(--sidebar-bg-2);color:var(--text-invert);font-weight:600;padding:8px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);cursor:pointer;z-index:4}table.grid thead tr.groups th{top:0;text-align:center;background:var(--sidebar-bg);border-left:1px solid rgba(255,255,255,.08)}table.grid thead tr.groups th.group-head{cursor:pointer;-webkit-user-select:none;user-select:none}table.grid thead tr.groups th.group-head:hover{background:#2d435c}table.grid thead .chev{display:inline-block;margin-right:6px;color:var(--accent-strong);font-size:10px}table.grid thead tr.cols th{top:33px}table.grid th.collapsed-col,table.grid td.collapsed-col{text-align:center;color:var(--text-muted);cursor:pointer;min-width:30px;max-width:30px}table.grid td.collapsed-col{color:#c4cfdb}.strategy-badge{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid #bfe3da;border-radius:var(--radius-sm);padding:7px 11px;white-space:nowrap}table.grid thead th.text-col,table.grid tbody td.text-col{text-align:left}table.grid tbody td{padding:7px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--panel-muted);color:var(--text)}table.grid tbody tr.row-odd td{background:#eef2f8}table.grid tbody tr.row-selected td{background:#d3efe8!important}table.grid tbody tr.row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}table.grid tbody td.name{max-width:320px}table.grid tbody td.store{max-width:180px}.hover-tooltip-anchor{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cell-hover-tooltip{max-width:min(420px,calc(100vw - 20px));z-index:10060;white-space:normal;line-height:1.45;font-size:12.5px}.cell-hover-tooltip-text{display:flex;flex-direction:column;gap:2px}.cell-hover-tooltip-line{display:block}.weekly-repricing-tip{display:flex;flex-direction:column;gap:6px;min-width:220px}.weekly-repricing-tip-title{font-weight:700;font-size:12.5px;padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,#fff 18%,transparent)}.weekly-repricing-tip-row{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:start}.weekly-repricing-tip-label{color:color-mix(in srgb,#fff 62%,transparent);font-size:11.5px}.weekly-repricing-tip-value{font-size:12px;word-break:break-word;display:flex;flex-direction:column;gap:1px}.weekly-repricing-tip-meta{margin-top:2px;padding-top:4px;border-top:1px solid color-mix(in srgb,#fff 12%,transparent);color:color-mix(in srgb,#fff 72%,transparent);font-size:11.5px;display:flex;flex-direction:column;gap:2px}.weekly-strategy-tip{max-width:400px}.weekly-strategy-tip-badge{margin-left:8px;font-weight:500;font-size:10.5px;color:color-mix(in srgb,#fff 65%,transparent)}.weekly-strategy-tip-section{margin-top:2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:color-mix(in srgb,#fff 58%,transparent)}.weekly-strategy-tip-text{font-size:12px;line-height:1.45;word-break:break-word}.weekly-strategy-tip-params{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:3px;font-size:11.5px;line-height:1.4}.weekly-strategy-tip-params li{word-break:break-word}.weekly-strategy-cell{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.weekly-strategy-direction{flex:0 0 auto;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}.weekly-strategy-direction.raise{color:var(--success);background:var(--success-bg)}.weekly-strategy-direction.lower{color:var(--danger);background:var(--danger-bg)}.weekly-strategy-direction.hold{color:var(--text-muted);background:var(--panel-muted)}.weekly-rank-grid td .weekly-strategy-cell .weekly-strategy-select.select-trigger{flex:1 1 auto;width:auto;min-width:0;max-width:100%;padding:3px 8px;font-size:12px;line-height:1.3;min-height:26px;gap:4px}.weekly-rank-grid td .weekly-strategy-cell .weekly-strategy-select .select-trigger-arrow{width:12px;height:12px}.weekly-rank-grid .info-col .info-btn{cursor:default}table.grid tbody tr.vspacer td{padding:0;border:none;background:transparent!important}.cell-pos{background:var(--success-bg)!important;color:var(--success);font-weight:600}.cell-neg{background:var(--danger-bg)!important;color:var(--danger);font-weight:600}.sort-ind{font-size:10px;opacity:.8;margin-left:4px}.empty-state,.loading{padding:40px;text-align:center;color:var(--text-muted)}.params-panel{display:flex;flex-direction:column;height:100%}.params-fieldset{border:0;margin:0;padding:0;min-width:0;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.params-fieldset:disabled{opacity:1}.params-readonly-banner{flex:0 0 auto;padding:6px 12px;font-size:12px;color:var(--text-muted);background:var(--panel-muted);border-bottom:1px solid var(--border)}.params-store-bar{flex:0 0 auto;padding:8px 12px 0;background:var(--panel-muted);border-bottom:1px solid var(--border)}.tabs{display:flex;align-items:center;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:4px;padding:8px 12px 0;border-bottom:1px solid var(--border);background:var(--panel-muted);flex:0 0 auto}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;white-space:nowrap;flex:0 0 auto}.tab:hover{color:var(--text)}.tab.active{background:var(--panel);color:var(--accent);border-color:var(--border);margin-bottom:-1px}.params-store-select{display:flex;align-items:center;gap:8px;flex:0 0 auto}.params-store-bar .params-store-select{padding-bottom:8px}.params-store-label{font-size:12.5px;color:var(--text-muted)}.tab-panel{flex:1 1 auto;overflow:auto;background:var(--panel)}.params-form{padding:16px 18px 80px}.params-section{margin-bottom:22px}.params-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}.form-field{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:12px;padding:5px 0}.form-field-label{display:flex;align-items:center;gap:2px;font-size:13px;color:var(--text)}.form-field-control{display:flex;align-items:center;gap:8px}.form-field-control .input,.form-field-control .select{max-width:240px}.check-inline{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text);cursor:pointer}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;width:18px;height:18px;flex:0 0 18px;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--panel);cursor:pointer;position:relative;transition:background .12s ease,border-color .12s ease}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.apply-all-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-strong);background:var(--panel-muted);color:var(--text-muted);font-family:var(--font);font-size:11.5px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.apply-all-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.apply-all-btn:disabled{opacity:.6;cursor:default}.apply-all-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.muted{color:var(--text-muted);font-size:12.5px}.conf-block{margin:8px 0 14px}.conf-title{font-size:12.5px;font-weight:600;color:var(--text);margin-bottom:6px;display:flex;align-items:center;gap:6px}.conf-grid{display:flex;flex-wrap:wrap;gap:10px}.conf-cell{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--text-muted)}.conf-cell .input{width:92px}.comp-grid{display:flex;flex-wrap:wrap;gap:14px}.market-kinds{display:grid;grid-template-columns:1fr;gap:8px;max-width:520px}.market-kind-row{display:flex;align-items:center;gap:12px}.market-kind-row .check-inline{flex:1}.market-kind-row .input{width:90px}.market-preview{margin-top:6px;font-size:12.5px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-dialog{background:var(--panel, #fff);color:var(--text, #111);border-radius:10px;max-width:920px;width:100%;max-height:86vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.market-modal{max-width:920px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e5e5e5)}.modal-header h3{margin:0;font-size:16px}.modal-close{background:transparent;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--text-muted, #888);padding:0 6px}.modal-close:hover{color:var(--text, #111)}.modal-body{padding:12px 16px;overflow:auto}.market-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:10px;font-size:13px;color:var(--text-muted, #888)}.market-log-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text, #111)}.market-data-btn{margin-top:10px;align-self:flex-start}.btn-sm{padding:4px 10px;font-size:12px;font-weight:600}.group-modal{max-width:820px}.group-modal .market-meta{margin-bottom:12px}.group-modal .gp-selected{background:#1f8f7e1a;font-weight:600}.gp-selected-tag{margin-left:8px;padding:1px 6px;border-radius:var(--radius-sm, 4px);font-size:10px;font-weight:600;color:#fff;background:var(--accent, #1f8f7e)}.group-link-btn{margin-left:10px;align-self:center}.ep-reason{font-size:12px;color:var(--text-muted);white-space:nowrap}.ep-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ep-toggle input{cursor:pointer}.demand-groups-modal{max-width:980px}.dg-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dg-search{flex:1}.dg-meta{font-size:12px;color:var(--text-muted);white-space:nowrap}.dg-list{display:flex;flex-direction:column;gap:6px}.dg-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.dg-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.dg-group-head:hover{background:var(--panel-muted)}.dg-caret{width:12px;color:var(--text-muted)}.dg-group-id{flex:1;font-family:var(--font-mono, monospace);font-size:12px}.dg-count{font-size:11px;font-weight:600;color:var(--text-muted)}.dg-excl{font-size:10px;padding:2px 8px}.dg-products{padding:0 12px 10px}.dg-table{width:100%;font-size:12px}.dg-table th,.dg-table td{padding:5px 8px;border-bottom:1px solid var(--border, #eee);color:var(--text);text-align:left;vertical-align:middle}.dg-table thead th{background:var(--panel-muted);font-weight:700;vertical-align:middle}.dg-status,.dg-status .sf-badge{white-space:nowrap}.dg-name{font-weight:600}.dg-sales{display:block;font-size:10px;font-weight:400;color:var(--text-muted)}.dg-rules{max-width:280px}.dg-rule{display:inline-block;position:relative;margin:0 4px 2px 0;padding:1px 6px;border-radius:var(--radius-sm, 4px);font-size:11px;background:var(--panel-muted);color:var(--text);border:1px solid var(--border);cursor:help}.dg-rule:hover{background:var(--panel);border-color:var(--border-strong, var(--border))}.dg-tooltip{position:absolute;top:calc(100% + 6px);left:0;z-index:50;display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#1f2430;color:#fff;font-size:11px;font-weight:400;line-height:1.45;white-space:pre-line;border-radius:var(--radius-sm, 4px);box-shadow:0 4px 14px #00000040;width:460px;max-width:70vw;max-height:320px;overflow:auto}.dg-tooltip-copy{align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:600;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm, 4px);cursor:pointer}.dg-tooltip-copy:hover{background:#ffffff38}.dg-tooltip-copy.copied{background:var(--accent, #1f8f7e);border-color:transparent}.dg-tooltip-text{margin:0}.dg-rule-none,.dg-row-excluded{color:var(--text-muted)}.dg-excl-reason{display:block;margin-top:2px;font-size:10px;color:var(--text-muted)}.dg-more{margin-top:8px}.dg-tree{display:flex;flex-direction:column;gap:4px}.dg-tree-controls{display:flex;gap:6px}.dg-tree-node{display:flex;flex-direction:column;gap:2px}.dg-tree-children{display:flex;flex-direction:column;gap:4px;padding-left:calc(var(--level, 0) * 14px + 12px)}.dg-tree-head{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-muted);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.dg-tree-head:hover{background:var(--panel)}.dg-tree-name{flex:1;font-size:12px;word-break:break-word}.dg-group[style*=--level],.dg-group{margin-left:calc(var(--level, 0) * 14px)}.excl-attr-picker{margin:8px 0 4px}.excl-attr-picker .form-field-control .select-trigger,.excl-attr-picker .form-field-control .input{width:240px;max-width:240px}.excl-attr-picker .form-field-control .btn{flex-shrink:0}.excl-add{position:relative;display:flex;gap:8px;align-items:center;margin:8px 0}.excl-add-input{flex:1}.excl-add-popup{position:absolute;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;z-index:30;background:var(--bg-elevated, #fff);border:1px solid var(--border, #d0d4dc);border-radius:6px;box-shadow:0 4px 12px #0000001f}.excl-add-option{display:block;width:100%;text-align:left;padding:6px 10px;border:none;background:transparent;cursor:pointer;font-size:12px}.excl-add-option:hover{background:var(--accent-soft, #eef2ff)}.excl-table-wrap{margin-top:8px;max-height:220px;overflow-y:auto;border:1px solid var(--border, #d0d4dc);border-radius:6px;background:var(--bg-elevated, #fff)}.excl-table{width:100%;border-collapse:collapse;font-size:12px}.excl-table thead{position:sticky;top:0;z-index:1;background:var(--bg-elevated, #fff)}.excl-table th{text-align:left;padding:6px 10px;font-weight:600;border-bottom:1px solid var(--border, #d0d4dc)}.excl-table td{padding:4px 10px;border-bottom:1px solid var(--border-light, #eef0f4)}.excl-table tr:last-child td{border-bottom:none}.excl-table-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excl-table-action{width:36px;text-align:center}.excl-list-empty{margin-top:8px}.excl-list-remove{line-height:1;padding:0 8px}.excl-table-apply{margin-top:6px;display:flex;justify-content:flex-end}.excl-add-empty{padding:8px 10px;color:var(--muted, #6b7280);font-size:12px}.market-table{width:100%;font-size:12px}.market-table th,.market-table td{padding:6px 10px;border-bottom:1px solid var(--border, #eee);text-align:left;vertical-align:top;color:var(--text, #111)}.market-table thead th{position:sticky;top:0;background:var(--panel-muted, #f5f5f5);color:var(--text, #111);font-weight:600;border-bottom:1px solid var(--border-strong, #ccc);z-index:1}.market-table tbody tr:nth-child(2n){background:var(--panel-muted, rgba(0, 0, 0, .02))}.market-table td.market-reason{max-width:340px;white-space:normal;color:var(--text-muted, #888)}.elast-modal{max-width:980px}.elast-modal .detail-group{margin-bottom:18px}.elast-modal .detail-group:last-child{margin-bottom:0}.elast-hint{font-size:12px;color:var(--text-muted, #888);margin:0 0 12px;line-height:1.45}.demand-actions{padding:4px 0 8px}.market-table tbody tr.ep-filtered{color:var(--text-muted, #888)}.elast-summary{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding:8px 10px;margin-bottom:8px;background:var(--panel-muted, #f3f6fa);border-radius:6px;font-size:12.5px}.elast-sum-row{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted, #5d6e80)}.elast-sum-row b{color:var(--text, #1d2a3a);font-weight:600}.elast-exclude{flex-basis:100%;color:var(--negative-text, #9a2a3a);font-size:12px;margin-top:2px}.elast-conf{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid transparent}.elast-conf-high{color:#fff;background:var(--positive-text, #1f6f56)}.elast-conf-medium{color:#6b4e00;background:#ffe9b0;border-color:#f0c34a}.elast-conf-low{color:#fff;background:var(--negative-text, #9a2a3a)}.elast-conf-off{color:var(--text-muted, #5d6e80);background:var(--panel-muted, #eee)}.market-table td.ep-pos{color:var(--positive-text, #1f6f56);font-weight:600}.market-table td.ep-neg{color:var(--negative-text, #9a2a3a);font-weight:600}.table-scroll{max-height:62vh;overflow:auto}.basket-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:12px;background:var(--panel-muted)}.selection-grid th,.selection-grid td{text-align:center;vertical-align:middle}.selection-grid td:first-child,.selection-grid th:first-child{text-align:left}.selection-grid .input{width:90px}.percent-input-wrap{display:inline-flex;align-items:center;gap:4px}.percent-input-wrap .percent-input{width:72px;max-width:72px}.percent-suffix{font-size:13px;color:var(--text-muted);flex-shrink:0}.form-field-control .percent-input-wrap .percent-input{max-width:100px}.clustering-form{display:flex;flex-direction:column;height:100%}.clustering-form .params-section{margin-bottom:14px}.clustering-source{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.clustering-pending{font-size:12.5px}.clustering-template-dropdown{min-width:260px;max-width:min(420px,100%)}.engine-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;border:1px solid var(--border);background:var(--bg);white-space:nowrap}.engine-badge.template-badge{color:#1a5f9e;border-color:#1a5f9e;background:#1a5f9e14}.engine-badge.modified-badge{color:#9a5b00;border-color:#c47a00;background:#c47a001a}.params-actions{position:sticky;bottom:0;display:flex;align-items:center;gap:14px;padding:12px 18px;margin:0 -18px;background:var(--panel);border-top:1px solid var(--border)}.params-status{font-size:12.5px;color:var(--accent)}.json-editor{width:100%;min-height:380px;flex:1 1 auto;resize:vertical;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0f1c2b;color:#d7e7f5}.json-editor:focus{outline:none;border-color:var(--accent)}.help-hint{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px;flex-shrink:0}.help-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--border-strong);color:var(--text-muted);font-size:10px;font-weight:700;line-height:1;cursor:help;background:var(--panel-muted);-webkit-user-select:none;user-select:none}.help-hint:hover .help-hint-icon,.help-hint.open .help-hint-icon,.help-hint:focus-within .help-hint-icon{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.help-hint-popup--fixed{position:fixed;display:block;width:max-content;max-width:300px;padding:10px 12px;background:#1b2a3d;color:var(--text-invert);font-size:12px;font-weight:400;line-height:1.45;border-radius:var(--radius-sm);box-shadow:var(--shadow-win);z-index:10050;white-space:normal;text-align:left;pointer-events:auto}.check-label{display:inline-flex;align-items:center;gap:4px}.filter-name{margin-right:2px}.selection-topn .form-field{grid-template-columns:220px 1fr;padding:6px 0}.selection-topn .form-field-control .input[type=number]{width:110px}.selection-topn .form-field-control .select{width:280px;max-width:280px}.selection-topn-applyall{margin-top:8px}.selection-grid th{white-space:nowrap}.selection-grid th .help-hint{vertical-align:middle}.th-label{margin-right:2px}.selection-grid td:first-child{text-align:left}.grid th.info-col,.grid td.info-col{width:34px;min-width:34px;max-width:34px;padding:0;text-align:center}.grid th.status-col,.grid td.status-col{width:28px;min-width:28px;max-width:28px;padding:0 4px;text-align:center;vertical-align:middle}.grid th.sticky-chrome,.grid td.sticky-chrome{position:sticky;background-color:#fff;background-clip:padding-box}.grid thead th.sticky-chrome{z-index:6;background-color:var(--sidebar-bg)!important;color:var(--text-invert);cursor:pointer}.grid thead tr.cols th.sticky-chrome{background-color:var(--sidebar-bg-2)!important;z-index:6}.grid thead th.info-col.sticky-chrome,.grid thead th.status-col.sticky-chrome{cursor:default}.grid tbody td.sticky-chrome{z-index:1;background-color:#fff!important}.grid tbody tr.row-odd td.sticky-chrome{background-color:#eef2f8!important}.grid tbody tr.row-selected td.sticky-chrome{background-color:#d3efe8!important}.grid tr.row-not-optimal td:not(.sticky-chrome){opacity:.88}.grid td.sticky-chrome-end,.grid th.sticky-chrome-end{box-shadow:4px 0 8px -4px #0f172a2e}.grid th.row-index-col,.grid td.row-index{width:40px;min-width:40px;max-width:48px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:11px;padding-left:6px;padding-right:8px}.grid thead th.row-index-col{cursor:default}table.grid.grid-resizable{table-layout:fixed}table.grid.grid-resizable th,table.grid.grid-resizable td{overflow:hidden;text-overflow:ellipsis}table.grid.grid-resizable th.row-index-col,table.grid.grid-resizable td.row-index{width:auto;min-width:0;max-width:none}.col-resize-handle{position:absolute;top:0;right:-3px;z-index:3;width:7px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none}.col-resize-handle:after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:transparent}.col-resize-handle:hover:after,body.col-resizing .col-resize-handle:hover:after{background:#ffffff73}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.th-label-row{display:inline-flex;align-items:center;gap:8px;max-width:100%}.col-pin-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#ffffffb8;cursor:pointer;padding:0;margin:0;border-radius:0;display:inline-flex;align-items:center;justify-content:center;line-height:0;flex:0 0 auto}.col-pin-btn:hover{color:#fff;background:transparent}.col-pin-btn.on{color:var(--accent-strong);background:transparent}.col-pin-btn svg{display:block;width:15px;height:15px;transform:rotate(35deg);transform-origin:center 70%}.info-col .hover-tooltip-anchor{display:inline-flex;overflow:visible;text-overflow:unset;white-space:normal;min-width:0;align-items:center;justify-content:center;width:100%;height:100%}.info-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.info-btn:hover{color:var(--accent);background:var(--panel-muted)}.status-col-head{font-size:8px;color:#ffffff73;line-height:1}.status-dots{display:inline-flex;align-items:center;justify-content:center;gap:3px}.status-dot{width:8px;height:8px;border-radius:50%;box-sizing:border-box;flex:0 0 auto}.status-dot.on{background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.status-dot.off{background:transparent;border:1.5px solid #b7c4d2}.grid td.cell-dimmed,.grid td.cell-dimmed .num{color:var(--text-muted);opacity:.55}.product-detail{display:flex;flex-direction:column;height:100%;min-width:0}.product-detail-head{flex:0 0 auto;padding:14px 18px 10px;border-bottom:1px solid var(--border);background:var(--panel-muted)}.product-detail-name{font-size:15px;font-weight:700;color:var(--text)}.product-detail-meta{margin-top:4px;display:flex;gap:14px;font-size:12.5px;color:var(--text-muted)}.product-detail .tabs{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.product-detail .tabs .tab{flex-shrink:0;white-space:nowrap}.product-detail .tab-panel{background:var(--panel)}.detail-list{padding:12px 18px 24px}.detail-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13.5px}.detail-label{color:var(--text-muted)}.detail-value{color:var(--text);font-weight:600;text-align:right}.detail-value.filter-mark{font-size:15px;min-width:1.5em}.detail-value.filter-pass{color:var(--positive-text, #1f6f56)}.detail-value.filter-soft{color:#b8860b}.detail-value.filter-fail{color:var(--negative-text, #9a2a3a)}.detail-value.filter-na{color:var(--text-muted);font-weight:500}.detail-value.selection-param-value{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;font-weight:500}.selection-thresholds{color:var(--text);font-weight:600}.selection-soft{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.selection-soft-label{font-weight:500}.detail-groups{display:flex;flex-direction:column;gap:16px}.detail-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);overflow:hidden}.detail-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-group-title{margin:0;padding:10px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--panel-muted);border-bottom:1px solid var(--border)}.detail-group-body{padding:4px 14px 8px}.detail-group-body .detail-row:last-child{border-bottom:none}.price-explanation{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-muted);padding:12px 14px;font-size:13px;line-height:1.5;color:var(--text);margin-bottom:16px}.price-explanation-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 6px}.price-explanation-text{margin:0}.price-explanation-text+.price-explanation-text{margin-top:4px}.price-explanation-text.muted{color:var(--text-muted)}.price-explanation-text.warn{color:var(--accent-warn, #b8860b)}.sf-table{width:100%;border-collapse:collapse;font-size:13px}.sf-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:8px 10px 6px;border-bottom:1px solid var(--border)}.sf-table th:nth-child(2),.sf-table th:nth-child(3),.sf-table th:nth-child(4){text-align:right}.sf-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.sf-table tr:last-child td{border-bottom:none}.sf-name{font-weight:600;color:var(--text)}.sf-threshold,.sf-value,.sf-result{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.sf-value{font-weight:600}.sf-bracket{font-weight:700;padding:0 1px}.sf-bracket.hard{color:var(--text-muted)}.sf-bracket.soft{color:#b07a00}.sf-row.sf-pass .sf-value{color:var(--positive-text, #1f6f56)}.sf-row.sf-fail .sf-value{color:var(--negative-text, #9a2a3a)}.sf-row.sf-soft .sf-value{color:#9a6b00}.sf-row.sf-off .sf-value,.sf-row.sf-na .sf-value,.sf-row.sf-unknown .sf-value{color:var(--text-muted);font-weight:500}.sf-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--border);background:var(--panel-muted);color:var(--text-muted)}.sf-badge-pass{color:#fff;background:var(--positive-text, #1f6f56);border-color:transparent}.sf-badge-fail{color:#fff;background:var(--negative-text, #9a2a3a);border-color:transparent}.sf-badge-soft{color:#6b4e00;background:#ffe9b0;border-color:#f0c34a}.sf-badge-off,.sf-badge-na,.sf-badge-unknown{color:var(--text-muted)}.sf-row{box-shadow:inset 3px 0 0 transparent}.sf-row.sf-pass{box-shadow:inset 3px 0 0 var(--positive-text, #1f6f56)}.sf-row.sf-fail{box-shadow:inset 3px 0 0 var(--negative-text, #9a2a3a)}.sf-row.sf-soft{box-shadow:inset 3px 0 #f0c34a}.sf-row.sf-off,.sf-row.sf-na,.sf-row.sf-unknown{box-shadow:inset 3px 0 0 var(--border)}.sf-row.sf-off .sf-name,.sf-row.sf-na .sf-name,.sf-row.sf-unknown .sf-name{color:var(--text-muted)}.elasticity-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid transparent;vertical-align:middle}.elasticity-badge.elastic-ok{color:#fff;background:var(--positive-text, #1f6f56)}.elasticity-badge.elastic-warn{color:#6b4e00;background:#ffe9b0;border-color:#f0c34a}.detail-value.elastic-active{font-weight:700;color:var(--positive-text, #1f6f56)}.detail-row-stack{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px}.detail-row-main{display:flex;justify-content:space-between;gap:16px}.detail-row-sub{display:flex;justify-content:flex-end}.price-delta{font-size:11.5px;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.price-delta.pos{color:var(--positive-text, #1f6f56)}.price-delta.neg{color:var(--negative-text, #9a2a3a)}.detail-value-muted{color:var(--text-muted);font-weight:500;font-size:11.5px}.detail-value.strategy-diff{color:#b06a1e;font-weight:700}.composition-text{flex-direction:column;justify-content:flex-start;gap:3px}.composition-line{display:flex;align-items:baseline;gap:8px;font-size:12.5px}.composition-line-label{color:var(--text);font-weight:600;min-width:90px}.composition-line-w{color:var(--text-muted);font-variant-numeric:tabular-nums}.composition-line-price{color:var(--text);font-weight:700;margin-left:auto;font-variant-numeric:tabular-nums}.composition-formula{font-size:11px;color:var(--text-muted);margin-top:2px}.bounds-plot-group{overflow:visible}.bounds-plot-group .bounds-plot{--bp-label-w: 120px;position:relative;display:flex;flex-direction:column;gap:9px;padding:0}.bp-label-band{flex:0 0 auto}.bp-toggles{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:4px}.bp-toggle{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:11.5px;color:var(--text-muted);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.bp-toggle.on{color:var(--text);border-color:var(--border-strong);background:var(--panel-muted)}.bp-toggle.off{opacity:.6}.bp-toggle.disabled{opacity:.35;cursor:not-allowed}.bp-toggle-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.bp-overlay{position:absolute;left:calc(var(--bp-label-w) + 10px);right:0;top:0;bottom:0;pointer-events:none}.bp-ref{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed #5d6e80}.bp-ref-label{position:absolute;left:4px;font-size:10px;font-weight:700;background:var(--panel);padding:1px 4px;border-radius:3px;pointer-events:auto;white-space:nowrap;cursor:help}.bp-ref-tooltip{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);z-index:31;min-width:110px;background:var(--panel);border:1px solid var(--border-strong);border-radius:7px;padding:5px 9px;font-size:11px;font-weight:400;line-height:1.3;color:var(--text);white-space:nowrap;box-shadow:0 4px 14px #00000029;font-variant-numeric:tabular-nums;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease}.bp-ref-tooltip.bp-ref-tooltip-rich{min-width:210px;text-align:left;white-space:normal;padding:7px 10px;line-height:1.4}.bp-ref-tooltip-rich .bp-tooltip-title{font-weight:700;margin-bottom:4px;color:var(--text)}.bp-ref-tooltip-rich .bp-tooltip-row{color:var(--text-muted)}.bp-ref-tooltip-rich .bp-tooltip-row b{color:var(--text);font-variant-numeric:tabular-nums}.bp-ref-label:hover .bp-ref-tooltip{opacity:1;visibility:visible}.bp-row{display:grid;grid-template-columns:var(--bp-label-w) 1fr;align-items:center;gap:10px}.bp-row-label{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-row-track{position:relative;height:16px;border-radius:5px;background:var(--panel-muted);border:1px solid var(--border)}.bp-seg{position:absolute;top:0;bottom:0;min-width:3px;transition:filter .12s ease;cursor:help}.bp-seg.bp-lower{left:0;border-radius:5px 0 0 5px}.bp-seg.bp-upper{right:0;border-radius:0 5px 5px 0}.bp-seg.t-binding{background:var(--accent)}.bp-seg.t-set{background:color-mix(in srgb,var(--accent) 50%,var(--panel))}.bp-seg.t-off{background:var(--accent-soft);border:1px dashed var(--accent)}.bp-seg.t-not_set{background-color:var(--accent-soft);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--accent) 55%,transparent) 0 3px,transparent 3px 7px)}.bp-seg.bp-unset{left:0;right:0;border-radius:5px}.bp-seg.bp-unset .bp-tooltip{left:50%;right:auto;transform:translate(-50%)}.bp-seg:hover{filter:brightness(1.15)}.bp-tooltip{position:absolute;bottom:calc(100% + 7px);z-index:30;min-width:150px;background:var(--panel);border:1px solid var(--border-strong);border-radius:7px;padding:7px 10px;font-size:11px;line-height:1.35;color:var(--text);box-shadow:0 4px 14px #00000029;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease}.bp-seg:hover .bp-tooltip{opacity:1;visibility:visible}.bp-lower .bp-tooltip{right:0;transform:translate(50%)}.bp-upper .bp-tooltip{left:0;transform:translate(-50%)}.bp-tooltip-title{font-weight:700;margin-bottom:4px;color:var(--text)}.bp-tooltip-row{color:var(--text-muted)}.bp-tooltip-row b{color:var(--text);font-variant-numeric:tabular-nums}.bp-tooltip-param{font-variant-numeric:tabular-nums}.bp-tooltip-disabled{margin-bottom:2px;font-weight:700;color:var(--text-muted)}.bp-axis{display:grid;grid-template-columns:var(--bp-label-w) 1fr;gap:10px;margin-top:4px}.bp-axis-track{position:relative;height:20px}.bp-tick{position:absolute;top:0;bottom:0}.bp-tick-line{position:absolute;top:0;left:0;width:0;height:5px;border-left:1px solid var(--border-strong)}.bp-tick-label{position:absolute;top:7px;left:0;font-size:10.5px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.recompute{padding:14px 18px 16px;display:flex;flex-direction:column;gap:10px;box-sizing:border-box}.recompute-form{display:flex;flex-direction:column;gap:0}.recompute-top-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 28px}.recompute-field{display:flex;flex-direction:column;gap:6px;min-width:200px}.recompute-field:not(.recompute-field-inline) .select-trigger{align-self:flex-start}.recompute-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.recompute-label-row{display:inline-flex;align-items:center;gap:2px}.recompute-field-inline{flex-direction:row;align-items:center;gap:8px}.recompute-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0}.recompute-checkbox-wrap{display:inline-flex;align-items:center;gap:2px}.recompute-checkbox input:disabled{cursor:default;opacity:.6}.recompute-stages{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;background:var(--panel-muted)}.recompute-stages-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px}.recompute-stages-list{display:flex;flex-direction:column;gap:0}.recompute-stage{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:12.5px;line-height:1.3}.recompute-stage-mark{width:14px;color:var(--accent);font-weight:700;flex:0 0 14px;font-size:11px;text-align:center}.recompute-stage-body{display:flex;flex-direction:row;align-items:baseline;gap:6px;min-width:0;flex:1}.recompute-stage-label{color:var(--text);font-weight:600;flex-shrink:0}.recompute-stage-hint{color:var(--text-muted);font-size:11px;font-family:var(--mono, ui-monospace, monospace);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.recompute-stage-hint:before{content:"·";margin-right:6px;color:var(--border-strong);font-family:var(--font)}.recompute-stage.skipped .recompute-stage-mark{color:var(--text-muted)}.recompute-stage.skipped .recompute-stage-label{color:var(--text-muted);text-decoration:line-through}.recompute-note{margin-top:8px;font-size:12.5px;color:var(--text-muted)}.recompute-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-top:0;padding-top:0}.recompute-run-btn{min-width:200px;margin-left:auto}.recompute-status{min-height:38px;padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;line-height:1.45;background:var(--panel-muted);border:1px solid var(--border);color:var(--text-muted)}.recompute-status-idle{color:var(--text-muted);opacity:.85}.recompute-status-pending{background:var(--accent-soft);border-color:#1f8f7e40;color:var(--text)}.recompute-status-ok{background:var(--success-bg);border-color:#2f7d5b40;color:var(--success)}.recompute-status-error{background:var(--danger-bg);border-color:#b3535f40;color:var(--danger)}.recompute-field-asof{flex:1 1 280px;min-width:280px}.recompute-asof-controls{display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px}.recompute-datepicker{flex:0 0 auto;min-width:148px;align-self:stretch}.recompute-datepicker.date-picker-trigger{min-height:36px;height:100%;box-sizing:border-box}.recompute-datepicker .date-picker-value{flex:1 1 auto}.data-upload{display:flex;flex-direction:column;height:100%}.data-upload-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.data-upload-actions{display:flex;align-items:center;gap:8px}.data-upload-title{font-size:16px;font-weight:600}.data-upload-sub{font-size:13px;color:var(--text-muted, #6b7280);margin-top:2px}.data-upload-meta{font-size:12.5px;color:var(--text-muted, #6b7280);margin-left:4px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;min-width:0}.data-upload-meta a{color:var(--accent, #1f8a78);text-decoration:none;font-weight:600}.data-upload-meta a:hover{text-decoration:underline}.data-upload-meta-sep{margin:0 6px;opacity:.55}.data-upload-section-title{font-size:13.5px;font-weight:600;margin-top:6px}.data-upload-warn{padding:8px 12px;border-radius:var(--radius-sm);background:var(--warn-bg, #fbf0d9);color:var(--warn-text, #8a5a00);font-size:13px;margin-top:10px}.data-upload-result{padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:10px}.data-upload-result.ok{background:var(--positive-bg, #ddf3ec);color:var(--positive-text, #1f6f56)}.data-upload-result.error{background:var(--negative-bg, #f6e1e4);color:var(--negative-text, #9a2a3a)}.data-upload-table{width:100%;border-collapse:collapse;font-size:13px}.data-upload-table th,.data-upload-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border, #e5e7eb)}.data-upload-table th{color:var(--text-muted, #6b7280);font-weight:600}.data-upload-hash{font-family:var(--mono, monospace);color:var(--text-muted, #6b7280)}.data-upload-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 8px}.data-upload-checks{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:0 0 10px}.data-upload-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.data-upload-check-all{font-weight:600;color:var(--text)}.data-upload-step-checks{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.data-upload-step-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.data-upload-inline-check{margin:0}.data-upload-cleanup .data-upload-check{align-items:flex-start;cursor:pointer}.data-upload-cleanup .data-upload-check input[type=radio]{margin-top:2px}.data-upload-cleanup-title{display:block;font-weight:600;color:var(--text)}.data-upload-cleanup-desc{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.data-upload-cleanup-confirm{display:flex;flex-direction:column;gap:12px}.data-upload-cleanup-hint{margin:0;font-size:13px}.data-upload-cleanup-hint code{background:var(--bg-invert, #111);color:var(--text-invert, #fff);padding:1px 6px;border-radius:var(--radius-sm, 4px)}.data-upload-market-row{align-items:center}.data-upload-market-label{font-size:13px;color:var(--text);white-space:nowrap}.data-upload-subblock{margin-top:10px}.data-upload-date{width:150px}.data-upload-config{margin:10px 0;border:1px solid var(--border, #e5e7eb);border-radius:var(--radius-sm);overflow:hidden}.data-upload-config-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--panel-muted, #f3f4f6);font-size:13px;font-weight:600;color:var(--text)}.data-upload-config-head em{font-weight:400;color:var(--text-muted, #6b7280)}.data-upload-json{width:100%;min-height:180px;padding:10px 12px;border:none;border-top:1px solid var(--border, #e5e7eb);font-family:var(--mono, ui-monospace, monospace);font-size:12.5px;line-height:1.45;resize:vertical;outline:none;background:var(--bg);color:var(--text-invert)}.data-upload-json:focus{box-shadow:inset 0 0 0 2px var(--accent-soft, #cfe3ff)}.data-upload-hint{margin:0 0 12px;font-size:12.5px;color:var(--text-muted, #6b7280);line-height:1.45}.data-upload-hint code{font-size:11.5px}.data-upload-matching{max-width:720px}.data-upload-matching .form-field{grid-template-columns:200px 1fr}.data-upload-matching-prompt{align-items:start}.data-upload-matching-prompt .form-field-label{padding-top:8px;flex-direction:column;align-items:flex-start;gap:2px}.data-upload-field-hint{font-size:11px;font-weight:400;color:var(--text-muted, #6b7280)}.data-upload-matching-prompt-ta{min-height:120px;border:1px solid var(--border, #e5e7eb);border-radius:var(--radius-sm);max-width:100%}.data-upload-matching-autos{flex-wrap:wrap;gap:10px 18px}.data-upload-row{cursor:pointer}.data-upload-row:hover{background:var(--bg-alt, #f3f4f6)}.data-upload-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11.5px;font-weight:600;text-transform:lowercase}.data-upload-badge-done{background:var(--positive-bg, #ddf3ec);color:var(--positive-text, #1f6f56)}.data-upload-badge-running{background:var(--accent-soft, #cfe3ff);color:var(--accent-text, #1e40af)}.data-upload-badge-pending{background:var(--warn-bg, #fbf0d9);color:var(--warn-text, #8a5a00)}.data-upload-badge-failed{background:var(--negative-bg, #f6e1e4);color:var(--negative-text, #9a2a3a)}.data-upload-job-log{margin-top:8px;display:flex;flex-direction:column;gap:3px}.data-upload-job-log-line{display:flex;gap:8px;font-family:var(--mono, ui-monospace, monospace);font-size:12px;line-height:1.4;color:var(--text, #1f2937)}.data-upload-job-log-ts{color:var(--text-muted, #6b7280);flex:0 0 auto}.data-upload-job-log-stage{color:var(--accent-text, #1e40af);flex:0 0 auto}.data-upload-job-log-error{color:var(--negative-text, #9a2a3a)}.data-upload-job-log-warn{color:var(--warn-text, #8a5a00)}.data-upload-job-events{display:flex;flex-direction:column;gap:4px;max-height:60vh;overflow:auto}.data-upload-validation{display:flex;flex-direction:column;gap:10px}.data-upload-validation-errors,.data-upload-validation-warn{margin:0;padding-left:20px;font-size:13px}.data-upload-validation-errors{color:var(--negative-text, #9a2a3a)}.data-upload-validation-warn{color:var(--warn-text, #8a5a00)}.data-upload-validation-section{display:flex;flex-direction:column;gap:6px}.data-upload-modal{max-width:720px}.grid th.filter-col,.grid td.filter-col{text-align:center;min-width:52px;font-size:13px}.grid td.filter-pass{color:var(--positive-text, #1f6f56);font-weight:700}.grid td.filter-soft{color:#b8860b;font-weight:700}.grid td.filter-fail{color:var(--negative-text, #9a2a3a);font-weight:700}.grid td.filter-na{color:var(--text-muted)}.group-head-filters{background:var(--panel-muted)}.window-btn:disabled{opacity:.35;cursor:not-allowed}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border, #e5e5e5)}.btn-danger{background:var(--danger, #d83a3a);color:#fff;border-color:var(--danger, #d83a3a)}.btn-danger:hover{filter:brightness(.93)}.indicator-recompute{min-width:0}.indicator-params-row{align-items:flex-end;gap:14px 20px}.indicator-params-row .recompute-field{min-width:0}.indicator-inline-control{display:inline-flex;align-items:center;gap:8px;min-height:35px}.indicator-inline-suffix{font-size:13px;font-weight:600;color:var(--text-muted)}.indicator-days-input{width:72px;text-align:right;font-variant-numeric:tabular-nums}.indicator-lifecycle-field{flex:1 1 220px;min-width:220px}.indicator-lifecycle-select{width:100%;max-width:280px}.indicator-baseline-windows{display:flex;flex-direction:column;gap:2px}.indicator-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.indicator-period-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel)}.indicator-period-card.report{border-color:#1f8f7e59;background:linear-gradient(180deg,var(--accent-soft),var(--panel) 70%)}.indicator-period-card.baseline{background:linear-gradient(180deg,#edf2f7,var(--panel) 70%)}.indicator-period-card .date-picker-trigger,.indicator-baseline-calendar{width:100%}.indicator-baseline-calendar{display:flex;align-items:center;gap:8px;min-height:35px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);font-size:13px;font-variant-numeric:tabular-nums}.indicator-period-value{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.indicator-source-note{padding:7px 10px;border-left:3px solid var(--accent);background:var(--panel-muted);color:var(--text-muted);font-size:12px;line-height:1.4}.weekly-news{display:flex;flex-direction:column;height:100%;min-height:0;background:#edf2f7}.weekly-chrome{flex:0 0 auto}.weekly-news-body{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px 16px}.weekly-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.weekly-recommendations-block{max-width:100%}.weekly-recommendations-block .weekly-group-influence{margin-top:0}.weekly-recommendations-block .weekly-group-influence-head{margin-bottom:8px}.weekly-block{min-width:0;display:flex;flex-direction:column;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-1)}.weekly-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.weekly-block-head h2{margin:0;font-size:16px;color:var(--text)}.weekly-block-head .weekly-main-metric-periods{font-weight:400}.weekly-block-head .weekly-expand-btn{flex:0 0 auto}.weekly-revenue-stack{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--panel-muted)}.weekly-main-metric{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-content:center}.weekly-main-metric-inline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.weekly-main-metric-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.weekly-main-metric-body>span,.weekly-main-metric-title{color:var(--text);font-size:15px;font-weight:700;letter-spacing:.01em;text-transform:none}.weekly-main-metric-periods{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:0}.weekly-main-metric-values{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px}.weekly-main-metric-body strong{font-size:24px;line-height:1.15;font-variant-numeric:tabular-nums;background:transparent!important}.weekly-main-metric-body em{font-size:14px;font-style:normal;font-weight:700;background:transparent!important}.weekly-delta-pos{color:var(--success);background:transparent!important}.weekly-delta-neg{color:var(--danger);background:transparent!important}.weekly-main-metric-body small{color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.weekly-main-metric-inline>.btn{flex-shrink:0;align-self:center}.weekly-main-metric-inline>.weekly-main-metric-actions{flex-shrink:0;align-self:flex-start}.weekly-main-metric>span{grid-column:1 / -1;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.weekly-main-metric strong{font-size:22px;line-height:1.15;font-variant-numeric:tabular-nums}.weekly-main-metric em{align-self:center;font-size:13px;font-style:normal;font-weight:700}.weekly-main-metric small{grid-column:1 / -1;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.weekly-waterfall{min-width:0;width:100%}.weekly-waterfall-svg{display:block;width:100%;height:auto}.weekly-waterfall-callout{fill:#7a8898;font-size:8px;font-weight:500;letter-spacing:.01em}.weekly-waterfall-leader{stroke:#c5d0db;stroke-width:1;stroke-linecap:round}.weekly-waterfall.expanded .weekly-waterfall-callout{font-size:10px}.weekly-waterfall-modal-card{width:min(1200px,100%)}.weekly-waterfall-callouts{display:grid;gap:6px;margin-bottom:0}.weekly-waterfall-callouts .hover-tooltip-anchor{min-width:0;width:100%;display:block}.weekly-waterfall-callout-item{display:flex;flex-direction:column;align-items:center;min-width:0;width:100%;text-align:center;font-size:9px;font-weight:500;line-height:1.25;color:#7a8898;cursor:help;padding-bottom:2px}.weekly-waterfall-callout-item>span{display:block;width:100%;max-width:100%;overflow-wrap:break-word;word-wrap:break-word;word-break:normal;white-space:normal;-webkit-hyphens:auto;hyphens:auto}.weekly-waterfall.expanded .weekly-waterfall-callout-item{font-size:11px;line-height:1.3}.weekly-main-metric-actions{display:inline-flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.weekly-details-btn{font-size:12px;font-weight:700;padding:5px 12px;white-space:nowrap}.weekly-details-link{font-size:13px;font-weight:700;color:var(--text);padding:4px 10px}.weekly-details-link:hover{color:var(--accent)}.weekly-expand-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0;padding:2px 4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;line-height:1}.weekly-expand-btn:hover{color:var(--text)}.weekly-expand-caption{font-size:8px;font-weight:500;letter-spacing:.01em;white-space:nowrap;text-transform:lowercase}.weekly-waterfall-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:4px}.weekly-waterfall-labels .hover-tooltip-anchor{min-width:0;display:block}.weekly-waterfall-label-chip{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center;font-size:10px;font-weight:600;line-height:1.15;color:var(--text);cursor:help}.weekly-waterfall-zero{stroke:#b7c3d0;stroke-width:1;stroke-dasharray:3 3}.weekly-waterfall-link{stroke:#9eacbc;stroke-width:1}.weekly-waterfall-bar.positive{fill:var(--success)}.weekly-waterfall-bar.negative{fill:var(--danger)}.weekly-waterfall-bar.total-pos{fill:var(--success)}.weekly-waterfall-bar.total-neg{fill:var(--danger)}.weekly-waterfall-value{font-size:9px;font-weight:700;fill:var(--text)}.weekly-waterfall-value.positive,.weekly-waterfall-value.cell-pos{fill:var(--success)}.weekly-waterfall-value.negative,.weekly-waterfall-value.cell-neg{fill:var(--danger)}.weekly-waterfall-pct{font-size:8px;font-weight:600;fill:var(--text-muted)}.weekly-waterfall-pct.positive,.weekly-waterfall-pct.cell-pos{fill:var(--success)}.weekly-waterfall-pct.negative,.weekly-waterfall-pct.cell-neg{fill:var(--danger)}.weekly-group-influence{margin-top:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.weekly-group-influence-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.weekly-group-influence-head h3{margin:0;font-size:12px;color:var(--text)}.weekly-rank-head-left{display:inline-flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.weekly-rank-topn{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}.weekly-rank-switch .abc-switch-label-left{min-width:7.2em}.weekly-rank-switch .abc-switch-label-right{min-width:2.2em}.weekly-rank-topn .indicator-days-input{width:56px}.weekly-rank-expand{display:inline-flex;align-items:center;gap:6px;font-size:12px}.weekly-rank-table-wrap{flex:0 1 auto;overflow:auto;max-height:360px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.weekly-rank-table-wrap.expanded{max-height:none;flex:1;min-height:0}.weekly-rank-stores{display:flex;flex-direction:column;gap:10px;min-height:0}.weekly-rank-stores.expanded{flex:1;overflow:auto}.weekly-rank-store-title{margin:0 0 4px;font-size:11px;font-weight:600;color:var(--text-muted)}.weekly-rank-grid{width:100%}table.grid.weekly-rank-grid thead tr.cols th{top:0;cursor:default}.weekly-rank-grid tbody tr{cursor:pointer}.weekly-rank-grid td.name,.weekly-rank-grid th[data-col=product]{max-width:none!important}.weekly-rank-grid.grid-resizable td[data-col=product],.weekly-rank-grid.grid-resizable th[data-col=product]{overflow:hidden;text-overflow:ellipsis}.weekly-rank-name{display:block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-rank-comment{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-rank-price{display:inline-block;border-bottom:1px dotted color-mix(in srgb,var(--text-muted) 55%,transparent);cursor:help}.weekly-rank-tag{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:700}.weekly-rank-tag.best{color:var(--success);background:var(--success-bg)}.weekly-rank-tag.worst{color:var(--danger);background:var(--danger-bg)}.weekly-rank-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:stretch;justify-content:center;padding:24px;background:#0f172a73}.weekly-rank-modal-card{width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-2)}.weekly-rank-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.weekly-rank-modal-head h3{margin:0;font-size:16px}.weekly-rank-modal-head .weekly-rank-topn,.weekly-rank-modal-head .weekly-rank-topn .indicator-days-input{font-size:13px}.weekly-group-empty{color:var(--text-muted);font-size:11px;padding:4px 0}.weekly-position-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px}.weekly-position-stats span{padding:2px 6px;border-radius:999px;background:var(--panel-muted);color:var(--text-muted);font-size:10px;font-variant-numeric:tabular-nums}.weekly-source-warning{margin-top:8px;padding:5px 7px;border-left:3px solid #b7791f;background:var(--warn-bg, #fbf0d9);color:var(--warn-text, #8a5a00);font-size:10px;line-height:1.4}.weekly-coming-soon{position:relative;overflow:hidden;min-height:220px}.weekly-coming-soon-body{flex:1;filter:blur(2.5px);opacity:.55;-webkit-user-select:none;user-select:none;pointer-events:none}.weekly-coming-soon-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:14px}.weekly-coming-soon-fake{display:flex;align-items:flex-end;gap:8px;height:72px;margin-top:8px}.weekly-coming-soon-fake span{flex:1;border-radius:4px 4px 0 0;background:#d4dde7}.weekly-coming-soon-fake span:nth-child(1){height:45%}.weekly-coming-soon-fake span:nth-child(2){height:80%}.weekly-coming-soon-fake span:nth-child(3){height:60%}.weekly-coming-soon-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:linear-gradient(180deg,#edf2f733,#edf2f79e)}.weekly-loading,.weekly-empty{min-height:240px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.weekly-lifecycle{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.4;white-space:nowrap}.weekly-lifecycle.shared{background:var(--panel-muted);color:var(--text-muted)}.weekly-lifecycle.new{background:var(--success-bg);color:var(--success)}.weekly-lifecycle.discontinued{background:#f3e8e8;color:var(--danger)}.revenue-details .th-label-row{display:inline-flex;align-items:center;gap:4px}@media (max-width: 900px){.weekly-tiles{grid-template-columns:1fr}.weekly-waterfall-labels{gap:4px}.indicator-period-grid{grid-template-columns:1fr}}
