/* Demands 2-5 share Demand 1's visual language while retaining chart-specific geometry. */
/* Unified selectable legend cards: all series start enabled; disabled cards turn grey. */
.customer-quick-analysis .customer-combo-legend button,.customer-quick-analysis .quick-chart-legend button{width:108px!important;min-width:108px!important;height:40px!important;padding-inline:10px!important}.customer-quick-analysis .customer-combo-legend,.customer-quick-analysis .quick-chart-legend{gap:8px!important}
.customer-quick-analysis .customer-combo-legend button.is-hidden,.customer-quick-analysis .quick-chart-legend button.is-hidden{opacity:1!important;background:#e4e7ec!important;color:#000!important;text-decoration:none!important;box-shadow:inset 3px 3px 7px rgba(185,190,199,.55),inset -3px -3px 7px rgba(255,255,255,.72)!important;transform:none!important}.customer-analysis-canvas .customer-series-hidden{opacity:0!important;pointer-events:none!important}
.customer-combo-legend,.quick-chart-legend{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap}.customer-combo-legend button,.quick-chart-legend button{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:128px!important;min-width:128px!important;height:42px!important;padding:0 12px!important;border:0!important;border-radius:13px!important;background:#f8f9fb!important;color:#000!important;font-family:inherit!important;font-size:12px!important;font-weight:750!important;text-decoration:none!important;box-shadow:4px 4px 10px rgba(197,201,208,.58),-4px -4px 10px rgba(255,255,255,.96)!important;cursor:pointer!important;transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease!important}.customer-combo-legend button:hover,.quick-chart-legend button:hover{transform:translateY(-1px)!important;background:#fff!important}.customer-combo-legend button.is-hidden,.quick-chart-legend button.is-hidden{opacity:1!important;background:#e4e7ec!important;color:#000!important;text-decoration:none!important;box-shadow:inset 3px 3px 7px rgba(185,190,199,.55),inset -3px -3px 7px rgba(255,255,255,.72)!important;transform:none!important}.customer-combo-legend button.is-hidden i,.quick-chart-legend button.is-hidden i{opacity:.38!important}.customer-series-hidden{opacity:0!important;pointer-events:none!important}@media(max-width:760px){.customer-combo-legend button,.quick-chart-legend button{width:118px!important;min-width:118px!important}}
/* One visible brand trigger; model selection is the second drill layer. */
.quick-drill-filter{position:relative!important;display:block!important;overflow:visible!important}.quick-drill-picker{position:relative;z-index:30;width:270px}.quick-drill-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:9px 16px;border:1px solid #dce4f2;border-radius:14px;background:#fff;color:#17233d;text-align:left;cursor:pointer}.quick-drill-trigger:hover,.quick-drill-picker.is-open .quick-drill-trigger{border-color:#aebbd0;box-shadow:0 0 0 3px rgba(63,103,223,.08)}.quick-drill-trigger span{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:end}.quick-drill-trigger small{grid-column:1/-1;color:#7b8799;font-size:10px;font-weight:700}.quick-drill-trigger b{font-size:13px}.quick-drill-trigger em{overflow:hidden;max-width:120px;color:#6f7d92;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.quick-drill-trigger>i,.co-flow-options-toggle>i{width:8px;height:8px;border-right:2px solid #526078;border-bottom:2px solid #526078;transform:rotate(45deg) translateY(-2px)}.quick-drill-picker.is-open .quick-drill-trigger>i{transform:rotate(225deg) translate(-2px,-2px)}.quick-drill-layer{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:none;width:230px;max-height:340px;overflow:hidden;border:1px solid #dfe5ee;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(32,48,77,.18)}.quick-drill-picker.is-open .quick-brand-layer,.quick-drill-picker.is-open.is-model-stage .quick-model-layer{display:block}.quick-drill-picker.is-open.is-model-stage .quick-brand-layer{display:none}.quick-drill-layer header{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid #edf1f6;color:#6c788c;font-size:11px;font-weight:800}.quick-drill-layer header button{width:24px;height:24px;padding:0;border:0;border-radius:7px;background:#f0f3f8;color:#42516a;font-size:20px;line-height:1;cursor:pointer}.quick-drill-layer>div{display:grid;max-height:290px;overflow:auto;padding:7px}.quick-drill-layer>div>button{padding:9px 11px;border:0;border-radius:8px;background:transparent;color:#344158;font-size:12px;text-align:left;cursor:pointer}.quick-drill-layer>div>button:hover{background:#f3f6fb}.quick-drill-layer>div>button.active{background:#e9eef9;color:#315eea;font-weight:800}.quick-model-layer{right:calc(100% + 9px)}@media(max-width:760px){.quick-drill-picker{width:min(270px,100%)}.quick-model-layer{right:0}}
.quick-preset-card{padding:18px!important;border:1px solid #e1e6ef!important;border-radius:24px!important;background:#fff!important;box-shadow:0 18px 48px rgba(30,50,86,.075)!important;overflow:visible!important}
.quick-preset-heading{min-height:58px;margin:0!important;padding:8px 12px 12px!important;border:0!important;background:#fff!important;display:flex!important;align-items:center!important;gap:28px}
.quick-preset-heading .customer-analysis-title-group{flex:0 1 325px}
.quick-preset-heading .quick-preset-filters{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-left:auto;width:auto}
.quick-preset-heading .quick-preset-filters label{display:flex;align-items:center;gap:12px;min-width:auto;padding:0;border:0;background:transparent;color:#657188;font-size:12px}
.quick-preset-heading .quick-preset-filters select{min-width:170px;height:58px;padding:0 42px 0 22px;border:1px solid #dce4f2;border-radius:14px;background-color:#fff;color:#17233d;font-size:13px;font-weight:750}
.quick-preset-canvas{min-height:650px;padding:30px 36px 34px;border:1px solid #dce4f2;border-radius:20px;background:linear-gradient(180deg,#fff,#fafbfe);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.quick-preset-canvas>.quick-preset-head{min-height:62px;margin:0 0 8px!important;padding:0!important;border-bottom:1px solid #edf0f5;display:flex;align-items:flex-start}
.quick-preset-canvas>.quick-preset-head>div:first-child{min-width:0}
.quick-preset-canvas>.quick-preset-head small,.quick-preset-canvas>.quick-preset-head p{display:none}
.quick-preset-canvas>.quick-preset-head h4{margin:4px 0 0;color:#7b8799;font-size:20px;font-weight:800}
.quick-preset-canvas>.quick-kpis,.quick-preset-canvas>.quick-method-note,.quick-preset-canvas>.quick-customer-breakdown,.quick-preset-canvas>.quick-profit-trend{display:none!important}
.quick-preset-canvas>.quick-chart-legend{min-height:30px;margin:-53px 0 23px auto;justify-content:flex-end;position:relative;z-index:2;color:#66738a;font-size:12px;font-weight:700}
.quick-preset-canvas>.quick-line-plot,.quick-preset-canvas>.quick-shortage-plot{min-height:540px;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.quick-preset-canvas>.quick-line-plot svg,.quick-preset-canvas>.quick-shortage-plot svg{width:100%;min-height:540px;max-height:600px}
.quick-preset-canvas>.quick-alerts{min-height:30px;margin:-53px 0 23px auto;justify-content:flex-end;position:relative;z-index:2}
.quick-preset-canvas>.quick-demand-empty{min-height:480px;display:grid;place-items:center;border:0;background:transparent}
.dashboard-canvas .quick-preset-card{padding:0!important;border:0!important;box-shadow:none!important}.dashboard-canvas .quick-preset-canvas{min-height:0;padding:12px;border:0}.dashboard-canvas .quick-preset-canvas>.quick-line-plot,.dashboard-canvas .quick-preset-canvas>.quick-shortage-plot{min-height:280px}.dashboard-canvas .quick-preset-canvas>.quick-line-plot>svg,.dashboard-canvas .quick-preset-canvas>.quick-shortage-plot>svg{min-height:280px}
@media(max-width:1000px){.quick-preset-heading{align-items:flex-start!important;flex-direction:column}.quick-preset-heading .quick-preset-filters{width:100%;margin-left:0;justify-content:flex-start}.quick-preset-heading .quick-preset-filters label{flex:1;display:grid}.quick-preset-heading .quick-preset-filters select{width:100%;min-width:0}.quick-preset-canvas{padding:24px 20px}}
.quick-preset-canvas>.quick-chart-legend{display:flex;align-items:center;gap:4px}.quick-chart-legend button i{width:18px;height:4px;border-radius:999px;background:#8ca8ef}.quick-chart-legend button i.inbound{background:#58b99a}.quick-chart-legend button i.outbound,.quick-chart-legend button i.model-sales{background:#7293ed}.quick-chart-legend button i.inventory,.quick-chart-legend button i.balance{height:3px;background:#344d79}.quick-chart-legend button i.demand{background:#ee9b69}.quick-chart-legend button i.sales-amount{height:3px;background:#334d79}.quick-chart-legend button i.normal{background:#6f91e8}.quick-chart-legend button i.negative{background:#dc6454}
.quick-product-plot svg,.quick-shortage-plot svg{overflow:visible}.quick-axis-title-left{fill:#68768b}.quick-axis-title-right,.inventory-axis-value{fill:#415578}.inventory-axis{stroke:#415578!important}.quick-axis-value{fill:#7a8798;font-size:12px}.quick-month-label{fill:#526079;font-size:13px;font-weight:700}.quick-month-label.is-unavailable{fill:#bcc4d0}.quick-unavailable-label{fill:#a4afbe;font-size:12px;font-weight:700;letter-spacing:.04em}.quick-inventory-point,.quick-sales-amount-point,.quick-balance-point{transition:r .14s ease,filter .14s ease}.is-data-point-highlight{filter:drop-shadow(0 3px 7px rgba(37,72,137,.32))}
.quick-model-sales-card .quick-preset-canvas>.quick-customer-breakdown{display:block!important}.quick-model-sales-card .quick-preset-canvas{display:grid;grid-template-columns:minmax(250px,30%) minmax(0,1fr);grid-template-rows:auto 1fr;gap:18px 26px}.quick-model-sales-card .quick-preset-canvas>.quick-preset-head,.quick-model-sales-card .quick-preset-canvas>.quick-chart-legend{grid-column:1/-1}.quick-model-sales-card .quick-preset-canvas>.quick-customer-breakdown{grid-column:1;grid-row:2/4;margin:0;border:1px solid #e5eaf2;border-radius:18px;background:linear-gradient(180deg,#fbfcff,#f7f9fd);padding:20px;min-height:510px}.quick-model-sales-card .quick-preset-canvas>.quick-line-plot{grid-column:2;grid-row:3;margin:0;min-height:470px}.quick-model-sales-card .quick-preset-canvas>.quick-line-plot svg{min-height:470px}.quick-model-sales-card .quick-preset-canvas>.quick-chart-legend{grid-row:2;justify-self:end;margin:-58px 0 0}.quick-customer-breakdown header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.quick-customer-breakdown h5{margin:4px 0 0;font-size:17px;color:#24334d}.quick-customer-breakdown small,.quick-customer-breakdown header>span{color:#8a96a8;font-weight:700}.quick-customer-bars{display:grid;gap:6px}.quick-customer-bars button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4d5d75;font-weight:700}.quick-customer-bars button i{height:7px;border-radius:999px;background:#e8edf6;overflow:hidden}.quick-customer-bars button i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7e9bee,#526fd0)}.quick-customer-bars button strong{color:#66758b;text-align:right}.quick-customer-bars button.active{box-shadow:inset 3px 0 #5274d7;background:#eef3ff}
.quick-chart-zoom{height:4px}.quick-chart-zoom::-webkit-slider-thumb{width:15px;height:15px;border-radius:50%;box-shadow:0 2px 8px rgba(48,70,111,.25)}
@media(max-width:1180px){.quick-model-sales-card .quick-preset-canvas{display:block}.quick-model-sales-card .quick-preset-canvas>.quick-customer-breakdown{min-height:0;margin:18px 0}.quick-model-sales-card .quick-preset-canvas>.quick-chart-legend{margin:-53px 0 23px auto}}
.quick-model-sales-card .quick-customer-bars button{grid-template-columns:28px minmax(90px,1.2fr) minmax(90px,2fr) 48px}.quick-customer-bars button em{font-style:normal;color:#a2adbc;font-size:11px;font-weight:800}.quick-selected-customer{max-width:240px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#33445f;font-size:13px}.quick-model-sales-bar{fill:#7696ed}.quick-risk-zone-label{fill:#cf7466;font-size:11px;font-weight:800;letter-spacing:.03em}
.quick-negative-zone{fill:#fff1ee;opacity:.68}.quick-date-label{fill:#8e99a9;font-size:11px}.quick-zoom-hint{margin-left:auto;color:#9aa4b3;font-size:11px;font-weight:600}.quick-zoom-control{display:grid;grid-template-columns:auto 1fr 42px;align-items:center;gap:12px;width:calc(100% - 100px);margin:-2px auto 0;color:#8a96a7;font-size:11px;font-weight:700}.quick-zoom-control .quick-chart-zoom{width:100%;margin:0}.quick-zoom-control output{text-align:right;color:#54647a}.quick-profit-trend header{margin-bottom:8px}.quick-profit-trend h5{margin:4px 0;color:#273751;font-size:16px}.quick-profit-trend small{color:#8d98a8;font-weight:800}.quick-mini-axis-title{fill:#7a8799;font-size:10px;font-weight:700}.quick-mini-month{fill:#8793a5;font-size:9px}.quick-month-profit-bar{fill:#7896e8}.quick-month-profit-bar.negative{fill:#dd6b5c}.quick-margin-line{fill:none;stroke:#354e78;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.quick-margin-point{fill:#fff;stroke:#354e78;stroke-width:2}.quick-profit-point{fill:#7895e5;opacity:.72}.quick-profit-point.high,.quick-profit-point.low{fill:#936fd4}.quick-profit-point.negative{fill:#df6453;opacity:.92}
.quick-line-interaction-point{fill:#fff!important;cursor:pointer;transition:r .16s cubic-bezier(.2,.8,.2,1),fill .16s ease,filter .16s ease;pointer-events:all}.quick-line-interaction-point.is-line-point-active{fill:#384f77!important;filter:drop-shadow(0 2px 5px rgba(42,63,101,.28))}.quick-balance-point.is-shortage.quick-line-interaction-point{fill:#fff!important}.quick-balance-point.is-shortage.quick-line-interaction-point.is-line-point-active{fill:#df624f!important}.quick-crosshair{opacity:0;pointer-events:none}.quick-crosshair.show{opacity:1}.quick-crosshair line{stroke:#66758a;stroke-width:1;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.customer-line-point{background:#fff!important;border:2px solid #ef746d!important;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(210,79,72,.18)!important;transition:width .16s ease,height .16s ease,background .16s ease,box-shadow .16s ease!important}.customer-line-point.is-line-point-active{width:14px;height:14px;background:#ef746d!important;box-shadow:0 0 0 3px rgba(239,116,109,.16),0 3px 8px rgba(210,79,72,.28)!important}.customer-point-crosshair{position:absolute;z-index:3;display:block;opacity:0;pointer-events:none;transition:opacity .1s ease}.customer-point-crosshair.show{opacity:1}.customer-point-crosshair-x{height:1px;border-top:1px dashed #7b8798}.customer-point-crosshair-y{width:1px;border-left:1px dashed #7b8798}
.quick-crosshair text{fill:#344660;font-size:15px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.line-point-focus:not(.profit-record-layout) [data-chart-series]:not(.is-line-series-active){opacity:.14}.line-point-focus:not(.profit-record-layout) .quick-axis-title-left,.line-point-focus:not(.profit-record-layout) .quick-axis-value:not(.inventory-axis-value),.line-point-focus:not(.profit-record-layout) .quick-axis-line:not(.inventory-axis){opacity:.18}.line-point-focus:not(.profit-record-layout) .quick-grid-line{opacity:.3}.line-point-focus:not(.profit-record-layout) [data-chart-series],.line-point-focus:not(.profit-record-layout) .quick-axis-title,.line-point-focus:not(.profit-record-layout) .quick-axis-value,.line-point-focus:not(.profit-record-layout) .quick-axis-line,.line-point-focus:not(.profit-record-layout) .quick-grid-line{transition:opacity .18s ease}.line-point-focus:not(.profit-record-layout) .is-line-series-active{opacity:1!important}
.customer-plot-layout .customer-bars,.customer-plot-layout .customer-axis,.customer-plot-layout .customer-combo-chart>svg{transition:opacity .2s ease}.customer-plot-layout:not(.profit-record-layout).line-point-focus .customer-bars,.customer-plot-layout:not(.profit-record-layout).line-point-focus .customer-axis.left{opacity:.14}.customer-plot-layout:not(.profit-record-layout).line-point-focus .customer-combo-chart{background-color:rgba(255,255,255,.72)}.customer-plot-layout:not(.profit-record-layout).line-point-focus .customer-axis.right{opacity:1}.customer-point-axis-value,.customer-point-axis-month{position:absolute;z-index:9;display:block;min-width:52px;padding:4px 7px;border:1px solid rgba(217,95,88,.2);border-radius:7px;background:#fff;color:#d95f58;font-size:15px;font-weight:900;line-height:1;text-align:center;opacity:0;pointer-events:none;box-shadow:0 4px 12px rgba(38,52,78,.18);transition:opacity .1s ease}.customer-point-axis-value{right:-68px;transform:translateY(-50%)}.customer-point-axis-month{min-width:38px;color:#d95f58;transform:translate(-50%,-50%)}.customer-point-axis-value.show,.customer-point-axis-month.show{opacity:1}.customer-month>b.is-axis-month-source{opacity:0!important}
.quick-chart-legend button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:9px;cursor:pointer;transition:opacity .22s ease,background .22s ease}.quick-chart-legend button:hover{background:rgba(93,114,147,.08)}.quick-chart-legend button.is-hidden{opacity:.38;text-decoration:line-through}[data-chart-series].is-series-hidden{opacity:0;pointer-events:none}.quick-crosshair{opacity:0;pointer-events:none;transition:opacity .12s ease}.quick-crosshair.show{opacity:1}.quick-crosshair line{stroke:rgba(45,62,91,.7);stroke-width:1;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}[data-interactive-chart] [data-chart-tip]{transition:opacity .16s ease,filter .16s ease}[data-interactive-chart] [data-chart-tip].is-data-muted{opacity:.28}[data-interactive-chart] [data-chart-tip].is-data-highlight{opacity:1;filter:drop-shadow(0 0 5px rgba(67,126,247,.5))}.quick-chart-hit:focus{outline:none}.quick-inbound-bar{fill:#6ec6a5}.quick-outbound-bar{fill:#7b9cf5}.quick-demand-bar{fill:#f2a36f}.quick-shortage-balance-line,.quick-sales-amount-line{fill:none;stroke:#384f77;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.quick-balance-point,.quick-sales-amount-point{fill:#fff;stroke:#384f77;stroke-width:3}.quick-balance-point.is-shortage{fill:#fff1ee;stroke:#df624f}.quick-product-inventory{fill:none;stroke:#384f77;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.quick-chart-zoom{display:block;width:calc(100% - 112px);margin:8px auto 2px;accent-color:#4d75e6}.quick-customer-bars button{width:100%;border:0;background:transparent;color:inherit;font:inherit;display:grid;grid-template-columns:minmax(110px,1fr) minmax(160px,3fr) 58px;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;cursor:pointer;text-align:left}.quick-customer-bars button:hover,.quick-customer-bars button.active{background:rgba(77,117,230,.08)}

/* Keep the shared month axis readable while a customer margin point is focused. */
.customer-plot-layout:not(.profit-record-layout).line-point-focus .customer-bars{opacity:1}
.customer-plot-layout:not(.profit-record-layout).line-point-focus .customer-bar-set{opacity:.14}
.customer-plot-layout .customer-bar-set{transition:opacity .2s ease}
.customer-plot-layout:not(.profit-record-layout).line-point-focus:has(.inventory-point.is-line-point-active) [data-chart-series="inventory"],.customer-plot-layout:not(.profit-record-layout).line-point-focus:has(.sales-amount-point.is-line-point-active) [data-chart-series="amount"],.customer-plot-layout:not(.profit-record-layout).line-point-focus:has(.balance-point.is-line-point-active) [data-chart-series="balance"]{opacity:1!important}

/* A pie slice owns its sector, leader, anchor and labels as one focus unit. */
.customer-pie:has([data-chart-tip]:hover) .customer-pie-slice:not(:has([data-chart-tip]:hover))>*,
.customer-pie:has([data-chart-tip]:focus) .customer-pie-slice:not(:has([data-chart-tip]:focus))>*,
.customer-pie:has([data-chart-tip][data-quick-data-pinned="true"]) .customer-pie-slice:not(:has([data-chart-tip][data-quick-data-pinned="true"]))>*{opacity:.14!important;transition:opacity .2s ease}
.customer-quick-analysis [data-chart-tip].is-data-highlight{filter:brightness(1.04) drop-shadow(0 3px 6px rgba(46,61,88,.2))}

/* Final quick-analysis visual baseline: cards share surface and depth tokens. */
.workbench-card[data-analysis-stage="quick"] .chart-head{justify-content:center;text-align:center}
.workbench-card[data-analysis-stage="quick"] .chart-head>div{width:100%}
.customer-quick-analysis>.customer-quick-card{border:1px solid rgba(205,215,230,.92)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 2px 5px rgba(24,39,68,.04),0 18px 42px rgba(31,52,91,.10),0 42px 90px rgba(43,60,91,.07)!important;overflow:visible!important}
.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading:not(.quick-preset-heading){padding-left:0;padding-right:0}
.customer-quick-analysis>.quick-preset-card>.quick-preset-heading{padding-left:0!important;padding-right:0!important}
.customer-quick-analysis .customer-analysis-canvas,.customer-quick-analysis .quick-preset-canvas{border:1px solid rgba(219,226,237,.92)!important;border-radius:20px!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 24px rgba(38,56,90,.065),0 26px 60px rgba(48,63,91,.055)!important}
.customer-quick-analysis .customer-combo-wrap{background:#fff!important;box-shadow:none!important}
.customer-quick-analysis .customer-combo-wrap::before{display:none!important}
.customer-chart-tooltip{transition:opacity .22s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility .22s!important}
.customer-chart-tooltip:not(.show){transform:translateY(8px) scale(.98)}
.customer-chart-tooltip.is-shortage-detail{min-width:230px;max-width:360px;max-height:min(70vh,420px);overflow:auto;padding:13px 15px;gap:8px}
.customer-chart-tooltip.is-shortage-detail strong{font-size:13px;line-height:1.35}
.customer-chart-tooltip.is-shortage-detail span{white-space:pre-line;line-height:1.75}
.customer-chart-tooltip span{white-space:pre-line}
.customer-chart-tooltip.is-profit-record-detail{width:max-content;min-width:220px;max-width:min(360px,calc(100vw - 24px));height:auto;max-height:none;overflow:visible;padding:13px 15px}
.customer-chart-tooltip.is-profit-record-detail>strong{display:block;margin:0 0 7px;white-space:nowrap}
.customer-chart-tooltip.is-profit-record-detail>span{display:block;white-space:pre-line;line-height:1.7}
@media(max-width:760px){.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading:not(.quick-preset-heading),.customer-quick-analysis>.quick-preset-card>.quick-preset-heading{padding-left:20px!important;padding-right:20px!important}}

/* 015: every automatic preset uses one title band and one chart-gap rhythm. */
.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading{box-sizing:border-box!important;min-height:72px!important;margin:0!important;padding:10px 0 14px!important;align-items:center!important}
.customer-quick-analysis>.customer-quick-card>.customer-analysis-canvas,.customer-quick-analysis>.customer-quick-card>.quick-preset-canvas{margin-top:0!important}

/* Risk warning is a shared-result summary, not another chart creation entry. */
.risk-analysis-view{display:grid;gap:22px;padding:8px 0 28px}.risk-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.risk-group{overflow:hidden;border:1px solid #e2e8f1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(42,57,86,.07)}.risk-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid #edf1f6;background:linear-gradient(145deg,#fff,#f7f9fd)}.risk-group>header small{color:#7a879b;font-size:10px;font-weight:750}.risk-group>header h3{margin:5px 0 4px;color:#26344b;font-size:18px}.risk-group>header p{margin:0;color:#77849a;font-size:11px;line-height:1.6}.risk-group>header>strong{display:grid;flex:none;width:44px;height:44px;place-items:center;border-radius:14px;background:#eef3ff;color:#315eea;font-size:21px}.risk-list{display:grid;padding:8px}.risk-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 12px;border:0;border-radius:12px;background:transparent;color:#2c3a50;text-align:left;cursor:pointer}.risk-row:hover,.risk-row.active{background:#f3f6fc}.risk-row span{display:grid;gap:4px;min-width:0}.risk-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.risk-row small{color:#7d899b;font-size:10px}.risk-row em{flex:none;color:#4267d7;font-size:10px;font-style:normal;font-weight:750}.risk-empty{margin:18px 12px;color:#8a95a6;font-size:12px;text-align:center}.risk-preview{padding:20px;border:1px solid #e0e6ef;border-radius:20px;background:#fff;box-shadow:0 18px 42px rgba(37,52,82,.08)}.risk-preview>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.risk-preview>header small{color:#77849a;font-size:10px}.risk-preview>header h3{margin:4px 0 0;color:#26344b;font-size:17px}.risk-preview>header button{padding:9px 16px;border:1px solid #dce3ee;border-radius:99px;background:#f8faff;color:#48566d;cursor:pointer}.risk-preview>.customer-quick-card{margin:0!important}.risk-preview-empty{padding:36px;border-radius:14px;background:#f7f9fc;text-align:center}.risk-preview-empty p{color:#7c8798}@media(max-width:1050px){.risk-summary{grid-template-columns:1fr}}

/* 015: shared controls and visual grammar; each plot keeps its own data geometry. */
.quick-cascade-filters{position:relative;flex-wrap:nowrap!important}.quick-cascade-filters label{position:relative}.quick-cascade-filters label+label::before{position:absolute;left:-13px;top:50%;width:8px;height:1px;background:#aeb9ca;content:""}.quick-preset-heading .quick-preset-filters select{box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease}.quick-preset-heading .quick-preset-filters select:hover,.quick-preset-heading .quick-preset-filters select:focus{border-color:#aebbd0;box-shadow:0 0 0 3px rgba(63,103,223,.08)!important;outline:0}.quick-preset-canvas .quick-line-plot,.quick-preset-canvas .quick-shortage-plot{border-color:#e3e8f0!important;border-radius:18px!important;background:#fff!important}.quick-preset-canvas .quick-grid-line{stroke:#e8edf4!important;stroke-width:1!important}.quick-preset-canvas .quick-axis-line{stroke:#8797ad!important;stroke-width:2!important;vector-effect:non-scaling-stroke}.quick-preset-canvas marker path{fill:#8797ad}.quick-preset-canvas .quick-axis-title{fill:#4b5b75!important;font-size:12px!important;font-weight:800!important}.quick-preset-canvas .quick-inbound-bar,.quick-preset-canvas .quick-model-sales-bar,.quick-preset-canvas .quick-month-profit-bar{fill:#3f67df!important;opacity:1!important}.quick-preset-canvas .quick-outbound-bar,.quick-preset-canvas .quick-demand-bar{fill:#91a7ed!important}.quick-preset-canvas .quick-product-inventory,.quick-preset-canvas .quick-shortage-balance-line,.quick-preset-canvas .quick-sales-amount-line,.quick-preset-canvas .quick-model-inventory-line,.quick-preset-canvas .quick-margin-line{fill:none!important;stroke:#ef746d!important;stroke-width:2.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke}.quick-preset-canvas .quick-inventory-point,.quick-preset-canvas .quick-balance-point,.quick-preset-canvas .quick-sales-amount-point,.quick-preset-canvas .quick-model-inventory-point,.quick-preset-canvas .quick-margin-point{fill:#fff!important;stroke:#ef746d!important;stroke-width:1.8!important;vector-effect:non-scaling-stroke}.quick-preset-canvas rect[class$="-bar"]{rx:2px!important;filter:none!important}.quick-preset-canvas .quick-chart-legend{color:#69768d!important;font-size:12px!important}.quick-preset-canvas .quick-chart-legend i{box-shadow:none!important}@media(max-width:1000px){.quick-cascade-filters{flex-wrap:wrap!important}.quick-cascade-filters label+label::before{display:none}}

/* Match demand 1's compact control band and wide plotting rhythm on presets 2-5. */
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas{position:relative;padding-top:20px!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-preset-head{min-height:44px!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-line-plot,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-shortage-plot{height:440px!important;min-height:440px!important;margin-top:0!important;margin-bottom:-18px!important;overflow:visible!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-line-plot>svg,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-shortage-plot>svg{display:block;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important}
@media(max-width:1000px){.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-line-plot,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-shortage-plot{height:330px!important;min-height:330px!important;margin-top:0!important;margin-bottom:0!important}}

/* Demand 1 series grammar: every legend swatch mirrors its real mark. */
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i{position:relative;flex:none;width:11px!important;height:11px!important;border-radius:3px!important}
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.inbound{background:#59b88d!important}
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.outbound{background:#91a7ed!important}
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.demand{background:#91a7ed!important}
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.model-sales{background:#3f67df!important}
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.inventory,.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.balance,.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.sales-amount{width:18px!important;height:3px!important;border-radius:999px!important;background:#ef746d!important}
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.inventory::after,.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.balance::after,.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.sales-amount::after{position:absolute;left:50%;top:50%;width:5px;height:5px;border:1.5px solid #ef746d;border-radius:50%;background:#fff;content:"";transform:translate(-50%,-50%)}
.customer-quick-analysis .quick-preset-canvas .quick-chart-legend button i.negative{width:9px!important;height:9px!important;border-radius:50%!important;background:#ef746d!important}
.customer-quick-analysis .quick-preset-canvas .quick-inbound-bar{fill:#59b88d!important}
.customer-quick-analysis .quick-preset-canvas .quick-outbound-bar,.customer-quick-analysis .quick-preset-canvas .quick-demand-bar{fill:#91a7ed!important}
.customer-quick-analysis .quick-preset-canvas .quick-model-sales-bar,.customer-quick-analysis .quick-preset-canvas .quick-month-profit-bar{fill:#3f67df!important}
.customer-quick-analysis .quick-preset-canvas .quick-month-profit-bar.negative{fill:#ef746d!important}
.customer-quick-analysis .quick-preset-canvas .quick-product-inventory,.customer-quick-analysis .quick-preset-canvas .quick-shortage-balance-line,.customer-quick-analysis .quick-preset-canvas .quick-sales-amount-line,.customer-quick-analysis .quick-preset-canvas .quick-model-inventory-line,.customer-quick-analysis .quick-preset-canvas .quick-margin-line{stroke:#ef746d!important;stroke-width:2.5!important}
.customer-quick-analysis .quick-preset-canvas .quick-inventory-point,.customer-quick-analysis .quick-preset-canvas .quick-balance-point,.customer-quick-analysis .quick-preset-canvas .quick-sales-amount-point,.customer-quick-analysis .quick-preset-canvas .quick-model-inventory-point,.customer-quick-analysis .quick-preset-canvas .quick-margin-point{fill:#fff!important;stroke:#ef746d!important;stroke-width:1.7!important}
.customer-quick-analysis .quick-preset-canvas :is(.quick-inventory-point,.quick-balance-point,.quick-sales-amount-point,.quick-model-inventory-point,.quick-margin-point){r:3.4px!important;filter:none!important;transition:r .16s ease,fill .16s ease,filter .16s ease!important}
.customer-quick-analysis .quick-preset-canvas :is(.quick-inventory-point,.quick-balance-point,.quick-sales-amount-point,.quick-model-inventory-point,.quick-margin-point).is-line-point-active{r:5.5px!important;fill:#ef746d!important;stroke:#ef746d!important;filter:drop-shadow(0 0 4px rgba(239,116,109,.42))!important}
.customer-quick-analysis .quick-preset-canvas .quick-balance-point.is-shortage{fill:#fff!important;stroke:#ef746d!important}.customer-quick-analysis .quick-preset-canvas .quick-balance-point.is-shortage.is-line-point-active{fill:#ef746d!important}
.customer-quick-analysis .quick-preset-canvas .quick-profit-point{fill:#3f67df!important;opacity:.74}.customer-quick-analysis .quick-preset-canvas .quick-profit-point.negative{fill:#ef746d!important;opacity:.94}
.customer-quick-analysis .quick-preset-canvas rect.quick-inbound-bar,.customer-quick-analysis .quick-preset-canvas rect.quick-outbound-bar,.customer-quick-analysis .quick-preset-canvas rect.quick-demand-bar,.customer-quick-analysis .quick-preset-canvas rect.quick-model-sales-bar,.customer-quick-analysis .quick-preset-canvas rect.quick-month-profit-bar{rx:4px!important}

/* Shared data-ink rules: labels sit below the baseline and empty values draw nothing. */
.customer-quick-analysis .customer-combo-chart{border:0!important;box-shadow:inset 0 -3px 0 #fff!important}
.customer-quick-analysis .customer-combo-chart::after,.customer-quick-analysis .customer-combo-chart::before{display:none!important}
.customer-quick-analysis .customer-x-axis{position:absolute;left:0;right:-8px;bottom:28px;z-index:8;display:block;height:var(--quick-axis-stroke,2px);background:#8797ad;pointer-events:none}
.customer-quick-analysis .customer-x-axis::after{position:absolute;right:auto;left:100%;top:-4px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:10px solid #8797ad;content:""}
.customer-quick-analysis .customer-y-axis{position:absolute;top:0;bottom:28px;z-index:8;display:block;width:var(--quick-axis-stroke,2px);background:#8797ad;pointer-events:none}.customer-quick-analysis .customer-y-axis.left{left:0}.customer-quick-analysis .customer-y-axis.right{right:0}.customer-quick-analysis .customer-y-axis::after{position:absolute;top:-7px;left:-4px;width:0;height:0;border-right:5px solid transparent;border-bottom:8px solid #8797ad;border-left:5px solid transparent;content:""}
.customer-quick-analysis .customer-axis::after{display:none!important;content:none!important}
.customer-quick-analysis .customer-y-axis::after{top:-8px;left:-4px;border-right-width:5px;border-bottom-width:8px;border-left-width:5px}
.customer-quick-analysis .customer-month{grid-template-rows:1fr 28px!important}
.customer-quick-analysis .customer-month>b{align-self:center;padding-top:7px!important}
.customer-quick-analysis .customer-bar{min-height:0!important}
.customer-quick-analysis .is-no-data,.customer-quick-analysis .customer-bar[style*="height:0%"]{display:none!important}
.customer-quick-analysis .quick-preset-canvas rect:is(.quick-inbound-bar,.quick-outbound-bar,.quick-demand-bar,.quick-model-sales-bar,.quick-month-profit-bar)[height="2"],.customer-quick-analysis .quick-preset-canvas rect.quick-shortage-bar[height="3"]{display:none!important}

/* Demand 1 typography and axis placement are the single baseline for presets 2-5. */
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head h4{color:#1b2942!important;font-size:20px!important;font-weight:800!important;letter-spacing:0!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas::before{position:absolute;top:96px;left:0;right:0;z-index:1;height:1px;background:#edf1f6;content:"";pointer-events:none}
@media(max-width:1000px){.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas::before{display:none}.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-chart-legend{padding-bottom:14px!important;border-bottom:1px solid #edf1f6!important}}
.customer-quick-analysis .quick-preset-canvas .quick-axis-title-left{transform:translate(8px,48px)}
.customer-quick-analysis .quick-preset-canvas .quick-axis-title-right{fill:#d96561!important;transform:translate(-8px,48px)}
.customer-quick-analysis .quick-preset-canvas .inventory-axis-value{fill:#d96561!important}

/* Final profit-axis geometry: align labels, ticks and the break to the real Y axis. */
.customer-quick-analysis .profit-record-layout{grid-template-columns:72px minmax(0,1fr)!important;padding-left:0!important}
.customer-quick-analysis .profit-range-navigator{width:calc(100% - 92px)!important;margin-left:72px!important;margin-right:20px!important}
.customer-quick-analysis .profit-record-axis>span{right:12px!important}
.customer-quick-analysis .profit-record-axis>span::after{right:-20px!important;width:8px!important;height:2px!important;background:#8797ad!important}
.customer-quick-analysis .profit-axis-break{left:-12px!important;width:24px!important;height:30px!important;background:#fff!important}
.customer-quick-analysis .profit-axis-break::before{inset:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpolyline points='4,1 18,8 6,15 18,22 5,29' fill='none' stroke='%238797ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:center!important;background-repeat:no-repeat!important;background-size:24px 30px!important}
@media(max-width:760px){.customer-quick-analysis .profit-record-layout{grid-template-columns:64px minmax(0,1fr)!important}.customer-quick-analysis .profit-range-navigator{width:calc(100% - 72px)!important;margin-left:64px!important;margin-right:8px!important}.customer-quick-analysis .profit-record-axis>span::after{right:-16px!important}}

/* Refined axis break: enter and leave on the Y-axis center instead of floating as a zigzag badge. */
.customer-quick-analysis .profit-record-chart .customer-y-axis.left{width:1px!important;background:#8797ad!important}
.customer-quick-analysis .profit-record-axis>span::after{height:1px!important}
.customer-quick-analysis .profit-axis-break{left:-10px!important;width:20px!important;height:26px!important;overflow:visible!important}
.customer-quick-analysis .profit-axis-break::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 26'%3E%3Cpolyline points='10,0 18,6.5 2,13 18,19.5 10,26' fill='none' stroke='%238797ad' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-size:20px 26px!important}

/* The shared unit badge has a white fill; remove it here so it cannot cut the profit Y axis. */
.customer-quick-analysis .profit-record-axis .customer-axis-unit{padding:0!important;background:transparent!important;border-radius:0!important}

/* Keep the profit Y-axis arrow fully below the card divider. */
.customer-quick-analysis .profit-record-chart .customer-y-axis.left{top:9px!important}

/* Negative profit is already encoded by position and point color; keep the plot background neutral. */
.customer-quick-analysis .profit-record-chart .quick-negative-zone{display:none!important}

/* Profit legend keys are the same circular marks as the plotted records. */
.customer-quick-analysis .profit-record-chart .quick-profit-point{width:10px!important;height:10px!important}
.customer-quick-analysis .profit-record-chart .quick-profit-point:hover,.customer-quick-analysis .profit-record-chart .quick-profit-point:focus,.customer-quick-analysis .profit-record-chart .quick-profit-point.is-line-point-active{width:14px!important;height:14px!important}
.customer-quick-analysis .quick-profit-record-card .profit-category-legend button i{box-sizing:border-box!important;width:10px!important;height:10px!important;flex:0 0 10px!important;border:2px solid #fff!important;border-radius:50%!important;box-shadow:0 0 0 1px rgba(65,82,112,.13),0 2px 4px rgba(48,67,101,.12)!important}

/* One color source for each profit category, shared by legend keys and plotted points. */
.customer-quick-analysis .quick-profit-record-card{--profit-high-color:#48ad73;--profit-normal-color:#20242c;--profit-low-color:#3f67df;--profit-negative-color:#ef5e58;--profit-zero-color:#8b62d9}
.customer-quick-analysis .quick-profit-record-card .quick-profit-point{opacity:1}
.customer-quick-analysis .quick-profit-record-card .quick-profit-point.high,.customer-quick-analysis .quick-profit-record-card .profit-category-legend i.high{background:var(--profit-high-color)!important}
.customer-quick-analysis .quick-profit-record-card .quick-profit-point.normal,.customer-quick-analysis .quick-profit-record-card .profit-category-legend i.normal{background:#20242c!important;background-image:none!important}
.customer-quick-analysis .quick-profit-record-card .quick-profit-point.low,.customer-quick-analysis .quick-profit-record-card .profit-category-legend i.low{background:var(--profit-low-color)!important}
.customer-quick-analysis .quick-profit-record-card .quick-profit-point.negative,.customer-quick-analysis .quick-profit-record-card .profit-category-legend i.negative{background:var(--profit-negative-color)!important}
.customer-quick-analysis .quick-profit-record-card .quick-profit-point.zero,.customer-quick-analysis .quick-profit-record-card .profit-category-legend i.zero,.customer-quick-analysis .quick-profit-record-card .quick-profit-point[data-axis-value="¥0"],.customer-quick-analysis .quick-profit-record-card .quick-profit-point[data-axis-value="0.00%"]{background:var(--profit-zero-color)!important}

/* Profit distribution: the zero baseline is the X axis; time guides stay quiet behind points. */
/* The chart box is the only coordinate system for ticks, grid, zero axis, guides and points. */
.customer-quick-analysis .profit-record-chart .customer-x-axis{top:var(--profit-zero-y)!important;bottom:auto!important;transform:translateY(-50%)!important}
.profit-time-guides{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}.profit-time-guides i{position:absolute;top:0;bottom:0;left:var(--profit-guide-x);width:1px;border-left:1px dashed rgba(121,137,160,.28)}
.profit-record-dates{top:var(--profit-zero-y)!important;bottom:auto!important;height:28px!important;color:rgba(82,96,121,.42)!important;font-size:11px!important;font-weight:650!important;pointer-events:none}.profit-record-dates span{position:absolute;top:8px;white-space:nowrap;transform:translateX(-50%)}.profit-record-dates span:nth-child(1){left:3%;text-align:center}.profit-record-dates span:nth-child(2){left:34.333%;text-align:center}.profit-record-dates span:nth-child(3){left:65.667%;text-align:center}.profit-record-dates span:nth-child(4){left:97%;text-align:center}
.profit-axis-break.is-hidden{display:none!important}.profit-record-axis>span::after{position:absolute;right:-13px;top:50%;width:7px;height:1px;background:#8797ad;content:""}
.profit-record-chart .quick-profit-point{width:12px!important;height:12px!important;border:0!important}.profit-record-chart .quick-profit-point:hover,.profit-record-chart .quick-profit-point:focus,.profit-record-chart .quick-profit-point.is-line-point-active{z-index:12!important;width:16px!important;height:16px!important;opacity:1!important;box-shadow:0 3px 10px rgba(48,72,112,.3)!important}
.profit-record-chart .customer-point-crosshair{z-index:10}.profit-record-chart .profit-point-axis-value{right:auto!important;left:-86px!important;min-width:66px!important;color:#334660!important}.profit-record-chart .profit-point-axis-month{color:#334660!important;white-space:nowrap}

/* Model sales uses the exact compact brand/model drill component from model inventory. */
.quick-model-sales-card .quick-drill-label{display:flex!important;align-items:center!important;gap:12px!important;color:#657188!important;font-size:12px!important;white-space:nowrap}
.quick-model-sales-card .quick-drill-picker{width:210px!important}
.quick-model-sales-card .quick-drill-trigger{height:42px!important;min-height:42px!important;padding:0 14px!important;border-radius:10px!important}
.quick-model-sales-card .quick-drill-trigger span{display:flex!important;min-width:0;align-items:center;gap:7px!important}
.quick-model-sales-card .quick-drill-trigger b{overflow:hidden;max-width:92px;font-size:13px!important;text-overflow:ellipsis;white-space:nowrap}
.quick-model-sales-card .quick-drill-trigger em{max-width:82px!important;font-size:12px!important}
.quick-model-sales-card .quick-drill-layer{top:calc(100% + 6px);right:0;width:210px;border-radius:10px}
.quick-model-sales-card .quick-drill-layer>div{max-height:310px}.quick-model-sales-card .quick-drill-layer>div>button{font-size:13px}
.quick-model-sales-card .quick-drill-picker.is-open .quick-brand-layer{display:block!important}.quick-model-sales-card .quick-drill-picker.is-open .quick-model-layer{display:none}.quick-model-sales-card .quick-drill-picker.is-open.is-model-stage .quick-brand-layer,.quick-model-sales-card .quick-drill-picker.is-open.is-model-stage .quick-model-layer{display:block!important}
.quick-model-sales-card .quick-model-layer{right:100%!important;margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.quick-model-sales-card .quick-brand-layer{border-top-left-radius:0;border-bottom-left-radius:0}.quick-model-sales-card .quick-drill-layer header{height:42px;box-sizing:border-box}
@media(max-width:760px){.quick-model-sales-card .quick-drill-label{align-items:flex-start!important;flex-direction:column}.quick-model-sales-card .quick-drill-picker{width:min(210px,100%)!important}.quick-model-sales-card .quick-model-layer{right:0!important;margin-right:0;transform:translateY(calc(100% + 6px))}}

/* Model sales metric pages: grouped customer bars or multi-customer amount lines. */
.model-sales-metric-switch button.active{background:#eef3ff!important;color:#315eea!important;box-shadow:inset 0 0 0 1px #9db1ef,3px 3px 9px rgba(197,201,208,.42),-3px -3px 9px #fff!important}
.model-sales-comparison-card .quick-preset-canvas{display:block!important}
.model-sales-comparison-card .quick-preset-canvas>.model-sales-comparison-plot{display:block!important;width:100%!important;grid-column:auto!important;grid-row:auto!important;margin:0!important}
.model-sales-comparison-plot{position:relative!important;overflow:visible!important}
.model-sales-customer-line polyline{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.model-sales-customer-line circle{stroke-width:1.8;vector-effect:non-scaling-stroke}
.is-model-customer-hidden{opacity:0!important;pointer-events:none}
.model-sales-month-hit{cursor:crosshair;pointer-events:all;outline:none}
.model-sales-month-crosshair{opacity:0;stroke:#8793a5;stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;pointer-events:none}.model-sales-month-crosshair.show{opacity:1}
.model-sales-month-tooltip{position:absolute;top:72px;z-index:20;display:grid;min-width:250px;max-height:300px;padding:14px 16px;border:1px solid #dce3ee;border-radius:15px;background:rgba(255,255,255,.98);box-shadow:0 18px 48px rgba(31,47,76,.20);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .14s ease,transform .18s ease,visibility .14s}.model-sales-month-tooltip.show{opacity:1;visibility:visible;transform:none}.model-sales-month-tooltip>strong{padding-bottom:9px;border-bottom:1px solid #e8ecf2;color:#26344b;font-size:13px}.model-sales-month-tooltip>span{display:grid;grid-template-columns:10px minmax(90px,1fr) auto;align-items:center;gap:8px;padding-top:8px;color:#69758a;font-size:12px}.model-sales-month-tooltip span i{width:9px;height:9px;border-radius:50%}.model-sales-month-tooltip span b{overflow:hidden;color:#526078;text-overflow:ellipsis;white-space:nowrap}.model-sales-month-tooltip span em{color:#25344e;font-style:normal;font-weight:800}
.model-sales-customer-key{margin:16px auto 0!important;justify-content:center!important}
.model-sales-comparison-plot svg{height:var(--model-sales-plot-height,520px)!important;min-height:520px!important}

/* One shared template: outer action row, inner title/legend row, then the plot. */
.customer-quick-analysis{--quick-action-row-height:90px;--quick-chart-head-height:96px;--quick-chart-head-center:48px;--quick-canvas-inline:36px}
.customer-quick-analysis>.customer-quick-card,.customer-quick-analysis>.company-overview-host>.customer-quick-card{padding-top:0!important}
.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading,.customer-quick-analysis>.company-overview-host>.customer-quick-card>.customer-analysis-heading{height:var(--quick-action-row-height)!important;min-height:var(--quick-action-row-height)!important;margin:0!important;padding:0!important;align-items:center!important}
.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading>.customer-analysis-title-group,.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading>.customer-analysis-actions,.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading>.quick-preset-filters,.customer-quick-analysis>.company-overview-host>.customer-quick-card>.customer-analysis-heading>.customer-analysis-title-group,.customer-quick-analysis>.company-overview-host>.customer-quick-card>.customer-analysis-heading>.customer-analysis-actions,.customer-quick-analysis>.company-overview-host>.customer-quick-card>.customer-analysis-heading>.quick-preset-filters{align-self:center!important;margin-top:0!important;margin-bottom:0!important}
.customer-quick-analysis .customer-analysis-canvas .customer-combo-wrap{padding:0 26px 16px!important}
.customer-quick-analysis .customer-analysis-canvas .customer-combo-head{position:relative;box-sizing:border-box;height:var(--quick-chart-head-height);min-height:var(--quick-chart-head-height);margin:0 0 12px!important;padding:0!important;border-bottom:1px solid #edf1f6}
.customer-quick-analysis .customer-analysis-canvas .customer-combo-head>div:first-child{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.customer-quick-analysis .customer-analysis-canvas .customer-combo-head strong{margin:0!important}
.customer-quick-analysis .customer-analysis-canvas .customer-combo-legend{position:absolute!important;right:0;top:50%;margin:0!important;transform:translateY(-50%)}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas{position:relative;padding:0 var(--quick-canvas-inline) 34px!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-preset-head{position:relative;box-sizing:border-box;height:var(--quick-chart-head-height);min-height:var(--quick-chart-head-height)!important;margin:0 0 12px!important;padding:0!important;border:0!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-preset-head>div:first-child{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-preset-head h4{margin:0!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-chart-legend,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-alerts{position:absolute!important;right:var(--quick-canvas-inline);top:var(--quick-chart-head-center)!important;margin:0!important;transform:translateY(-50%)}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas::before{top:var(--quick-chart-head-height)}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-chart-legend,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-alerts{grid-column:auto!important;grid-row:auto!important;justify-self:auto!important}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-line-plot,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-shortage-plot,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.demand-one-shared-chart{margin-top:0!important}
@media(max-width:1000px){.customer-quick-analysis{--quick-action-row-height:auto;--quick-chart-head-height:auto;--quick-chart-head-center:auto;--quick-canvas-inline:20px}.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading,.customer-quick-analysis>.company-overview-host>.customer-quick-card>.customer-analysis-heading{height:auto!important;min-height:0!important;padding:16px 0!important}.customer-quick-analysis .customer-analysis-canvas .customer-combo-head,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-preset-head{height:auto;min-height:0!important;padding:16px 0!important}.customer-quick-analysis .customer-analysis-canvas .customer-combo-head>div:first-child,.customer-quick-analysis .customer-analysis-canvas .customer-combo-legend,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-preset-head>div:first-child{position:static!important;transform:none!important}.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-chart-legend,.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.quick-alerts{position:static!important;transform:none!important}}

/* Demand 2 reuses demand 1's compact selector size and opens model choices on the left. */
.quick-product-card .quick-drill-label{display:flex!important;align-items:center!important;gap:12px!important;color:#657188!important;font-size:12px!important;white-space:nowrap}.quick-product-card .quick-drill-picker{width:210px!important}.quick-product-card .quick-drill-trigger{height:42px!important;min-height:42px!important;padding:0 14px!important;border-radius:10px!important}.quick-product-card .quick-drill-trigger span{display:flex!important;min-width:0;align-items:center;gap:7px!important}.quick-product-card .quick-drill-trigger b{overflow:hidden;max-width:92px;font-size:13px!important;text-overflow:ellipsis;white-space:nowrap}.quick-product-card .quick-drill-trigger em{max-width:82px!important;font-size:12px!important}.quick-product-card .quick-drill-layer{top:calc(100% + 6px);right:0;width:210px;border-radius:10px}.quick-product-card .quick-drill-layer>div{max-height:310px}.quick-product-card .quick-drill-layer>div>button{font-size:13px}.quick-product-card .quick-drill-picker.is-open .quick-brand-layer{display:block!important}.quick-product-card .quick-drill-picker.is-open .quick-model-layer{display:none}.quick-product-card .quick-drill-picker.is-open.is-model-stage .quick-brand-layer,.quick-product-card .quick-drill-picker.is-open.is-model-stage .quick-model-layer{display:block!important}.quick-product-card .quick-model-layer{right:100%!important;margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.quick-product-card .quick-brand-layer{border-top-left-radius:0;border-bottom-left-radius:0}.quick-product-card .quick-drill-layer header{height:42px;box-sizing:border-box}@media(max-width:760px){.quick-product-card .quick-drill-label{align-items:flex-start!important;flex-direction:column}.quick-product-card .quick-drill-picker{width:min(210px,100%)!important}.quick-product-card .quick-model-layer{right:0!important;margin-right:0;transform:translateY(calc(100% + 6px))}}

/* Shared brand/model drill motion: preserve hover intent while avoiding abrupt layer jumps. */
.quick-product-card .quick-drill-layer,.quick-model-sales-card .quick-drill-layer{display:block!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-5px) scale(.985);transform-origin:top right;transition:opacity .16s ease,transform .18s cubic-bezier(.22,1,.36,1),visibility 0s linear .18s;will-change:opacity,transform}
.quick-product-card .quick-model-layer,.quick-model-sales-card .quick-model-layer{transform-origin:top right}
.quick-product-card .quick-drill-picker.is-open .quick-brand-layer,.quick-model-sales-card .quick-drill-picker.is-open .quick-brand-layer,.quick-product-card .quick-drill-picker.is-open.is-model-stage .quick-model-layer,.quick-model-sales-card .quick-drill-picker.is-open.is-model-stage .quick-model-layer{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}
.quick-product-card .quick-drill-picker.is-open:not(.is-model-stage) .quick-model-layer,.quick-model-sales-card .quick-drill-picker.is-open:not(.is-model-stage) .quick-model-layer{visibility:hidden;opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.quick-product-card .quick-drill-layer,.quick-model-sales-card .quick-drill-layer{transition-duration:.01ms!important}}

/* Demand 1 and every two-level picker consume the same option primitives. */
.customer-quick-analysis{--quick-select-option-height:27px;--quick-select-option-inline:19px;--quick-select-option-font-size:13px;--quick-select-option-font-weight:500;--quick-select-option-color:#17233d;--quick-select-option-selected:#878787}
.customer-analysis-heading select option,.quick-preset-heading select option{color:var(--quick-select-option-color);font-size:var(--quick-select-option-font-size);font-weight:var(--quick-select-option-font-weight)}
.quick-product-card .quick-drill-layer,.quick-model-sales-card .quick-drill-layer{border-radius:0!important;border-color:#d7dce5!important;box-shadow:0 14px 34px rgba(32,48,77,.13)!important}.quick-product-card .quick-drill-layer>div,.quick-model-sales-card .quick-drill-layer>div{padding:0!important}.quick-product-card .quick-drill-layer>div>button,.quick-model-sales-card .quick-drill-layer>div>button{box-sizing:border-box!important;height:var(--quick-select-option-height)!important;min-height:var(--quick-select-option-height)!important;padding:0 var(--quick-select-option-inline)!important;border-radius:0!important;color:var(--quick-select-option-color)!important;font-size:var(--quick-select-option-font-size)!important;font-weight:var(--quick-select-option-font-weight)!important;line-height:var(--quick-select-option-height)!important}.quick-product-card .quick-drill-layer>div>button:hover,.quick-model-sales-card .quick-drill-layer>div>button:hover{background:#f0f1f3!important}.quick-product-card .quick-drill-layer>div>button.active,.quick-model-sales-card .quick-drill-layer>div>button.active{background:var(--quick-select-option-selected)!important;color:#fff!important;font-weight:var(--quick-select-option-font-weight)!important}.quick-product-card .quick-drill-layer header,.quick-model-sales-card .quick-drill-layer header{border-radius:0!important;background:#fff!important}

/* Model-sales metric state and multi-line focus reuse the shared legend/crosshair states. */
.model-sales-metric-switch button.active{background:#f8f9fb!important;color:#000!important;box-shadow:4px 4px 10px rgba(197,201,208,.58),-4px -4px 10px rgba(255,255,255,.96)!important}.model-sales-metric-switch button.is-hidden{opacity:1!important;background:#e4e7ec!important;color:#000!important;text-decoration:none!important;box-shadow:inset 3px 3px 7px rgba(185,190,199,.55),inset -3px -3px 7px rgba(255,255,255,.72)!important;transform:none!important}.model-sales-metric-switch button.is-hidden i{opacity:.38!important}.model-sales-multi-crosshair line{stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.model-sales-axis-month{position:absolute;transform:translate(-50%,-50%)}.model-sales-axis-values{position:absolute;inset:0;z-index:19;pointer-events:none}.model-sales-axis-values b{position:absolute;right:8px;min-width:58px;padding:4px 7px;border:1px solid currentColor;border-radius:7px;background:#fff;font-size:12px;font-weight:900;line-height:1;text-align:center;transform:translateY(-50%);box-shadow:0 4px 12px rgba(38,52,78,.14)}

/* Match Demand 1's exact line-focus components. */
.model-sales-comparison-plot.line-point-focus,.model-sales-comparison-plot svg.line-point-focus{background-color:rgba(255,255,255,.72)}.model-sales-comparison-plot svg.line-point-focus .quick-grid-line,.model-sales-comparison-plot svg.line-point-focus .quick-axis-value,.model-sales-comparison-plot svg.line-point-focus .quick-axis-line{opacity:.18}.model-sales-comparison-plot svg.line-point-focus .is-line-series-active{opacity:1!important}.model-sales-comparison-plot .model-sales-customer-line circle.quick-line-interaction-point.is-line-point-active{r:5.5px;fill:#ef746d!important;stroke:#ef746d!important;filter:drop-shadow(0 0 4px rgba(239,116,109,.42))!important}.model-sales-multi-crosshair line{stroke:#7b8798!important}.model-sales-axis-values b.customer-point-axis-value{right:-68px;color:#d95f58;font-size:15px}

/* Keep every shared two-level selector within the same compact visual reach. */
.quick-product-card .quick-drill-layer,.quick-model-sales-card .quick-drill-layer{max-height:min(680px,calc(100vh - 150px))!important}.quick-product-card .quick-drill-layer>div,.quick-model-sales-card .quick-drill-layer>div{max-height:min(628px,calc(100vh - 202px))!important}

/* Correct shared focus geometry: guides sit below points and the real month label is highlighted. */
.model-sales-comparison-plot .model-sales-customer-line circle.quick-line-interaction-point.is-line-point-active{fill:var(--model-point-color)!important;stroke:var(--model-point-color)!important;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--model-point-color) 45%,transparent))!important}.model-sales-comparison-plot .quick-month-label.is-model-month-active{fill:#d95f58!important;font-size:15px!important;font-weight:900!important;filter:drop-shadow(0 3px 7px rgba(217,95,88,.2))}.model-sales-axis-values b.customer-point-axis-value{right:auto;color:#d95f58;font-size:13px}.model-sales-axis-month{display:none!important}
.model-sales-comparison-plot .quick-month-label.is-axis-month-source{opacity:0!important}.model-sales-comparison-plot>.customer-point-axis-month{position:absolute;transform:translate(-50%,-50%)}
.model-sales-bar-value{fill:#526079;font-size:12px;font-weight:800;pointer-events:none}.model-sales-customer-bar{pointer-events:none}.model-sales-month-selection{fill:none;stroke:#171717;stroke-width:3.5;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.16,1,.3,1)}.model-sales-month-selection.show{opacity:1}.model-sales-comparison-plot .quick-line-interaction-point{transform-box:fill-box;transform-origin:center;transition:r .17s cubic-bezier(.22,1,.36,1),fill .15s ease,stroke .15s ease,filter .18s ease}.model-sales-comparison-plot .quick-line-interaction-point.is-line-point-active{transition-duration:.2s}
.model-sales-month-tooltip.is-quantity-tip{min-width:118px;max-width:220px;padding:10px 12px}.model-sales-month-tooltip.is-quantity-tip>span{grid-template-columns:9px auto auto;gap:7px}.model-sales-month-tooltip.is-quantity-tip>span em{margin-left:4px}

/* Profit distribution reuses Demand 1 axis primitives and adds a two-ended time brush. */
.profit-record-layout{display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;min-height:520px!important;padding:0 20px 0 4px!important}
.profit-record-layout .profit-record-axis{position:relative!important;display:block!important;height:460px!important;padding:0!important;color:#7b879b!important}
.profit-record-axis .customer-axis-unit{position:absolute!important;top:22px!important;right:-126px!important;z-index:9;white-space:nowrap;color:#4b5b75!important;font-size:12px!important;font-weight:800!important}
.profit-record-axis>span{position:absolute!important;right:12px!important;top:var(--profit-tick-y)!important;display:block!important;transform:translateY(-50%);color:#7b879b!important;font-size:12px!important;font-style:normal!important;font-weight:500!important}
.profit-record-chart{position:relative!important;height:460px!important;min-width:0!important;border:0!important;background:#fff!important;overflow:visible!important}
.profit-record-chart>svg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.profit-record-chart .customer-y-axis{top:0!important;bottom:0!important}.profit-record-chart .customer-x-axis{left:0!important;right:0!important}
.profit-record-points{position:absolute;inset:0;z-index:4;overflow:hidden}.profit-record-points>[data-chart-series]{position:absolute;inset:0}
.profit-record-chart .quick-profit-point{position:absolute;left:var(--profit-point-x);top:var(--profit-point-y);width:7px;height:7px;margin:0;padding:0;border:0;border-radius:50%;background:#3f67df;opacity:.74;transform:translate(-50%,-50%);transition:left .16s ease,opacity .14s ease,filter .14s ease,width .14s ease,height .14s ease;cursor:pointer}.profit-record-chart .quick-profit-point.negative{width:10px;height:10px;background:#ef746d;opacity:.94}
.profit-record-chart .quick-profit-point:hover,.profit-record-chart .quick-profit-point:focus{width:11px;height:11px;opacity:1;filter:drop-shadow(0 2px 5px rgba(63,103,223,.32));outline:none}
.profit-axis-break{position:absolute;left:-7px;top:var(--profit-break-y);z-index:10;width:16px;height:18px;background:#fff;transform:translateY(-50%);pointer-events:none}.profit-axis-break::before{position:absolute;inset:2px 0;background:linear-gradient(135deg,transparent 0 38%,#8797ad 39% 46%,transparent 47% 58%,#8797ad 59% 66%,transparent 67%);content:""}
.profit-record-dates{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;height:28px;color:#526079;font-size:12px;font-weight:700}.profit-record-dates span:nth-child(1){text-align:left}.profit-record-dates span:nth-child(2),.profit-record-dates span:nth-child(3){text-align:center}.profit-record-dates span:nth-child(4){text-align:right}
.profit-range-navigator{width:calc(100% - 100px);margin:16px auto 0}.profit-range-overview{position:relative;height:72px;border:1px solid #dce4f0;border-radius:15px;background:linear-gradient(180deg,#f7f9fe,#eef3ff);overflow:hidden}.profit-range-overview>svg{position:absolute;inset:9px 14px;width:calc(100% - 28px)!important;height:54px!important;min-height:0!important;opacity:.58}.profit-range-overview polyline{fill:none;stroke:#6d8de4;stroke-width:1.5;vector-effect:non-scaling-stroke}
.profit-range-selection{position:absolute;top:8px;bottom:8px;left:var(--range-start);right:calc(100% - var(--range-end));z-index:2;border:2px solid #4d75e6;border-radius:11px;background:rgba(77,117,230,.08);box-shadow:0 4px 12px rgba(58,91,181,.12);pointer-events:none}.profit-range-selection b{position:absolute;top:50%;width:7px;height:28px;border-radius:5px;background:#4d75e6;transform:translateY(-50%)}.profit-range-selection .start{left:-4px}.profit-range-selection .end{right:-4px}
.profit-range-overview input[type=range]{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;background:transparent;appearance:none;pointer-events:none}.profit-range-overview input[type=range]::-webkit-slider-runnable-track{height:100%;background:transparent}.profit-range-overview input[type=range]::-webkit-slider-thumb{width:18px;height:44px;margin-top:13px;border:0;border-radius:7px;background:transparent;appearance:none;cursor:ew-resize;pointer-events:auto}.profit-range-overview input[data-profit-range-end]{z-index:4}
.profit-range-labels{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:8px 4px 0;color:#7b879b;font-size:11px;font-weight:700}.profit-range-labels strong{color:#526079}.profit-range-labels span:last-child{text-align:right}
@media(max-width:1000px){.profit-record-layout{grid-template-columns:72px minmax(0,1fr)!important;padding-right:4px!important}.profit-range-navigator{width:calc(100% - 32px)}.profit-record-axis .customer-axis-unit{right:-118px!important}.profit-record-dates{font-size:10px}}

/* Profit distribution extends the shared Demand 1 card, filter, legend and axis primitives. */
.profit-record-filters{max-width:min(720px,66vw)}
.profit-record-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 28px 13px}.profit-record-toolbar .quick-chart-legend{margin:0!important}.profit-category-legend{display:flex;flex-wrap:wrap;gap:15px}.profit-category-legend button{white-space:nowrap}.profit-metric-switch{flex:none;padding:3px;border:1px solid #dce3ed;border-radius:11px;background:#f5f7fb}.profit-metric-switch button{min-height:30px;border-radius:8px;padding:0 12px}.profit-metric-switch button.active{background:#fff;color:#3158ca;box-shadow:0 2px 7px rgba(39,64,116,.13)}
.quick-profit-point.high{background:var(--profit-high-color,#48ad73)!important;border-color:#fff!important;box-shadow:0 3px 8px rgba(50,151,92,.22)!important}.quick-profit-point.normal{background:var(--profit-normal-color,#20242c)!important;border-color:#fff!important}.quick-profit-point.low{background:var(--profit-low-color,#3f67df)!important;border-color:#fff!important;box-shadow:0 3px 8px rgba(63,103,223,.22)!important}.quick-profit-point.negative{background:var(--profit-negative-color,#ef5e58)!important;border-color:#fff!important;box-shadow:0 3px 8px rgba(214,71,65,.26)!important}.profit-category-legend i.high{background:var(--profit-high-color,#48ad73)!important}.profit-category-legend i.normal{background:var(--profit-normal-color,#20242c)!important}.profit-category-legend i.low{background:var(--profit-low-color,#3f67df)!important}.profit-category-legend i.negative{background:var(--profit-negative-color,#ef5e58)!important}
.profit-record-chart .quick-profit-point.is-product-focus{z-index:2;box-shadow:0 4px 10px rgba(48,72,112,.26)!important}
.profit-record-detail{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px;row-gap:4px;width:calc(100% - 100px);margin:14px auto 0;border:1px solid #dfe6f0;border-radius:14px;background:#f8fafe;padding:13px 16px;color:#6d7b90}.profit-record-detail small{grid-row:1/3;color:#8b97aa;font-size:10px;font-weight:900;letter-spacing:.08em}.profit-record-detail strong{color:#33445f;font-size:13px}.profit-record-detail span{font-size:11px;line-height:1.55}.profit-record-detail.show{border-color:#cdd8ef;background:#f5f8ff}.profit-record-empty{margin:20px 28px!important;min-height:250px!important}
@media(max-width:1000px){.profit-record-toolbar{align-items:flex-start;flex-direction:column;margin-inline:16px}.profit-record-detail{width:calc(100% - 32px)}.profit-record-filters{max-width:none}}
.quick-profit-record-card .profit-record-filters{width:auto!important;max-width:none!important}

/* A changed brand/model replaces only its own card; the surrounding demand cards remain mounted. */
.customer-quick-card.quick-local-card-refresh{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
.customer-quick-analysis .quick-card-height-transition{box-sizing:border-box!important;transition:height .64s cubic-bezier(.22,1,.36,1)!important;will-change:height}

/* Presets 2, 3 and 5 reuse Demand 1's responsive chart layers. */
.customer-quick-analysis .demand-one-shared-chart{height:auto!important;min-height:0!important;margin-top:0!important;margin-bottom:-18px!important;overflow:visible!important}
.customer-quick-analysis .demand-one-shared-layout{min-height:440px;margin:0!important;padding:0 14px 0 4px;box-sizing:border-box}
.customer-quick-analysis .demand-one-shared-layout .customer-combo-chart{height:372px;min-width:0}
.customer-quick-analysis .demand-one-shared-layout .customer-combo-chart>svg{position:absolute!important;inset:10px 18px 28px!important;width:calc(100% - 36px)!important;height:calc(100% - 38px)!important;min-height:0!important;max-height:none!important;margin:0!important;overflow:hidden!important}
.customer-quick-analysis .demand-one-shared-layout .customer-bars{grid-template-columns:repeat(12,minmax(0,1fr))}
.customer-quick-analysis .demand-one-shared-layout .customer-month{min-width:0}
.customer-quick-analysis .demand-one-shared-layout .customer-bar-set{gap:4px}
.customer-quick-analysis .demand-one-shared-layout .customer-bar{width:18px;max-width:32%;border-radius:3px 3px 0 0}
.customer-quick-analysis .demand-one-shared-layout .customer-bar.inbound{background:#59b88d}
.customer-quick-analysis .demand-one-shared-layout .customer-bar.outbound{background:#91a7ed}
.customer-quick-analysis .demand-one-shared-layout .customer-bar.sales{background:#3f67df}
.customer-quick-analysis{--demand-one-line-color:#ef746d;--demand-one-line-width:2.5}
.customer-quick-analysis .customer-combo-chart .customer-margin-line{fill:none!important;stroke:var(--demand-one-line-color)!important;stroke-width:var(--demand-one-line-width)!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke}
.customer-quick-analysis .demand-one-shared-layout .customer-line-point{border-color:#ef746d!important}

/* Demand 5 reuses the shared card, legend, axis and tooltip system; only its result encoding is specialized. */
.customer-quick-analysis .quick-shortage-card .quick-shortage-result-legend button:not(.is-hidden):first-child{color:#3f7f61!important}
.customer-quick-analysis .quick-shortage-card .quick-shortage-result-legend button:not(.is-hidden):last-child{color:#c95750!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-result-bar{vector-effect:non-scaling-stroke;transition:filter .18s ease,opacity .18s ease}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-result-bar.is-surplus{fill:#59b88d!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-result-bar.is-shortage{fill:#ef746d!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-value{fill:#526079!important;font-size:12px!important;font-weight:800!important;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-value.is-shortage{fill:#d95f58!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-axis-title{fill:#d95f58!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-zero-line,.customer-quick-analysis .quick-shortage-result-chart .is-zero-grid{stroke:#6f7d91!important;stroke-width:2!important;opacity:1!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column{outline:none;cursor:pointer}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-zero line{stroke:#8797ad;stroke-width:4;stroke-linecap:round}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-data-highlight .quick-shortage-result-bar{filter:brightness(1.04) drop-shadow(0 4px 6px rgba(46,61,88,.2))}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-data-muted{opacity:.24}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-history{opacity:.68}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-forecast{opacity:.78}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-current{opacity:1}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-current .quick-shortage-result-bar{filter:drop-shadow(0 4px 7px rgba(48,66,96,.18))}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-demo .quick-shortage-value{opacity:.76}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-data-highlight{opacity:1!important;filter:none!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-data-highlight .quick-shortage-value{opacity:1!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-column.is-data-muted{opacity:.24!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-month-label.is-history{fill:#8a96a8!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-month-label.is-current{fill:#26344d!important;font-weight:850!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-month-label.is-forecast{fill:#6e7c92!important}
.customer-quick-analysis .demand-one-shared-layout .customer-axis.right{color:#d96561}
.customer-quick-analysis .demand-one-shared-layout .customer-axis-unit{white-space:nowrap}
.customer-quick-analysis .demand-one-shared-layout .customer-axis.left .customer-axis-unit{right:-118px!important}
.brand-model-inventory-card .quick-preset-heading{align-items:center}.brand-model-inventory-card .customer-analysis-actions{margin-left:auto}.brand-model-inventory-card .customer-analysis-actions label{min-width:0}.brand-model-inventory-card .customer-analysis-actions select{min-width:210px}.brand-model-inventory-card .model-sales-separated-filters{margin-left:0!important}.brand-model-inventory-plot{overflow-x:auto;overflow-y:hidden}.brand-model-inventory-plot svg{display:block;width:auto;max-width:none;min-width:100%;height:430px}.quick-chart-legend i.brand-model-inventory{width:12px;height:12px;border-radius:4px;background:#91a7ed}.quick-model-inventory-bar{fill:#91a7ed;filter:drop-shadow(0 5px 9px rgba(79,106,196,.16));transition:fill .18s ease,filter .18s ease}.brand-model-inventory-plot g[data-chart-tip]:hover .quick-model-inventory-bar,.brand-model-inventory-plot g[data-chart-tip]:focus .quick-model-inventory-bar{fill:#6f8fe6;filter:drop-shadow(0 7px 12px rgba(64,90,180,.25))}.quick-model-inventory-value{fill:#596780;font-size:12px;font-weight:800}.brand-model-inventory-plot .quick-month-label{fill:#526079;font-size:12px;font-weight:700}
.customer-quick-analysis .demand-one-shared-layout .customer-month>b{bottom:-32px;color:#526079;font-size:12px;font-weight:700}
.customer-quick-analysis .demand-one-shared-layout .customer-x-axis{display:block!important}
.customer-quick-analysis .demand-one-empty-note{position:absolute;top:54px;left:18%;margin:0;color:#8a96a8;font-size:12px;font-weight:700;letter-spacing:.04em}
.customer-quick-analysis .demand-one-shared-layout [data-chart-series].is-series-hidden{opacity:0!important;pointer-events:none}
@media(max-width:1000px){.customer-quick-analysis .demand-one-shared-chart{margin-top:0!important;margin-bottom:0!important}.customer-quick-analysis .demand-one-shared-layout{min-height:330px}.customer-quick-analysis .demand-one-shared-layout .customer-combo-chart{height:272px}.customer-quick-analysis .demand-one-shared-layout .customer-bar{width:12px}.customer-quick-analysis .demand-one-shared-layout .customer-axis-unit{font-size:10px}.customer-quick-analysis .demand-one-shared-layout .customer-month>b{font-size:10px}}

/* Keep both tick columns inside the exact plot height; never extend below X. */
.customer-quick-analysis .demand-one-shared-layout .customer-axis{box-sizing:border-box;height:372px!important;padding:10px 0 28px!important}
.customer-quick-analysis .demand-one-shared-layout .customer-axis-unit{top:30px!important;z-index:9}
.customer-quick-analysis .demand-one-shared-layout .customer-axis.left .customer-axis-unit{right:-116px!important}
.customer-quick-analysis .demand-one-shared-layout .customer-axis.right .customer-axis-unit{left:-116px!important}
@media(max-width:1000px){.customer-quick-analysis .demand-one-shared-layout .customer-axis{height:272px!important;padding-bottom:28px!important}}
.customer-quick-analysis .quick-preset-canvas .quick-month-label,.customer-quick-analysis .quick-preset-canvas .quick-month-label.is-unavailable{fill:#526079!important;font-size:12px!important;font-weight:700!important}
.customer-quick-analysis .quick-preset-canvas .quick-axis-value{fill:#7b879b!important;font-size:12px!important}
.customer-quick-analysis .quick-preset-canvas .inventory-axis-value{fill:#d96561!important}

/* Profit plot interaction remains independent from the canonical header layout. */
.customer-quick-analysis .quick-profit-record-card .profit-record-chart>svg{inset:0!important;width:100%!important;height:100%!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-points>[data-chart-series]{pointer-events:none!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-points>[data-chart-series]>.quick-profit-point{pointer-events:auto!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .profit-point-axis-value{right:calc(100% + 12px)!important;left:auto!important;transform:translateY(-50%)!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .profit-point-axis-month{transform:translateX(-50%)!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart-empty .profit-record-points,
.customer-quick-analysis .quick-profit-record-card .profit-record-chart-empty .profit-product-trend{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart-empty .profit-chart-empty-hint{position:absolute;inset:0;display:grid;place-items:center;z-index:6;padding:24px;text-align:center;color:#9aa5b5;font-size:14px;font-weight:650;letter-spacing:0;pointer-events:none}


/* Profit focus reuses one axis-badge and legend-button component in every point state. */
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .profit-point-axis-value{right:calc(100% + 6px)!important;left:auto!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .profit-point-axis-month{transform:translateX(-50%)!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .customer-point-crosshair-y{z-index:10!important;display:block!important;border-left:1px dashed #7b8798!important}
.customer-quick-analysis .quick-profit-record-card .profit-category-legend button{font-family:inherit!important;font-size:12px!important;font-weight:750!important;line-height:1!important;color:#000!important;text-decoration:none!important}

/* One shared card surface: legend buttons and the range selection consume the same tokens. */
.customer-combo-legend,.quick-chart-legend,.quick-profit-record-card{--quick-legend-surface:#f8f9fb;--quick-legend-radius:13px;--quick-legend-shadow:4px 4px 10px rgba(197,201,208,.58),-4px -4px 10px rgba(255,255,255,.96)}
.customer-combo-legend button,.quick-chart-legend button{border-radius:var(--quick-legend-radius)!important;background:var(--quick-legend-surface)!important;box-shadow:var(--quick-legend-shadow)!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-selection{border:2px solid #20242c!important;border-radius:var(--quick-legend-radius)!important;background:var(--quick-legend-surface)!important;box-shadow:var(--quick-legend-shadow)!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-selection b{background:#20242c!important}

/* Scatter points reuse the legend colours and restore the original white outer ring. */
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .quick-profit-point{width:9px!important;height:9px!important;border:0!important;opacity:1;box-shadow:0 0 0 2px #fff!important;filter:none}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .quick-profit-point.is-product-focus{box-shadow:0 0 0 2px #fff!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .quick-profit-point:hover,
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .quick-profit-point:focus,
.customer-quick-analysis .quick-profit-record-card .profit-record-chart .quick-profit-point.is-line-point-active{width:12px!important;height:12px!important;box-shadow:0 0 0 2px #fff,0 2px 5px rgba(48,72,112,.24)!important}

.customer-quick-analysis .quick-profit-record-card .profit-record-chart .quick-profit-point.is-product-focus{z-index:2!important;filter:none!important;box-shadow:0 0 0 2px #fff!important}

/* The navigator and legend cards consume the same neutral surface; no blue card remains. */
.customer-quick-analysis .quick-profit-record-card .profit-range-overview{overflow:visible!important;border:0!important;border-radius:var(--quick-legend-radius)!important;background:var(--quick-legend-surface)!important;box-shadow:var(--quick-legend-shadow)!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-overview>svg{opacity:.28!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-current-time{position:absolute;top:50%;z-index:5;padding:4px 7px;border-radius:7px;background:#fff;color:#20242c;font-size:10px;font-style:normal;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 2px 7px rgba(35,40,49,.12);transform:translateY(-50%)}
.customer-quick-analysis .quick-profit-record-card .profit-range-current-time.start{right:calc(100% + 10px)!important;left:auto!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-current-time.end{right:auto!important;left:calc(100% + 10px)!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-current-time[hidden]{display:none!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-overview input[type=range]{outline:none!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-overview input[type=range]::-webkit-slider-thumb{outline:none!important;box-shadow:none!important}
.customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-profit-scatter{height:auto!important;min-height:calc(var(--profit-plot-height) + 140px)!important;margin-bottom:0!important;overflow:visible!important}
.customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-profit-scatter .profit-range-overview>svg{inset:9px 14px!important;width:calc(100% - 28px)!important;height:54px!important;min-height:0!important;max-height:54px!important;overflow:hidden!important;clip-path:inset(0)!important}
.customer-quick-analysis .quick-profit-record-card .profit-range-labels{grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);padding-top:11px}
.customer-quick-analysis .quick-profit-record-card .profit-range-labels>strong{display:grid;gap:2px;text-align:center}
.customer-quick-analysis .quick-profit-record-card .profit-range-labels>strong>em{color:#20242c;font-size:11px;font-style:normal;font-weight:800}
.customer-quick-analysis .quick-profit-record-card .profit-range-labels,.customer-quick-analysis .quick-profit-record-card .profit-range-labels>span,.customer-quick-analysis .quick-profit-record-card .profit-range-labels>strong,.customer-quick-analysis .quick-profit-record-card .profit-range-labels>strong>span,.customer-quick-analysis .quick-profit-record-card .profit-range-labels>strong>em{color:#526079!important}
.customer-quick-analysis .quick-profit-record-card .profit-category-legend button>span{display:inline!important;font:inherit!important;color:inherit!important;white-space:nowrap!important}
.customer-quick-analysis .quick-profit-record-card .profit-category-legend button:active{transform:translateY(1px)!important;background:#f2f4f8!important;box-shadow:inset 3px 3px 7px rgba(185,190,199,.46),inset -3px -3px 7px rgba(255,255,255,.8)!important}

/* A selected product's margin records share the scatter coordinates and connect in time order. */
.customer-quick-analysis .quick-profit-record-card .profit-product-trend{z-index:3!important;pointer-events:none!important;overflow:visible!important}
.customer-quick-analysis .quick-profit-record-card .profit-product-trend polyline{fill:none;stroke:#75849b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
/* Risk warning summary: four business sources share the preset-card evidence chain. */
.risk-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
.risk-group[data-risk-level="critical"]>header>strong{background:#fff0ee;color:#d84f45}
.risk-group[data-risk-level="high"]>header>strong{background:#fff5e6;color:#c87816}
.risk-profit-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 10px 2px}
.risk-profit-breakdown span{display:grid;gap:2px;padding:8px 4px;border-radius:10px;background:#f5f7fb;color:#728096;font-size:10px;text-align:center}
.risk-profit-breakdown b{color:#29364b;font-size:15px}
.risk-profit-breakdown .profit-negative{background:#fff0ee;color:#d24e45}.risk-profit-breakdown .profit-negative b{color:#c83e35}
.risk-row-profit-negative small{color:#c94a42}.risk-row-profit-zero small{color:#7259c9}.risk-row-profit-low small{color:#3f67cf}.risk-row-profit-high small{color:#33845c}
.risk-profit-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 10px 4px}
.risk-profit-tabs button{display:grid;gap:2px;padding:8px 4px;border:1px solid transparent;border-radius:10px;background:#f5f7fb;color:#728096;font:inherit;font-size:10px;text-align:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.risk-profit-tabs button b{color:#29364b;font-size:15px}.risk-profit-tabs button:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(45,60,88,.1)}.risk-profit-tabs button:active{transform:translateY(1px);box-shadow:inset 2px 2px 5px rgba(55,67,88,.12)}
.risk-profit-tabs button.active{border-color:#cad4e6;background:#fff;box-shadow:0 5px 14px rgba(45,60,88,.12)}
.risk-profit-tabs .profit-negative.active{border-color:#efaaa5;background:#fff0ee;color:#c83e35}.risk-profit-tabs .profit-negative.active b{color:#c83e35}
.risk-preview{scroll-margin-top:24px}
.risk-analysis-view article.risk-row{cursor:default}.risk-analysis-view article.risk-row:hover{background:transparent}
@media(max-width:1450px){.risk-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.risk-summary{grid-template-columns:1fr!important}}
.customer-quick-analysis>.customer-quick-card>.customer-analysis-heading,.customer-quick-analysis>.company-overview-host>.customer-quick-card>.customer-analysis-heading{height:auto!important;min-height:var(--quick-action-row-height)!important;flex-wrap:wrap;gap:16px}
.customer-quick-analysis .customer-analysis-heading>.customer-analysis-title-group{flex:1 1 440px!important;max-width:100%;min-width:0}
.customer-quick-analysis>.customer-quick-card,.customer-quick-analysis>.company-overview-host>.customer-quick-card{min-width:0!important;width:100%;box-sizing:border-box}
.customer-quick-analysis .chart-analysis-name{position:relative;width:100%!important;max-width:760px;height:auto!important;min-height:44px!important;display:grid!important;grid-template-columns:minmax(0,1fr);justify-items:stretch;box-sizing:border-box}
.customer-quick-analysis .chart-analysis-name input{grid-area:1/1;width:100%!important;align-self:center}
.customer-quick-analysis .chart-analysis-name .quick-name-display{grid-area:1/1;position:relative!important;inset:auto!important;z-index:1;display:block!important;width:auto!important;max-width:none!important;min-width:0;padding:9px;overflow-wrap:anywhere;white-space:pre-wrap!important;font-size:16px!important;font-weight:700;line-height:24px!important;color:#1f2d46!important;opacity:1!important;transform:none!important;pointer-events:none;transition:none!important}
.has-quick-name:not(:focus-within) input{color:transparent!important;caret-color:#1f2d46}
.customer-quick-analysis .has-quick-name:focus-within .quick-name-display{visibility:hidden!important}
.customer-quick-analysis .customer-analysis-actions,.customer-quick-analysis .quick-preset-filters{max-width:100%;flex-shrink:0}
.inventory-horizontal-scroll{--inventory-model-width:150px;--inventory-value-space:190px;--inventory-model-shift:96px;--inventory-axis-extension:18px;--inventory-axis-label-space:80px;max-height:750px;overflow-x:hidden;overflow-y:auto;position:relative;padding:0 12px 52px 4px;scrollbar-gutter:stable}
.inventory-horizontal-axis{display:grid;grid-template-columns:minmax(0,1fr);column-gap:0}
.inventory-horizontal-axis{position:sticky;top:0;z-index:4;background:#fff;min-height:44px;align-items:end;color:#526079;font-size:14px}
.inventory-horizontal-axis:before{content:'';position:absolute;left:0;right:calc(var(--inventory-value-space) - var(--inventory-axis-extension) - var(--inventory-axis-label-space));bottom:0;border-bottom:2px solid #000;pointer-events:none}
.inventory-horizontal-axis:after{content:'';position:absolute;right:auto;left:calc(100% - var(--inventory-value-space) + var(--inventory-axis-extension) + var(--inventory-axis-label-space));bottom:-4px;border-left:10px solid #000;border-top:4px solid transparent;border-bottom:4px solid transparent;pointer-events:none}
.inventory-horizontal-axis>span{display:none}.inventory-horizontal-axis>div{min-width:0;align-self:stretch}.inventory-horizontal-axis b{position:absolute;z-index:5;right:4px;bottom:4px;transform:translateY(-100%);font-size:14px;white-space:nowrap}
.inventory-axis-ticks{position:relative;height:100%;margin-right:var(--inventory-value-space)}
.inventory-axis-ticks span{position:absolute;bottom:8px;transform:translateX(-50%);font-size:13px;white-space:nowrap}.inventory-axis-ticks span:before{content:'';position:absolute;z-index:1;left:50%;bottom:-10px;height:10px;border-left:2px solid #000;transform:translateX(-50%)}.inventory-axis-ticks span:first-child{transform:translateX(-50%)}.inventory-axis-ticks span:first-child:before{left:50%;transform:translateX(-50%)}.inventory-axis-ticks span:last-child{transform:translateX(-100%)}.inventory-axis-ticks span:last-child:before{left:100%;transform:none}.inventory-axis-ticks span.is-zero:before{display:none}
.inventory-horizontal-row{position:relative;z-index:1;display:block;height:27px;min-height:27px;box-sizing:border-box;padding:1px 0;border:0}
.inventory-horizontal-row:before,.inventory-horizontal-row:after{display:none!important}
.inventory-brand-group,.inventory-brand-heading,.inventory-brand-models{display:contents}
.inventory-model-label{align-self:stretch;display:flex;min-width:0;align-items:center;justify-content:flex-end;box-sizing:border-box;margin:0;padding:0 12px 0 0;border:0;background:transparent;font-family:inherit;font-size:14px;font-weight:600;line-height:19px;overflow-wrap:anywhere;color:#35445d;text-align:right;cursor:pointer}
.inventory-model-label:is(:hover,:focus-visible){color:#315bd8}.inventory-model-label:focus-visible{outline:1px solid rgba(49,91,216,.38);outline-offset:-2px}
.inventory-horizontal-rows{position:relative}.inventory-horizontal-rows:before{content:'';position:absolute;z-index:2;left:0;top:-1px;bottom:-10px;border-left:2px solid #000;pointer-events:none}.inventory-horizontal-rows:after{content:'';position:absolute;z-index:3;left:-4px;bottom:-10px;border-top:7px solid #000;border-left:4px solid transparent;border-right:4px solid transparent;pointer-events:none}
.inventory-model-axis-title{position:absolute;left:calc(100% - var(--inventory-value-space) + 12px);top:calc(100% + 15px);width:calc(var(--inventory-value-space) - 12px);box-sizing:border-box;color:#35445d;font-size:14px;font-weight:700;text-align:left;white-space:nowrap}
.inventory-bar-track{position:absolute;left:0;right:var(--inventory-value-space);top:1px;bottom:1px;box-sizing:border-box;min-width:0;padding:0}
.inventory-bar-hit{position:relative;display:block;width:100%;height:25px;border:0;background:transparent;text-align:left;padding:0}
.inventory-horizontal-bar{position:absolute;top:3px;height:19px;margin:0;padding:0;border:0;border-radius:3px;background:#5fb3f9;cursor:pointer;transition:background .16s ease,box-shadow .18s ease}
.inventory-horizontal-bar:is(:hover,:focus-visible){background:#3f9fe8}
.inventory-bar-value{position:absolute;top:50%;transform:translate(10px,-50%);font-size:13px;font-weight:650;color:#526079;white-space:nowrap}
.inventory-model-label{position:absolute;z-index:2;top:1px;bottom:1px;height:auto;left:calc(100% - var(--inventory-value-space) - var(--inventory-model-shift) + 12px);right:auto;width:max-content;max-width:calc(var(--inventory-value-space) + var(--inventory-model-shift) - 12px);justify-content:flex-start;padding:0 8px 0 0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-horizontal-row.has-horizontal-guide::after{content:'';position:absolute;z-index:0;left:0;right:var(--inventory-value-space);bottom:-1px;display:block!important;border-bottom:1px solid var(--quick-grid);pointer-events:none}
.inventory-horizontal-row.is-row-focus::before{content:'';position:absolute;z-index:0;left:0;right:calc(var(--inventory-value-space) + var(--inventory-model-shift) - 4px);top:50%;display:block!important;border-top:1px dashed rgba(46,61,84,.62);pointer-events:none;transform:translateY(-.5px)}
/* Inventory values stay outside the bar for every row, including long bars. */
.inventory-horizontal-row.is-long .inventory-bar-value{transform:translate(10px,-50%);margin-left:0}
.inventory-horizontal-bar.is-model-focus{z-index:3;box-shadow:0 0 0 2px #111827}
.inventory-hidden .inventory-bar-hit{visibility:hidden}
@media(max-width:1000px){.customer-quick-analysis .customer-analysis-heading>.customer-analysis-title-group{width:100%;flex:0 0 auto!important}}
@media(max-width:760px){.inventory-horizontal-scroll{--inventory-model-width:140px;--inventory-value-space:170px;--inventory-model-shift:64px;--inventory-axis-label-space:74px;padding-left:0}.customer-quick-analysis .customer-analysis-heading>.customer-analysis-title-group{flex-basis:100%!important}.customer-quick-analysis .chart-analysis-name{max-width:none}.inventory-model-label{font-size:13px}}

/* All quick-analysis data bars share square corners. */
.customer-quick-analysis :is(.customer-bar,.inventory-horizontal-bar,.quick-customer-bars button i,.quick-customer-bars button i b){border-radius:0!important}
.customer-quick-analysis svg rect:is(.quick-inbound-bar,.quick-outbound-bar,.quick-demand-bar,.quick-model-sales-bar,.quick-month-profit-bar,.quick-shortage-bar,.quick-shortage-result-bar,.quick-model-inventory-bar,.model-sales-customer-bar){rx:0!important;ry:0!important}
.customer-quick-analysis .quick-chart-legend i.brand-model-inventory{background:#5fb3f9!important}
.customer-quick-analysis .quick-model-inventory-bar{fill:#5fb3f9!important}
.customer-quick-analysis .brand-model-inventory-plot g[data-chart-tip]:is(:hover,:focus) .quick-model-inventory-bar{fill:#3f9fe8!important}
.customer-quick-analysis .quick-selection-prompt,.customer-quick-analysis .quick-shortage-selection-prompt{fill:#9aa5b5;font-size:14px;font-weight:650;letter-spacing:0}

/* Customer contribution reuses the preset card, metric switch, KPI, and shared tooltip surfaces. */
.customer-contribution-card .quick-preset-head{position:relative;min-height:74px!important;align-items:center!important}
.customer-contribution-controls{position:absolute;right:0;top:50%;z-index:4;display:flex;align-items:center;gap:14px;flex:none;transform:translateY(-50%)}
.customer-contribution-controls>.model-sales-metric-switch{display:grid!important;grid-template-columns:repeat(2,108px);gap:6px!important;margin:0!important}
.customer-contribution-controls>.model-sales-metric-switch button{justify-content:center!important;margin:0!important}
.customer-contribution-color-picker{position:relative;padding-left:14px;border-left:1px solid #e0e5ed}
.customer-contribution-color-trigger{display:flex;height:36px;align-items:center;gap:8px;padding:0 11px;border:1px solid #d9e0ea;border-radius:7px;background:#fff;color:#334158;font:inherit;font-size:12px;font-weight:750;box-shadow:0 2px 7px rgba(40,55,82,.08);cursor:pointer}
.customer-contribution-color-trigger>i{width:18px;height:18px;flex:none;border:1px solid #aeb5bf;border-radius:1px;background:var(--selected-color);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.customer-contribution-color-trigger>b{width:0;height:0;margin-left:2px;border:4px solid transparent;border-top-color:#718096;transform:translateY(2px);transition:transform .16s ease}
.customer-contribution-color-trigger[aria-expanded="true"]>b{transform:translateY(-2px) rotate(180deg)}
.customer-contribution-color-trigger:hover,.customer-contribution-color-trigger[aria-expanded="true"]{border-color:#9eabc0;background:#f8fafc}
.customer-contribution-color-trigger:focus-visible,.item-color:focus-visible{outline:2px solid rgba(49,94,234,.42);outline-offset:2px}
.customer-contribution-color-panel{position:absolute;top:calc(100% + 7px);right:0;z-index:10;width:468px;padding:8px 9px 9px;border:1px solid #bfc4cc;border-radius:2px;background:#fff;box-shadow:0 8px 20px rgba(33,47,72,.16)}
.customer-contribution-color-panel[hidden]{display:none!important}
.customer-contribution-color-panel>strong{display:block;margin:0 0 7px;padding:0 1px 5px;border-bottom:1px solid #d7d9dd;color:#3c4149;font-size:11px;font-weight:500}
.customer-contribution-color-panel-body{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:18px;padding:5px 5px 1px}
.container-items{display:flex;flex:none;transform-style:preserve-3d;transform:perspective(1000px)}
.item-color{position:relative;flex-shrink:0;width:32px;height:40px;padding:0;border:none;outline:none;background:transparent;transition:500ms cubic-bezier(.175,.885,.32,1.1);cursor:pointer}
.item-color::after{position:absolute;content:"";inset:0;width:40px;height:40px;background-color:var(--color);border-radius:6px;transform:scale(1.2);pointer-events:none;transition:500ms cubic-bezier(.175,.885,.32,1.1)}
.item-color::before{position:absolute;content:attr(aria-color);left:65%;bottom:52px;z-index:2;font-size:8px;line-height:12px;transform:translateX(-50%);padding:2px .25rem;background-color:#fff;border:1px solid #e1e5eb;border-radius:6px;box-shadow:0 3px 9px rgba(33,47,72,.12);pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;transition:500ms cubic-bezier(.175,.885,.32,1.1)}
.item-color:hover{transform:scale(1.5);z-index:99999}
.item-color:hover::before{opacity:1;visibility:visible}
.item-color:active::after{transform:scale(1.1)}
.item-color:focus::before{content:"已选择"}
.item-color:hover+*{transform:scale(1.3);z-index:9999}
.item-color:hover+*+*{transform:scale(1.15);z-index:999}
.item-color:has(+ *:hover){transform:scale(1.3);z-index:9999}
.item-color:has(+ * + *:hover){transform:scale(1.15);z-index:999}
.item-color.active::after{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #2f3948}
.customer-contribution-more-color{position:relative;display:flex;min-width:92px;height:40px;align-items:center;justify-content:center;padding:0 8px;border-left:1px solid #d7d9dd;color:#30343a;font-size:11px;text-align:center;cursor:pointer;white-space:nowrap}
.customer-contribution-more-color:hover{background:#f0f1f3}
.customer-contribution-more-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.customer-contribution-plot{width:100%;overflow:hidden;border:0;background:#fff}
.customer-contribution-stage{width:100%;min-width:0}
.customer-contribution-plot svg{display:block;width:100%;height:auto;aspect-ratio:1080/680;overflow:visible}
.customer-contribution-bubble{cursor:pointer;outline:none;transition:opacity .2s ease,filter .2s ease}
.customer-contribution-bubble circle{stroke:rgba(31,49,77,.3);stroke-width:1.15;vector-effect:non-scaling-stroke;transition:stroke .18s ease,stroke-width .18s ease,filter .18s ease}
.customer-contribution-bubble text{font-family:inherit;font-weight:650;text-anchor:middle;pointer-events:none}
.customer-contribution-bubble .bubble-customer-name{font-weight:800}.customer-contribution-bubble .bubble-metric-value{font-weight:850}.customer-contribution-bubble .bubble-cooperation-days{opacity:.88}
.customer-contribution-bubble:is(:hover,:focus-visible,[data-quick-data-pinned="true"]){filter:drop-shadow(0 7px 9px rgba(35,54,85,.22))}
.customer-contribution-bubble:is(:hover,:focus-visible,[data-quick-data-pinned="true"]) circle{stroke:#202833;stroke-width:2}
.customer-contribution-plot svg:has(.customer-contribution-bubble[data-quick-data-pinned="true"]) .customer-contribution-bubble:not([data-quick-data-pinned="true"]){opacity:.24;filter:saturate(.35)}
.customer-contribution-bubble.is-negative circle{stroke:#8f2733;stroke-dasharray:5 3}
.customer-chart-tooltip.is-contribution-detail span{white-space:pre-line;line-height:1.65}
@media(max-width:1000px){.customer-contribution-card .quick-preset-head{height:auto!important;min-height:0!important;align-items:flex-start!important;flex-direction:column;gap:14px;padding:16px 0!important}.customer-contribution-controls{position:static;width:100%;justify-content:space-between;transform:none}}
@media(max-width:600px){.customer-contribution-controls{align-items:stretch;flex-direction:column}.customer-contribution-color-picker{align-self:flex-end;padding-left:0;border-left:0}.customer-contribution-controls>.model-sales-metric-switch{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-contribution-controls>.model-sales-metric-switch button{width:100%!important;min-width:0!important}.customer-contribution-color-panel{right:-100px;width:min(420px,calc(100vw - 56px))}.customer-contribution-color-panel-body{gap:8px;padding-inline:2px}.item-color{width:20px;height:34px}.item-color::after{width:28px;height:34px}.item-color::before{left:70%;bottom:43px}.customer-contribution-more-color{min-width:74px;height:36px;padding:0 5px}}
@media(max-width:360px){.customer-contribution-color-panel-body{gap:6px;padding-inline:0}.item-color{width:17px}.item-color::after{width:25px}.customer-contribution-more-color{min-width:68px;padding-inline:3px}}

/* Packed bubbles keep true area ratios; labels adapt independently. */
.customer-contribution-card .customer-contribution-plot{max-height:none;overflow:hidden}
.customer-contribution-plot svg{max-width:100%!important;min-height:0!important;flex:none}
.customer-contribution-zero{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.customer-contribution-zero:empty{display:none}
.customer-contribution-zero button{border:1px solid #dce4f2;border-radius:8px;background:#fff;padding:6px 10px;color:#526079;font:inherit;font-size:12px;cursor:pointer}

/* Data marks own entry motion; card layout and axes stay stationary. */
.customer-quick-analysis :is(.customer-quick-card,.customer-combo-wrap,.customer-month,.customer-margin-line,.customer-line-point){animation:none!important}
.customer-quick-analysis .customer-margin-line{stroke-dasharray:none;stroke-dashoffset:0}

/* Demand 1: compact grouped columns with a distinct four-series palette. */
[data-customer-quick-card] .customer-plot-layout{position:relative}
[data-customer-quick-card] .customer-combo-chart{background:none!important}
[data-customer-quick-card] .customer-chart-scale{position:absolute;inset:10px 0 28px;z-index:1;pointer-events:none}
[data-customer-quick-card] .customer-scale-row{position:absolute;left:0;right:0;top:calc(var(--scale-index) * 25%);display:grid;grid-template-columns:62px minmax(0,1fr) 58px;gap:8px;align-items:center;transform:translateY(-50%);color:#7b879b;font-size:12px;font-variant-numeric:tabular-nums;line-height:1}
[data-customer-quick-card] .customer-scale-row span{display:block;white-space:nowrap}
[data-customer-quick-card] .customer-scale-row span.left{text-align:right}
[data-customer-quick-card] .customer-scale-row span.right{color:#8067c9;text-align:left}
[data-customer-quick-card] .customer-scale-row>i{position:relative;display:block;height:1px;background:#e9eef5}
[data-customer-quick-card] .customer-scale-row>i::before,[data-customer-quick-card] .customer-scale-row>i::after{position:absolute;top:-1px;width:7px;height:2px;background:#000;content:""}
[data-customer-quick-card] .customer-scale-row>i::before{left:-7px}
[data-customer-quick-card] .customer-scale-row>i::after{right:-7px}
[data-customer-quick-card] .customer-scale-row:last-child>i{height:2px;background:transparent}
[data-customer-quick-card] .customer-bar-set{gap:0!important}
[data-customer-quick-card] .customer-bar{width:26px!important;max-width:26px!important;flex:0 0 26px}
[data-customer-quick-card] .customer-bar.sales{background:#f04438!important;outline-color:rgba(240,68,56,.2)!important}
[data-customer-quick-card] .customer-bar.cost{background:#3f67df!important}
[data-customer-quick-card] .customer-bar.profit:not(.negative){background:#55c88a!important}
[data-customer-quick-card] .customer-combo-legend .sales{background:#f04438!important}
[data-customer-quick-card] .customer-combo-legend .cost{background:#3f67df!important}
[data-customer-quick-card] .customer-combo-legend .profit{background:#55c88a!important}
[data-customer-quick-card] .customer-combo-legend .margin{background:#8067c9!important}
[data-customer-quick-card] .customer-combo-chart .customer-margin-line{stroke:#8067c9!important}
[data-customer-quick-card] .customer-line-point{background:#fff!important;border-color:#8067c9!important;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(128,103,201,.22)!important}
[data-customer-quick-card] .customer-line-point:is(:hover,:focus-visible,.is-line-point-active){background:#8067c9!important;box-shadow:0 0 0 3px rgba(128,103,201,.16),0 3px 8px rgba(99,76,169,.28)!important}
[data-customer-quick-card] .customer-axis.right{color:#8067c9!important}
[data-customer-quick-card] .customer-axis .customer-axis-unit{top:50%!important;padding:0!important;background:transparent!important;line-height:1!important;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);letter-spacing:0}
[data-customer-quick-card] .customer-axis.left .customer-axis-unit{right:auto!important;left:0!important;color:#526079!important;text-align:left}
[data-customer-quick-card] .customer-axis.right .customer-axis-unit{right:0!important;left:auto!important;color:#8067c9!important;text-align:left}
[data-customer-quick-card] :is(.customer-x-axis,.customer-y-axis){background:#000!important}
[data-customer-quick-card] .customer-x-axis::after{border-left-color:#000!important}
[data-customer-quick-card] .customer-y-axis::after{border-bottom-color:#000!important}
[data-customer-quick-card] :is(.customer-point-axis-value,.customer-point-axis-month){border-color:rgba(128,103,201,.24)!important;color:#6f55b5!important}
[data-customer-quick-card] .customer-bar.sales>span{left:30%;transform:translateX(-50%)}
[data-customer-quick-card] .customer-bar.cost>span{left:50%;transform:translateX(-50%)}
[data-customer-quick-card] .customer-bar.profit>span{left:70%;transform:translateX(-50%)}
@media(max-width:1200px){[data-customer-quick-card] .customer-bar{width:22px!important;max-width:22px!important;flex-basis:22px}[data-customer-quick-card] .customer-scale-row{grid-template-columns:62px minmax(0,1fr) 58px}}

/* Shared visual primitives for all non-bubble quick-analysis charts. */
.customer-quick-analysis{--quick-sales-red:#f04438;--quick-cost-blue:#3f67df;--quick-profit-green:#55c88a;--quick-line-purple:#8067c9;--quick-axis:#000;--quick-axis-stroke:2px;--quick-grid:#e9eef5}
.customer-quick-analysis .customer-plot-layout:has(>.customer-chart-scale){position:relative}
.customer-quick-analysis .customer-chart-scale{position:absolute;inset:10px 0 28px;z-index:1;pointer-events:none}
.customer-quick-analysis .customer-scale-row{position:absolute;left:0;right:0;top:var(--scale-position,calc(var(--scale-index) * 25%));display:grid;grid-template-columns:62px minmax(0,1fr) 58px;gap:8px;align-items:center;color:#7b879b;font-size:12px;font-variant-numeric:tabular-nums;line-height:1;transform:translateY(-50%)}
.customer-quick-analysis .customer-scale-row span{display:block;white-space:nowrap}
.customer-quick-analysis .customer-scale-row span.left{text-align:right}
.customer-quick-analysis .customer-scale-row span.right{padding-left:13px;color:var(--quick-line-purple);text-align:left}
.customer-quick-analysis .customer-scale-row>i{position:relative;display:block;height:1px;background:var(--quick-grid)}
.customer-quick-analysis .customer-scale-row>i::before,.customer-quick-analysis .customer-scale-row>i::after{position:absolute;top:-1px;width:7px;height:2px;background:var(--quick-axis);content:""}
.customer-quick-analysis .customer-scale-row>i::before{left:-7px}
.customer-quick-analysis .customer-scale-row>i::after{right:-7px}
.customer-quick-analysis .customer-scale-row.is-axis-baseline>i{height:2px;background:transparent}
.customer-quick-analysis :is(.customer-x-axis,.customer-y-axis){background:var(--quick-axis)!important}
.customer-quick-analysis .customer-x-axis::after{border-left-color:var(--quick-axis)!important}
.customer-quick-analysis .customer-y-axis::after{border-bottom-color:var(--quick-axis)!important}
.customer-quick-analysis .quick-preset-canvas :is(.quick-axis-line,.quick-zero-line){stroke:var(--quick-axis)!important;stroke-width:2!important;opacity:1!important}
.customer-quick-analysis .quick-preset-canvas marker path{fill:var(--quick-axis)!important}
.customer-quick-analysis .quick-preset-canvas .quick-svg-tick{stroke:var(--quick-axis)!important;stroke-width:2!important;vector-effect:non-scaling-stroke}
.customer-quick-analysis .quick-preset-canvas .quick-grid-line:not(.is-zero-grid){stroke:var(--quick-grid)!important;stroke-width:1!important;opacity:1!important}

.customer-quick-analysis .demand-one-shared-layout .customer-axis>span{display:none!important}
.customer-quick-analysis .demand-one-shared-layout{grid-template-columns:82px minmax(0,1fr) 82px!important}
.customer-quick-analysis .demand-one-shared-layout .customer-bar-set{gap:0!important}
.customer-quick-analysis .demand-one-shared-layout .customer-bar{width:20px!important;max-width:40%!important;flex:0 0 20px;border-radius:0!important}
.customer-quick-analysis .demand-one-shared-layout .customer-bar.inbound{background:var(--quick-profit-green)!important}
.customer-quick-analysis .demand-one-shared-layout .customer-bar.outbound{background:var(--quick-cost-blue)!important}
.customer-quick-analysis .demand-one-shared-layout .customer-bar.sales{background:var(--quick-sales-red)!important}
.customer-quick-analysis{--demand-one-line-color:var(--quick-line-purple)}
.customer-quick-analysis .demand-one-shared-layout .customer-line-point{border-color:var(--quick-line-purple)!important}
.customer-quick-analysis .demand-one-shared-layout .customer-axis.right{color:var(--quick-line-purple)!important}
.customer-quick-analysis .demand-one-shared-layout .customer-axis .customer-axis-unit{top:50%!important;padding:0!important;background:transparent!important;line-height:1!important;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);letter-spacing:0}
.customer-quick-analysis .demand-one-shared-layout .customer-axis.left .customer-axis-unit{right:auto!important;left:0!important;color:#526079!important}
.customer-quick-analysis .demand-one-shared-layout .customer-axis.right .customer-axis-unit{right:0!important;left:auto!important;color:var(--quick-line-purple)!important}

.customer-quick-analysis .model-sales-comparison-plot .quick-axis-title-left,.customer-quick-analysis .quick-shortage-result-chart .quick-axis-title{writing-mode:vertical-rl;text-orientation:mixed}
.customer-quick-analysis .model-sales-comparison-plot .quick-axis-title-left,.customer-quick-analysis .quick-shortage-result-chart .quick-axis-title-left,.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-axis-title{transform:none!important}
.customer-quick-analysis .quick-shortage-card .quick-shortage-result-legend button:not(.is-hidden):first-child{color:#2d855a!important}
.customer-quick-analysis .quick-shortage-card .quick-shortage-result-legend button:not(.is-hidden):last-child{color:#d92d20!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-result-bar.is-surplus{fill:var(--quick-profit-green)!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-result-bar.is-shortage{fill:var(--quick-sales-red)!important}
.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-value.is-shortage,.customer-quick-analysis .quick-shortage-result-chart .quick-shortage-axis-title{fill:#d92d20!important}
.customer-quick-analysis .quick-shortage-result-chart :is(.quick-zero-line,.is-zero-grid){stroke:var(--quick-axis)!important}
.customer-quick-analysis .inventory-horizontal-bar{background:#5fb3f9!important}
.customer-quick-analysis .inventory-horizontal-bar:is(:hover,:focus-visible){background:#3f9fe8!important}
.customer-quick-analysis .quick-chart-legend i.brand-model-inventory{background:#5fb3f9!important}

.customer-quick-analysis .profit-record-scale .customer-scale-row .right{display:none}
.customer-quick-analysis .profit-record-scale .customer-scale-row>i::after{display:none}
.customer-quick-analysis .profit-record-layout:has(.profit-record-scale) .profit-record-axis>span,.customer-quick-analysis .profit-record-layout:has(.profit-record-scale) .profit-record-chart>svg .quick-grid-line{visibility:hidden}
.customer-quick-analysis .profit-record-layout .profit-record-axis .customer-axis-unit{top:50%!important;right:auto!important;left:0!important;padding:0!important;background:transparent!important;color:#526079!important;line-height:1!important;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;transform:translateY(-50%);letter-spacing:0}
.customer-quick-analysis .profit-record-chart :is(.customer-x-axis,.customer-y-axis),.customer-quick-analysis .profit-record-chart .customer-y-axis.left{background:var(--quick-axis)!important}
.customer-quick-analysis .profit-record-chart .customer-y-axis.left{width:2px!important}

@media(max-width:1200px){.customer-quick-analysis .demand-one-shared-layout .customer-bar{width:18px!important;flex-basis:18px}}
@media(max-width:760px){.customer-quick-analysis .demand-one-shared-layout{min-width:0!important;grid-template-columns:58px minmax(0,1fr) 58px!important;padding-right:0!important}.customer-quick-analysis .demand-one-shared-layout .customer-month>b{white-space:nowrap}.customer-quick-analysis .demand-one-shared-layout .customer-month:nth-child(even)>b{visibility:hidden}}

/* Demand 1 is the reference template and keeps its original five evenly spaced scale rows. */
[data-customer-quick-card] .customer-scale-row{top:calc(var(--scale-index) * 25%)}

/* Each chart owns its geometry while reusing the shared axes, ticks, grids, colors and motion. */
.customer-quick-analysis [data-product-quick-card]>.quick-preset-canvas,.customer-quick-analysis [data-shortage-quick-card]>.quick-preset-canvas{min-height:0}
.quick-product-year-control{box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 12px;border-radius:13px;background:var(--quick-legend-surface,#f8f9fb);color:#66738a;font-size:12px;font-weight:750;box-shadow:var(--quick-legend-shadow,4px 4px 10px rgba(197,201,208,.58),-4px -4px 10px rgba(255,255,255,.96))}.quick-product-year-control span{white-space:nowrap}.quick-product-year-control select{min-width:76px;height:28px;padding:0 25px 0 9px;border:1px solid #d7dfe9;border-radius:8px;background-color:#fff;color:#26344c;font:inherit;cursor:pointer;outline:0}.quick-product-year-control select:is(:hover,:focus){border-color:#9cabc0;box-shadow:0 0 0 3px rgba(63,103,223,.08)}
@media(max-width:760px){.customer-quick-analysis .quick-product-legend{position:static!important;justify-content:flex-start!important;margin:0 0 16px!important;padding-bottom:14px!important}.quick-product-year-control{height:40px}.customer-quick-analysis .quick-product-plot.demand-one-shared-chart{overflow-x:auto!important;overflow-y:hidden!important}.customer-quick-analysis .quick-product-plot .demand-one-shared-layout{min-width:640px!important}}

/* Profit chart keeps its guides visible and reuses the shared time selector. */
.customer-quick-analysis .product-inventory-layout{--quick-chart-kind:product-inventory}
.customer-quick-analysis .inventory-horizontal-rows::before,.customer-quick-analysis .inventory-horizontal-rows::after{display:none!important}
.customer-quick-analysis .inventory-grid-lines{position:absolute;top:-1px;right:var(--inventory-value-space);bottom:-10px;left:0;pointer-events:none}
.customer-quick-analysis .inventory-grid-lines>i{position:absolute;top:0;bottom:0;left:var(--inventory-grid-position);width:1px;background:var(--quick-grid);transform:translateX(-.5px)}
.customer-quick-analysis .inventory-grid-lines>i.is-zero{z-index:5;top:-10px;width:2px;background:var(--quick-axis);transform:translateX(-1px)}
.customer-quick-analysis .inventory-grid-lines>i.is-zero::after{position:absolute;bottom:-1px;left:-3px;border-top:7px solid var(--quick-axis);border-right:4px solid transparent;border-left:4px solid transparent;content:""}

/* Plot-owned ticks: labels and guides share the exact axis boundary at every width. */
.customer-quick-analysis .customer-combo-chart>.quick-plot-scale{inset:10px 0 28px;height:auto}
.customer-quick-analysis .profit-record-chart>.quick-plot-scale{inset:0}
.customer-quick-analysis .quick-plot-scale .customer-scale-row{grid-template-columns:minmax(0,1fr);gap:0}
.customer-quick-analysis .quick-plot-scale .customer-scale-row>span{position:absolute;top:50%;width:max-content;padding:0;transform:translateY(-50%)}
.customer-quick-analysis .quick-plot-scale .customer-scale-row>span.left{right:calc(100% + 12px)}
.customer-quick-analysis .quick-plot-scale .customer-scale-row>span.right{left:calc(100% + 22px)}
.customer-quick-analysis .quick-plot-scale .customer-scale-row>i::before,.customer-quick-analysis .quick-plot-scale .customer-scale-row>i::after{top:50%;transform:translateY(-50%)}

.customer-quick-analysis .profit-record-chart .quick-profit-point.is-product-filtered{display:none!important}

/* Business insight previews: shared shell with chart-specific geometry. */
.business-insight-card{--insight-border:#cfd7e3;--insight-text:#172234;--insight-muted:#667085;contain:layout paint}.business-insight-card .quick-preset-canvas{padding-bottom:22px}.business-insight-card .quick-preset-head{align-items:flex-start}.business-insight-card .quick-preset-head>div:first-child{max-width:720px}.business-insight-card .quick-preset-head p{max-width:690px;line-height:1.6}.business-insight-card .quick-kpis article.is-alert strong{color:#d92d37}.business-insight-card [data-chart-tip]{cursor:pointer}
.brand-composition-card .quick-preset-canvas{min-height:0}.brand-composition-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:36px;align-items:center;width:100%;max-width:1320px;margin:8px auto 12px}.brand-donut-stage{display:grid;place-items:center;min-height:360px}.brand-donut-stage svg{display:block;width:min(100%,360px);overflow:visible}.brand-donut-stage path{stroke:#fff;stroke-width:2;transform-origin:160px 160px;transition:opacity .18s ease,transform .18s ease;outline:none}.brand-donut-stage path:hover,.brand-donut-stage path:focus,.brand-donut-stage path.is-data-highlight{transform:scale(1.025)}.brand-donut-stage path.is-muted{opacity:.16}.brand-donut-stage circle{fill:#fff;stroke:#e3e8ef;stroke-width:1}.brand-donut-stage text{fill:#000;font-size:16px;font-weight:700;letter-spacing:0}.brand-donut-stage .brand-donut-total{fill:#000;font-size:29px;font-weight:800}.brand-composition-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(36px,auto);gap:6px 12px}.brand-composition-legend button{display:grid;grid-template-columns:10px minmax(0,1fr) minmax(64px,max-content) minmax(96px,max-content);align-items:center;gap:10px;min-width:0;min-height:36px;padding:5px 8px;border:1px solid transparent;border-radius:5px;background:#fff;color:var(--insight-text);text-align:left;transition:border-color .16s ease,opacity .16s ease}.brand-composition-legend button:hover,.brand-composition-legend button:focus-visible,.brand-composition-legend button.is-active{border-color:#111827;background:#fff;box-shadow:none;outline:none}.brand-composition-legend i{width:10px;height:10px;border-radius:2px}.brand-composition-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.brand-composition-legend strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.brand-composition-legend em{overflow:hidden;text-align:right;color:#657187;font-style:normal;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.customer-chart-tooltip.is-brand-model-detail{position:absolute;width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:12px 14px;overflow-x:hidden;overflow-y:auto}.customer-chart-tooltip.is-brand-model-detail>strong{color:#172234;font-size:12px}.brand-model-tip-list{display:grid;gap:0;overflow:visible}.brand-model-tip-list>div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;gap:12px;min-height:23px;padding:0 4px;overflow:hidden;border-top:1px solid #edf0f4;color:#526078;font-size:11px;isolation:isolate}.brand-model-tip-list>div:before{position:absolute;inset:2px auto 2px 0;z-index:0;width:var(--brand-model-width,0);background:var(--brand-model-color,#5b8def);content:"";opacity:.16;pointer-events:none}.brand-model-tip-list>div>*{position:relative;z-index:1}.brand-model-tip-list b{overflow:hidden;color:#344054;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.brand-model-tip-list em{color:#657187;font-size:11px;font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}.brand-model-tip-list small{color:#172234;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.brand-loss-strip{max-width:1320px;margin:0 auto;padding:14px 16px;border:1px solid #ead6d9;border-left:3px solid #ef3340;border-radius:5px;background:#fffafb}.brand-loss-strip header{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px}.brand-loss-strip header strong{font-size:13px}.brand-loss-strip header span{color:#7f6670;font-size:12px}.brand-loss-strip>div{display:grid;grid-template-columns:minmax(120px,180px) 1fr 112px;align-items:center;gap:12px;min-height:31px}.brand-loss-strip>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.brand-loss-strip>div>i{height:6px;background:#f4d8dc}.brand-loss-strip>div>i>b{display:block;height:100%;background:#ef3340}.brand-loss-strip>div>strong{text-align:right;color:#c72c39;font-size:12px;font-variant-numeric:tabular-nums}
.brand-composition-controls{display:flex;align-items:center;gap:8px}.brand-year-control{height:40px}.brand-composition-card .brand-composition-controls .brand-composition-metric-switch{margin:0!important}.brand-composition-card .brand-ring-stages{display:grid;gap:8px;justify-items:center}.brand-composition-card .brand-ring-stages .brand-donut-stage,.brand-composition-card .brand-ring-stages .negative-donut-stage{min-height:218px}.brand-composition-card .brand-ring-stages svg{width:min(100%,250px)}.brand-composition-card .negative-donut-stage{display:grid;place-items:center}.brand-composition-card .negative-donut-stage .negative-donut-outline{fill:none;stroke:#ef5e58;stroke-width:6}.brand-composition-card .negative-donut-stage .negative-donut-hole{fill:#fff;stroke:#e3e8ef;stroke-width:1}.brand-composition-card .negative-donut-stage path{stroke:#fff;stroke-width:2}.brand-composition-card .negative-donut-stage text{fill:#000;font-size:16px;font-weight:700}.brand-composition-card .negative-donut-total{fill:#000!important;font-size:25px!important}
.inventory-velocity-plot{max-width:1100px;margin:6px auto 4px;padding:0 8px}.inventory-velocity-plot svg{display:block;width:100%;height:auto;overflow:visible}.velocity-zone{opacity:.075}.velocity-zone.priority{fill:#4fc77b}.velocity-zone.fast{fill:#36a9e1}.velocity-zone.capital{fill:#ef3340}.velocity-zone.quiet{fill:#8492a6}.velocity-median{stroke:#8591a3;stroke-width:1;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.velocity-median-label{fill:#667085;font-size:11px;letter-spacing:0}.velocity-zone-name{fill:#5e6878;font-size:12px;font-weight:700;letter-spacing:0}.velocity-point-group{transition:opacity .18s ease}.velocity-point-group circle{fill:#fff;stroke:#172234;stroke-width:1.7;vector-effect:non-scaling-stroke;transition:r .16s ease,fill .16s ease,opacity .16s ease;outline:none}.velocity-point-group[data-quadrant="重点保障"] circle{fill:#4fc77b}.velocity-point-group[data-quadrant="轻库存快销"] circle{fill:#36a9e1}.velocity-point-group[data-quadrant="资金占用"] circle{fill:#ef3340}.velocity-point-group[data-quadrant="低动销低占用"] circle{fill:#a8b2c1}.velocity-point-group circle:hover,.velocity-point-group circle:focus,.velocity-point-group circle.is-data-highlight{stroke-width:3}.velocity-point-group text{fill:#344054;font-size:10px;font-weight:650;letter-spacing:0;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.velocity-point-group.is-muted{opacity:.1}.velocity-quadrant-legend{max-width:420px;flex-wrap:wrap;justify-content:flex-end}.velocity-quadrant-legend i{border-radius:50%}.velocity-quadrant-legend i.priority{background:#4fc77b}.velocity-quadrant-legend i.fast{background:#36a9e1}.velocity-quadrant-legend i.capital{background:#ef3340}.velocity-quadrant-legend i.quiet{background:#a8b2c1}
.coverage-summary{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:flex-end;color:#667085;font-size:12px}.coverage-summary span{white-space:nowrap}.coverage-summary strong{margin-left:4px;color:#172234;font-size:16px}.coverage-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch;margin-top:18px}.coverage-matrix-scroll{min-width:0;overflow-x:auto;padding-bottom:5px}.coverage-matrix{display:grid;grid-template-columns:var(--coverage-columns);min-width:780px;border-top:1px solid #d9e0e9;border-left:1px solid #d9e0e9;background:#fff}.coverage-corner,.coverage-brand,.coverage-customer,.coverage-cell{min-height:61px;border:0;border-right:1px solid #d9e0e9;border-bottom:1px solid #d9e0e9}.coverage-corner,.coverage-brand{display:grid;place-items:center;padding:7px;color:#475467;font-size:11px;font-weight:700;text-align:center}.coverage-corner{background:#f4f6f9}.coverage-brand{background:#f8f9fb;overflow:hidden}.coverage-customer{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 11px;background:#f8f9fb;overflow:hidden}.coverage-customer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.coverage-customer span{color:#7a8699;font-size:10px;font-variant-numeric:tabular-nums}.coverage-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:rgba(54,169,225,var(--coverage-strength));color:#0e3547;transition:opacity .16s ease,box-shadow .16s ease,transform .16s ease}.coverage-cell:not(.is-empty):hover,.coverage-cell:not(.is-empty):focus-visible,.coverage-cell.is-data-highlight{position:relative;z-index:1;box-shadow:inset 0 0 0 2px #101828;transform:scale(1.02)}.coverage-cell strong{font-size:18px}.coverage-cell span{font-size:10px}.coverage-cell.is-empty{background:#fbfcfd;color:#a3adba}.coverage-cell.is-muted{opacity:.14}
@media(max-width:900px){.brand-composition-layout{grid-template-columns:minmax(0,1fr);gap:8px}.brand-composition-layout>*{min-width:0}.brand-donut-stage{min-width:0;min-height:292px}.brand-donut-stage svg{width:min(100%,292px)}.brand-composition-legend{width:100%;min-width:0}.coverage-layout{grid-template-columns:1fr}.business-insight-card .quick-preset-head{gap:14px}.coverage-summary,.velocity-quadrant-legend{justify-content:flex-start}}
@media(max-width:600px){.brand-composition-legend{grid-template-columns:minmax(0,1fr)}.brand-composition-legend button{grid-template-columns:10px minmax(0,1fr) auto;grid-template-rows:auto auto;min-height:48px;padding:5px}.brand-composition-legend i{grid-row:1/span 2}.brand-composition-legend em{grid-column:2/4;text-align:left;font-size:11px}.customer-chart-tooltip.is-brand-model-detail{width:min(330px,calc(100vw - 24px));padding:10px}.brand-model-tip-list>div{gap:7px;font-size:10px}.brand-model-tip-list b,.brand-model-tip-list em,.brand-model-tip-list small{font-size:10px}.brand-loss-strip>div{grid-template-columns:100px 1fr 88px}.brand-loss-strip header{display:block}.brand-loss-strip header span{display:block;margin-top:4px}.inventory-velocity-plot{overflow-x:auto}.inventory-velocity-plot svg{min-width:760px}.coverage-summary{gap:8px 14px}.coverage-matrix{min-width:700px}}
.velocity-scale text{fill:#667085;font-size:10px;letter-spacing:0}.velocity-scale .quick-grid-line{stroke:#dfe5ec;stroke-width:1;opacity:.82;vector-effect:non-scaling-stroke}.velocity-scale .quick-svg-tick{stroke:#172234;stroke-width:1;vector-effect:non-scaling-stroke}
.customer-quick-analysis .quick-profit-record-card .profit-range-selection{transition:left .36s cubic-bezier(.22,1,.36,1),right .36s cubic-bezier(.22,1,.36,1),opacity .16s ease}

/* Inventory velocity keeps the reference card's two-column legend geometry. */
.inventory-velocity-plot{max-width:1320px;padding:0}
.velocity-point-group text{display:none}
.quick-product-year-control.co-time-control .profit-time-year-field{display:flex!important;position:relative!important;box-sizing:border-box!important;width:var(--time-trigger-width,76px)!important;min-width:76px!important;height:28px!important;min-height:28px!important;align-items:center!important;justify-content:space-between!important;padding:0 10px 0 9px!important;border:1px solid #d7dfe9!important;border-radius:8px!important;background:#fff!important;color:#000!important;box-shadow:none!important;font:inherit!important;font-size:10.5px!important;font-weight:750!important;cursor:pointer;outline:0;transform:none!important}
.quick-product-year-control.co-time-control .profit-time-year-field:is(:hover,:focus-visible){border-color:#9cabc0!important;background:#fff!important;box-shadow:0 0 0 3px rgba(63,103,223,.08)!important;transform:none!important}
:is(.customer-quick-analysis .quick-profit-record-card,.co-time-control) .profit-time-year-field>span{display:block!important;line-height:1;white-space:nowrap}.quick-product-year-control.co-time-control .profit-time-year-field>i{display:block!important;box-sizing:content-box!important;width:7px!important;height:7px!important;flex:none!important;border:0!important;border-right:2px solid #526078!important;border-bottom:2px solid #526078!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:rotate(45deg) translateY(-2px)!important;transition:transform .16s ease!important}:is(.customer-quick-analysis .quick-profit-record-card,.co-time-control) .profit-time-picker.is-open .profit-time-year-field>i{transform:rotate(225deg) translate(-2px,-2px)!important}
body>.profit-time-popover{position:fixed!important;right:auto!important;z-index:10020!important;display:block!important;width:150px!important;max-height:min(340px,calc(100vh - 16px))!important;overflow:hidden!important;border:1px solid #d7dce5!important;border-radius:0!important;background:#fff!important;box-shadow:0 14px 34px rgba(32,48,77,.16)!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(-5px) scale(.985)!important;transform-origin:top right!important;transition:opacity .16s ease,transform .18s cubic-bezier(.22,1,.36,1),visibility 0s linear .18s!important}
body>.profit-time-popover.is-visible{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important;transition-delay:0s!important}
body>.profit-time-popover>header{box-sizing:border-box;height:38px;padding:0 11px;border-bottom:1px solid #edf1f6;background:#fff;color:#6c788c;font-size:11px;font-weight:800}
body>.profit-time-popover>div{display:grid;max-height:min(290px,calc(100vh - 56px));overflow:auto;padding:0!important}
body>.profit-time-popover>div>button{box-sizing:border-box;height:var(--quick-select-option-height,32px)!important;min-height:var(--quick-select-option-height,32px)!important;padding:0 var(--quick-select-option-inline,11px)!important;border:0;border-radius:0!important;background:transparent;color:var(--quick-select-option-color,#344158)!important;font-size:var(--quick-select-option-font-size,12px)!important;font-weight:var(--quick-select-option-font-weight,600)!important;line-height:var(--quick-select-option-height,32px)!important;text-align:left;cursor:pointer}
body>.profit-time-popover>div>button:hover{background:#f0f1f3!important}body>.profit-time-popover>div>button.active{background:var(--quick-select-option-selected,#3f67df)!important;color:#fff!important}
body>.profit-month-layer{transform-origin:top left!important}
@media(prefers-reduced-motion:reduce){body>.profit-time-popover{transition-duration:.01ms!important}}
.quick-product-year-control.co-time-control .profit-time-year-field{width:auto!important;min-width:76px!important;gap:14px;font-size:12px!important}

.customer-quick-analysis .inventory-velocity-plot .velocity-axis-title{writing-mode:vertical-rl;text-orientation:mixed;transform:none!important}
.velocity-zone-name{pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.customer-chart-tooltip.is-explanation{width:min(390px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:16px}
.customer-chart-tooltip.is-explanation span{font-size:12px;line-height:1.8}

.coverage-card>.customer-analysis-heading{gap:20px;justify-content:space-between}.coverage-card>.customer-analysis-heading>.customer-analysis-title-group{flex:1;min-width:0;max-width:60%}
.coverage-card>.customer-analysis-heading>.coverage-summary{position:static;display:flex;flex:none;align-items:center;justify-content:flex-end;margin-left:auto;gap:14px;max-width:100%}.coverage-card .coverage-summary span{display:inline;white-space:nowrap}
.customer-chart-tooltip.is-coverage-detail{position:fixed;width:min(390px,calc(100vw - 24px));min-width:0;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:16px}
.customer-chart-tooltip.is-coverage-detail.is-pinned-detail{pointer-events:auto}.customer-chart-tooltip.is-coverage-detail>span{font-size:12px;line-height:1.7}
.coverage-tip-models{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.coverage-tip-models>span{padding:4px 7px;border:1px solid #dce3eb;border-radius:4px;background:#f8faff;font-size:11px;overflow-wrap:anywhere}
@media(max-width:760px){.coverage-card>.customer-analysis-heading{flex-wrap:wrap}.coverage-card>.customer-analysis-heading>.customer-analysis-title-group{max-width:100%;flex-basis:100%}.coverage-card>.customer-analysis-heading>.coverage-summary{margin-left:0;justify-content:flex-start;flex-wrap:wrap;gap:8px 14px}}

/* Shared control labels remain black in both selected and recessed states. */
.customer-quick-analysis :is(.quick-chart-legend,.customer-combo-legend,.profit-category-legend,.brand-composition-legend,.negative-ring-legend,.quick-product-year-control) :is(button,span,strong,em,select),.customer-quick-analysis .quick-product-year-control{color:#000!important}
.quick-product-year-control.co-time-control{--time-trigger-width:max-content}
.company-brand-section.business-insight-card{contain:layout}

/* Shortage uses the same title band, canvas header, legend and plot rhythm as the other quick-analysis cards. */
.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading{display:flex!important;box-sizing:border-box!important;min-height:72px!important;margin:0!important;padding:10px 0 14px!important;align-items:center!important;gap:18px!important;border:0!important;background:#fff!important}
.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading>.customer-analysis-title-group{flex:1 1 auto;min-width:220px}
.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading>.shortage-dual-switch{flex:none;margin-left:auto}
.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head{box-sizing:border-box;display:flex!important;align-items:center!important;gap:18px!important;min-height:62px!important;margin:0 0 8px!important;padding:0!important;border-bottom:1px solid #edf0f5!important}
.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>div:first-child{flex:1 1 auto;min-width:0}
.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters{position:static!important;display:flex!important;flex:none;align-items:center;justify-content:flex-end;gap:12px;margin:0 0 0 auto!important;width:auto!important;transform:none!important}
.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters label{display:flex;align-items:center;gap:10px;min-width:auto;padding:0;border:0;background:transparent;color:#657188;font-size:12px;font-weight:700}
.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters select{box-sizing:border-box;min-width:168px;height:40px;padding:0 34px 0 14px;border:1px solid #dce4f2;border-radius:12px;background:#fff;color:#17233d;font-size:12px;font-weight:750;outline:0}
.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters select:is(:hover,:focus){border-color:#aebbd0;box-shadow:0 0 0 3px rgba(63,103,223,.08)}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-legend{display:flex!important;align-items:center;gap:4px;margin:0!important}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-legend button{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:#69768d;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-legend button:hover{background:rgba(93,114,147,.08)}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-legend i{display:block;width:11px!important;height:11px!important;border-radius:3px!important;box-shadow:none!important}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-legend i.surplus{background:var(--quick-profit-green)!important}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-legend i.shortage{background:var(--quick-sales-red)!important}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-chart{height:440px!important;min-height:440px!important;margin:0 0 -18px!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;overflow:visible!important}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-chart>svg{display:block;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;overflow:visible}
.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-chart .quick-svg-tick{stroke:var(--quick-axis)!important;stroke-width:2!important;vector-effect:non-scaling-stroke}
.customer-quick-analysis>.quick-shortage-card .shortage-dual-status{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;margin:0 0 12px;padding:8px 13px;border-radius:11px;background:#f6f8fd;color:#6e7d94;font-size:11px}
.customer-quick-analysis>.quick-shortage-card .shortage-dual-status strong{color:#c64943;font-size:11px}
.customer-quick-analysis>.quick-shortage-card .shortage-dual-status>span{margin-left:auto;white-space:nowrap}
.customer-quick-analysis>.quick-shortage-card .shortage-dual-status>.quick-shortage-result-legend{margin-left:6px!important}
.customer-quick-analysis>.quick-shortage-card .shortage-dual-status>.quick-shortage-result-legend button{min-height:26px;padding:0 8px;font-size:11px}
@media(max-width:1000px){.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading{align-items:flex-start!important;flex-wrap:wrap;gap:12px!important}.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading>.customer-analysis-title-group{flex-basis:100%;min-width:0}.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading>.shortage-dual-switch{margin-left:0}.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head{align-items:flex-start!important;flex-wrap:wrap;gap:10px!important;min-height:0!important;padding-bottom:10px!important}.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters{flex:1 1 360px;justify-content:flex-start;margin-left:0!important}.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters label{flex:1}.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters select{width:100%;min-width:0}.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-chart{height:330px!important;min-height:330px!important;margin-bottom:0!important}}
@media(max-width:620px){.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading>.shortage-dual-switch{width:100%}.customer-quick-analysis>.quick-shortage-card>.shortage-unified-heading>.shortage-dual-switch button{flex:1}.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters{display:grid!important;grid-template-columns:1fr!important;flex-basis:100%;gap:8px!important}.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters label{align-items:flex-start;flex-direction:column}.customer-quick-analysis>.quick-shortage-card .shortage-dual-status{align-items:flex-start;flex-wrap:wrap}.customer-quick-analysis>.quick-shortage-card .shortage-dual-status>span{margin-left:0}.customer-quick-analysis>.quick-shortage-card .shortage-dual-status>.quick-shortage-result-legend{width:100%;margin-left:0!important;justify-content:flex-start}.customer-quick-analysis>.quick-shortage-card .quick-shortage-result-chart{height:300px!important;min-height:300px!important}}

/* Unified preset chrome: the outer row carries the dynamic name and optional actions;
   the chart header carries the applicable selector on the left and legend on the right. */
.customer-quick-analysis .quick-preset-heading{display:flex!important;align-items:center!important;gap:16px!important}
.customer-quick-analysis .quick-preset-heading>.quick-preset-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;flex:0 0 auto;flex-wrap:wrap}
.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .quick-chart-legend{position:static!important;margin:0!important;min-height:0!important}
.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .quick-product-year-control{display:flex;align-items:center;gap:8px;margin:0;color:#657188;font-size:12px;font-weight:750}
.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .quick-product-year-control select{min-width:126px;height:40px;padding:0 32px 0 14px;border:1px solid #dce4f2;border-radius:12px;background:#fff;color:#000;font-size:12px;font-weight:750}
.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .profit-time-picker{margin:0}
.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .model-sales-metric-switch,.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .customer-contribution-controls,.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .brand-composition-controls{display:flex;align-items:center;gap:10px;margin:0}
.customer-quick-analysis .quick-preset-heading>.quick-preset-actions .customer-contribution-controls{position:static!important;transform:none!important}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head{display:flex!important;align-items:center!important;gap:16px!important;min-height:62px!important;margin:0 0 8px!important;padding:0 0 10px!important;border-bottom:1px solid #edf1f6!important}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-inner-title{display:none!important}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-preset-filters{order:1;display:flex!important;align-items:center;justify-content:flex-start;gap:12px;margin:0!important;width:auto!important;flex:1 1 auto}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-preset-filters label{display:flex;align-items:center;gap:9px;min-width:auto;padding:0;border:0;background:transparent;color:#657188;font-size:12px;font-weight:750}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-preset-filters select{box-sizing:border-box;min-width:158px;height:40px;padding:0 32px 0 14px;border:1px solid #dce4f2;border-radius:12px;background:#fff;color:#000;font-size:12px;font-weight:750;outline:0}
.customer-quick-analysis>.quick-shortage-card>.quick-preset-canvas>.quick-preset-head>.shortage-dual-filters{order:1!important;flex:1 1 auto!important;justify-content:flex-start!important;margin:0!important}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-unified-legend{order:2;display:flex!important;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 0 auto!important;position:static!important;min-height:0!important;flex:0 1 auto}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-unified-legend button{height:34px!important;min-width:112px!important;width:auto!important;padding:0 10px!important}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.profit-category-legend{order:2;display:flex!important;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;flex-wrap:wrap}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.profit-category-legend button{height:34px!important;min-width:86px!important;width:auto!important;padding:0 8px!important}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.brand-composition-controls{order:2}
.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.brand-composition-controls{display:none!important}
.customer-quick-analysis .quick-preset-canvas>.shortage-dual-status>.quick-unified-legend{display:none!important}
@media(max-width:900px){
  .customer-quick-analysis .quick-preset-heading>.quick-preset-actions{width:100%;justify-content:flex-start;margin-left:0}
  .customer-quick-analysis .quick-preset-canvas>.quick-preset-head{align-items:flex-start!important;flex-wrap:wrap;min-height:0!important;padding-bottom:12px!important}
  .customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-preset-filters{flex-basis:100%;flex-wrap:wrap}
  .customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.quick-unified-legend,.customer-quick-analysis .quick-preset-canvas>.quick-preset-head>.profit-category-legend{margin-left:0!important;justify-content:flex-start}
}

/* Shortage-card cleanup: the inner header border is the single divider.
   Restore the shared legend-card geometry without touching plot placement. */
.customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas::before{
  display:none!important;
  content:none!important;
}

/* Risk warnings use browser-like tabs instead of four tall side-by-side cards. */
.risk-browser-shell{overflow:hidden;border:1px solid #dfe6ef;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(42,57,86,.08)}
.risk-browser-tabs{display:flex;align-items:flex-end;gap:0;overflow-x:auto;overflow-y:hidden;padding:3px 12px 0;background:#eef1f5;border-bottom:0;scrollbar-width:none;-ms-overflow-style:none}
.risk-browser-tabs::-webkit-scrollbar{display:none;width:0;height:0}
.risk-browser-tab{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 1 auto;min-width:142px;max-width:250px;padding:9px 14px 8px;border:0;border-radius:11px 11px 0 0;background:transparent;color:#687890;font:inherit;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease}
.risk-browser-tab+.risk-browser-tab{border-left:1px solid #d9e0e9;border-radius:0}
.risk-browser-tab:hover{color:#2e4f9f;background:#e7ebf1;transform:translateY(-1px)}
.risk-browser-tab.active{position:relative;z-index:1;margin-bottom:-1px;border:0;border-radius:11px 11px 0 0;background:#fff;color:#24344f;box-shadow:0 -3px 12px rgba(53,72,108,.06)}
.risk-browser-tab b{display:grid;min-width:24px;height:24px;place-items:center;border-radius:7px;background:#eef3ff;color:#315eea;font-size:12px}
.risk-browser-tab.active b{background:#e6edff}
.risk-browser-panels{min-height:360px;background:#fff}
.risk-browser-panels>.risk-group{display:block;overflow:visible;border:0;border-radius:0;box-shadow:none;background:#fff}
.risk-browser-panels>.risk-group[hidden]{display:none!important}
.risk-browser-panels .risk-group>header{padding:22px 24px;border-bottom:1px solid #edf1f6;background:#fff}
.risk-browser-panels .risk-group>header h3{display:flex;align-items:center;gap:8px}
.risk-help-trigger{position:relative;z-index:4;display:inline-grid;flex:none;width:18px;height:18px;place-items:center;color:#6d7d95;font-size:11px;font-style:normal;font-weight:800;line-height:1;cursor:help;outline:0}
.risk-help-trigger>span{display:grid;width:16px;height:16px;place-items:center;border:1.5px solid currentColor;border-radius:50%;background:#fff}
.risk-help-trigger>em{position:absolute;top:calc(100% + 9px);left:0;width:min(360px,calc(100vw - 88px));padding:11px 13px;border:1px solid #dce4ef;border-radius:10px;background:#fff;color:#64738b;font-size:11px;font-style:normal;font-weight:600;line-height:1.6;box-shadow:0 12px 28px rgba(39,55,84,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease}
.risk-help-trigger:hover>em,.risk-help-trigger:focus>em,.risk-help-trigger.is-open>em,.risk-help-trigger[aria-expanded="true"]>em{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.risk-help-trigger:hover>span,.risk-help-trigger:focus>span,.risk-help-trigger.is-open>span{color:#315eea;background:#f3f6ff}
.risk-browser-panels .risk-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;padding:14px 18px 20px}
.risk-browser-panels .risk-row{min-width:0;padding:13px 12px}
@media(max-width:760px){.risk-browser-tab{min-width:138px;padding-left:12px;padding-right:12px}.risk-browser-panels .risk-list{grid-template-columns:1fr}}
.customer-quick-analysis>[data-shortage-quick-card] .quick-shortage-result-legend{
  gap:8px!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .quick-shortage-result-legend button{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:108px!important;
  min-width:108px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:13px!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:750!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .quick-shortage-result-legend button:not(.is-hidden){
  background:var(--quick-legend-surface,#f8f9fb)!important;
  color:#000!important;
  box-shadow:var(--quick-legend-shadow,4px 4px 10px rgba(197,201,208,.58),-4px -4px 10px rgba(255,255,255,.96))!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .quick-shortage-result-legend button:not(.is-hidden):hover{
  background:#fff!important;
  transform:translateY(-1px)!important;
}

/* Shortage card uses the same two-band shell and shared controls as model sales.
   Keep the legacy shortage selectors above inert by scoping the final geometry to
   the new component classes emitted by shortageDualMarkup. */
@media(min-width:1001px){
  .customer-quick-analysis>[data-shortage-quick-card]{
    padding-top:18px!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card]>.customer-analysis-heading{
    box-sizing:border-box!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    transform:translateY(-10px)!important;
    border-bottom:1px solid #edf1f6!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card]>.customer-analysis-heading>.customer-analysis-title-group{
    flex:0 1 60%!important;
    min-width:0!important;
    max-width:60%!important;
    align-self:center!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas{
    padding-top:16px!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas>.quick-preset-head{
    box-sizing:border-box!important;
    height:56px!important;
    min-height:56px!important;
    margin:-14px 0 12px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    border-bottom:1px solid #edf1f6!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas>.quick-preset-head>.shortage-filters{
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

.customer-quick-analysis>[data-shortage-quick-card] .shortage-view-switch{
  box-sizing:border-box!important;
  flex:0 0 300px!important;
  width:300px!important;
  min-height:40px!important;
  margin:0 0 0 auto!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .shortage-view-switch .radio .name{
  box-sizing:border-box!important;
  min-height:32px!important;
  padding:7px 10px!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .shortage-filters{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  flex:1 1 auto!important;
  width:auto!important;
  margin:0!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .shortage-filters .customer-floating-select{
  flex:0 0 190px!important;
  width:190px!important;
  min-width:190px!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .quick-shortage-result-legend{
  order:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0 0 0 auto!important;
  position:static!important;
  min-height:0!important;
  flex:0 1 auto!important;
}
.customer-quick-analysis>[data-shortage-quick-card] .quick-shortage-result-legend button{
  box-sizing:border-box!important;
}

@media(max-width:1000px){
  .customer-quick-analysis>[data-shortage-quick-card]>.customer-analysis-heading{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    transform:none!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card]>.customer-analysis-heading>.customer-analysis-title-group{
    flex-basis:100%!important;
    max-width:none!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card] .shortage-view-switch{
    flex-basis:300px!important;
    margin-left:0!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas>.quick-preset-head{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 12px!important;
    padding-bottom:12px!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card] .shortage-filters{
    flex-basis:100%!important;
    flex-wrap:wrap!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card] .quick-shortage-result-legend{
    margin-left:0!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:620px){
  .customer-quick-analysis>[data-shortage-quick-card] .shortage-view-switch{
    width:100%!important;
    flex-basis:100%!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card] .shortage-filters{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  .customer-quick-analysis>[data-shortage-quick-card] .shortage-filters .customer-floating-select{
    width:100%!important;
    min-width:0!important;
    flex-basis:auto!important;
  }
}

/* Model-sales selectors use the same floating-label control as customer annual analysis.
   Brand and model remain separate, aligned controls; model options are rebuilt from the
   selected brand by the existing data binding. */
.customer-quick-analysis .model-sales-separated-filters{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  flex:1 1 auto!important;
  margin:0!important;
  width:auto!important;
}
.customer-quick-analysis .model-sales-separated-filters .customer-floating-select{
  display:block!important;
  box-sizing:border-box!important;
  flex:0 0 190px!important;
  width:190px!important;
  min-width:190px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #dce4f2!important;
  border-radius:9px!important;
  background:#fff!important;
  color:inherit!important;
}
.customer-quick-analysis .model-sales-separated-filters .customer-floating-select>span{
  left:13px!important;
}
.customer-quick-analysis .model-sales-separated-filters .customer-floating-select select{
  min-width:0!important;
  padding:10px 34px 2px 13px!important;
  border:0!important;
  border-radius:inherit!important;
  background:transparent!important;
  color:#1d2a43!important;
  font-size:13px!important;
  font-weight:700!important;
}
.customer-quick-analysis .model-sales-separated-filters .customer-floating-select::after{
  right:13px!important;
}
.customer-quick-analysis .model-sales-separated-filters .customer-floating-select:has(select:disabled){
  cursor:not-allowed;
}
.customer-quick-analysis .model-sales-separated-filters .customer-floating-select:has(select:disabled)::after{
  opacity:.45;
}
.customer-quick-analysis .model-sales-comparison-plot svg{
  height:var(--model-sales-plot-height,520px)!important;
  transition:height .64s cubic-bezier(.22,1,.36,1)!important;
}
/* The shared 440px plot rule above is more specific and otherwise wins over
   the model-sales height variable. Keep the chart's top anchor unchanged while
   allowing its SVG and plot frame to grow downward together. */
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.model-sales-comparison-plot{
  height:var(--model-sales-plot-height,520px)!important;
  min-height:var(--model-sales-plot-height,520px)!important;
  margin-bottom:0!important;
}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.model-sales-comparison-plot>svg{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}
.customer-quick-analysis>.quick-preset-card>.quick-preset-canvas>.model-sales-comparison-plot>.model-sales-customer-key{
  position:relative!important;
  z-index:2;
  margin:-40px auto 0!important;
  justify-content:center!important;
}
.customer-quick-analysis .model-sales-unselected .model-sales-comparison-plot :is(.model-sales-customer-bar,.model-sales-customer-line,.model-sales-month-crosshair,.model-sales-multi-crosshair,.model-sales-axis-values,.model-sales-bar-value,.customer-point-axis-month,.model-sales-month-tooltip),
.customer-quick-analysis .model-sales-unselected .model-sales-customer-key{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.customer-quick-analysis .model-sales-unselected .model-sales-month-hit{
  pointer-events:none!important;
}
.customer-quick-analysis .model-sales-unselected .model-sales-comparison-plot::after{
  position:absolute;
  inset:50% auto auto 50%;
  z-index:4;
  color:#9aa5b5;
  content:"请先选择品牌和型号";
  font-size:14px;
  font-weight:650;
  white-space:nowrap;
  pointer-events:none;
  transform:translate(-50%,-50%);
}
.customer-quick-analysis .quick-shortage-result-chart.is-selection-empty{position:relative!important}
.customer-quick-analysis .quick-shortage-result-chart.is-selection-empty .quick-shortage-selection-prompt{font-weight:650!important}
.customer-quick-analysis .model-sales-height-transition{
  box-sizing:border-box!important;
  transition:height .64s cubic-bezier(.22,1,.36,1)!important;
  will-change:height;
}
@keyframes model-sales-key-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.customer-quick-analysis .model-sales-data-ready.quick-local-card-refresh .model-sales-customer-key{
  animation:model-sales-key-in .46s cubic-bezier(.22,1,.36,1) .28s both;
}
@media(max-width:900px){
  .customer-quick-analysis .model-sales-separated-filters{
    flex:1 1 100%!important;
    flex-wrap:wrap!important;
  }
}

/* Final shortage sizing: expand only the vertical plotting room. */
.customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas{min-height:720px!important}
.customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas>.quick-shortage-result-chart{height:560px!important;min-height:560px!important}
@media(max-width:1000px){
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas{min-height:620px!important}
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas>.quick-shortage-result-chart{height:420px!important;min-height:420px!important}
}
@media(max-width:620px){
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas{min-height:550px!important}
  .customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-canvas>.quick-shortage-result-chart{height:330px!important;min-height:330px!important}
}
@media(max-width:620px){
  .customer-quick-analysis .model-sales-separated-filters{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    flex-basis:100%!important;
  }
  .customer-quick-analysis .model-sales-separated-filters .customer-floating-select{
    width:100%!important;
    min-width:0!important;
    flex-basis:auto!important;
  }
}

/* Model sales reuses the sales-flow card's two-band geometry. */
@media(min-width:1001px){
  .customer-quick-analysis>[data-model-sales-quick-card]{
    padding-top:18px!important;
  }
  .customer-quick-analysis>[data-model-sales-quick-card]>.customer-analysis-heading{
    box-sizing:border-box!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    transform:translateY(-10px)!important;
  }
  .customer-quick-analysis>[data-model-sales-quick-card]>.customer-analysis-heading>.customer-analysis-title-group{
    flex:0 1 60%!important;
    min-width:0!important;
    max-width:60%!important;
    align-self:center!important;
  }
  .customer-quick-analysis>[data-model-sales-quick-card]>.customer-analysis-heading>.customer-analysis-title-group>.chart-analysis-name{
    width:100%!important;
    max-width:none!important;
  }
  .customer-quick-analysis>[data-model-sales-quick-card]>.quick-preset-canvas{
    padding-top:16px!important;
  }
  .customer-quick-analysis>[data-model-sales-quick-card]>.quick-preset-canvas::before{
    display:none!important;
    content:none!important;
  }
  .customer-quick-analysis>[data-model-sales-quick-card]>.quick-preset-canvas>.quick-preset-head{
    box-sizing:border-box!important;
    height:56px!important;
    min-height:56px!important;
    margin:-14px 0 12px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    border-bottom:1px solid #edf1f6!important;
  }
  .customer-quick-analysis>[data-model-sales-quick-card]>.quick-preset-canvas>.quick-preset-head>.model-sales-separated-filters{
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* Brand inventory uses the same two-band geometry as model sales. The
   selector and legend already live in the inner head; these rules only
   align its desktop spacing and divider with the shared reference card. */
@media(min-width:1001px){
  .customer-quick-analysis>[data-brand-inventory-quick-card]{
    padding-top:18px!important;
  }
  .customer-quick-analysis>[data-brand-inventory-quick-card]>.customer-analysis-heading{
    box-sizing:border-box!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    transform:translateY(-10px)!important;
  }
  .customer-quick-analysis>[data-brand-inventory-quick-card]>.customer-analysis-heading>.customer-analysis-title-group{
    flex:0 1 60%!important;
    min-width:0!important;
    max-width:60%!important;
    align-self:center!important;
  }
  .customer-quick-analysis>[data-brand-inventory-quick-card]>.customer-analysis-heading>.customer-analysis-title-group>.chart-analysis-name{
    width:100%!important;
    max-width:none!important;
  }
  .customer-quick-analysis>[data-brand-inventory-quick-card]>.quick-preset-canvas{
    padding-top:16px!important;
  }
  .customer-quick-analysis>[data-brand-inventory-quick-card]>.quick-preset-canvas::before{
    display:none!important;
    content:none!important;
  }
  .customer-quick-analysis>[data-brand-inventory-quick-card]>.quick-preset-canvas>.quick-preset-head{
    box-sizing:border-box!important;
    height:56px!important;
    min-height:56px!important;
    margin:-14px 0 12px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    border-bottom:1px solid #edf1f6!important;
  }
  .customer-quick-analysis>[data-brand-inventory-quick-card]>.quick-preset-canvas>.quick-preset-head>.model-sales-separated-filters{
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* Inventory's single legend uses the same standard legend-card dimensions
   as the shared multi-series legends; only its series color remains specific. */
.customer-quick-analysis>[data-brand-inventory-quick-card] .quick-unified-legend button{
  box-sizing:border-box!important;
  width:128px!important;
  min-width:128px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 12px!important;
  border-radius:13px!important;
}

/* Keep the complete main/companion ring group centered against the legend
   height instead of pinning it to the legend's first row. */
.company-overview-card .co-perspective-brand-panel .brand-composition-layout,
.company-overview-card .co-perspective-customer-panel .co-customer-ring-layout{align-items:center!important}

/* The customer operating chart keeps one editable name; its customer switch occupies the former inner title slot. */
.customer-quick-analysis>[data-customer-quick-card] .customer-analysis-canvas .customer-combo-head>div:first-child>.customer-analysis-actions{display:flex;align-items:center;margin:0}
.customer-quick-analysis .customer-floating-select{position:relative;display:block;box-sizing:border-box;width:190px;height:40px;border:1px solid #dce4f2;border-radius:9px;background:#fff;cursor:pointer;transition:border-color .32s ease,box-shadow .38s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1)}
.customer-quick-analysis .customer-floating-select:hover,.customer-quick-analysis .customer-floating-select:focus-within{border-color:#aebbd0;box-shadow:0 7px 20px rgba(36,52,79,.09)}
.customer-quick-analysis .customer-floating-select>span{position:absolute;z-index:2;top:50%;left:13px;padding:0;background:#fff;color:#657188;font-size:13px;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none;transform:translate3d(0,-50%,0) scale(1);transform-origin:left center;transition:top .48s cubic-bezier(.16,1,.3,1),transform .48s cubic-bezier(.16,1,.3,1),padding .36s ease,color .3s ease}
.customer-quick-analysis .customer-floating-select.has-value>span,.customer-quick-analysis .customer-floating-select:focus-within>span{top:0;padding:0 6px;color:#56637a;transform:translate3d(-1px,-50%,0) scale(.76)}
.customer-quick-analysis .customer-floating-select select{position:absolute;inset:0;box-sizing:border-box;width:100%;height:100%;padding:10px 34px 2px 13px;border:0;border-radius:inherit;appearance:none;background:transparent;color:#1d2a43;font:inherit;font-size:13px;font-weight:700;line-height:1.2;outline:0;opacity:0;cursor:pointer;transition:opacity .28s ease .08s}
.customer-quick-analysis .customer-floating-select.has-value select,.customer-quick-analysis .customer-floating-select:focus-within select{opacity:1}
.customer-quick-analysis .customer-floating-select::after{content:"";position:absolute;z-index:2;top:50%;right:13px;width:6px;height:6px;border-right:2px solid #1d2a43;border-bottom:2px solid #1d2a43;pointer-events:none;transform:translateY(-70%) rotate(45deg);transition:transform .42s cubic-bezier(.16,1,.3,1)}
.customer-quick-analysis .customer-unselected-stage{display:grid;min-height:430px;place-items:center;color:#9aa5b5;font-size:14px;font-weight:650}
.customer-quick-analysis>[data-customer-quick-card] .is-customer-unselected .customer-unselected-note{position:absolute;inset:0;z-index:7;display:grid;place-items:center;margin:0;color:#9aa5b5;font-size:14px;font-weight:650;pointer-events:none}
.customer-quick-analysis>[data-customer-quick-card] .is-customer-unselected .customer-scale-row span{visibility:hidden}
.customer-quick-analysis>[data-customer-quick-card] .is-customer-unselected .customer-hover-hint{visibility:hidden}
.customer-quick-analysis>[data-customer-quick-card] .quick-chart-reveal-pending .customer-bar{clip-path:inset(100% 0 0 0)}
.customer-quick-analysis>[data-customer-quick-card] .quick-chart-reveal-pending .customer-margin-line{clip-path:inset(-12px 100% -12px -12px)}
.customer-quick-analysis>[data-customer-quick-card] .quick-chart-reveal-pending .customer-line-point{opacity:0}
@media(max-width:760px){.customer-quick-analysis>[data-customer-quick-card] .customer-analysis-canvas .customer-combo-head>div:first-child>.customer-analysis-actions{width:100%;align-items:flex-start}.customer-quick-analysis .customer-floating-select{width:min(100%,280px)}}

/* Profit-record card shared header alignment. */
.customer-quick-analysis .quick-profit-record-card .profit-record-year-control::before{content:"时间";color:#657188;font-size:12px;font-weight:750;white-space:nowrap}

/* Customer annual analysis: reuse the sales-flow card's two-band geometry.
   Component visuals stay unchanged; only the card, title row and inner
   selector/legend row share the established spacing and alignment. */
@media(min-width:1001px){
  .customer-quick-analysis>[data-customer-quick-card]{
    padding-top:18px!important;
  }
  .customer-quick-analysis>[data-customer-quick-card]>.customer-analysis-heading{
    box-sizing:border-box!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    transform:translateY(-10px)!important;
  }
  .customer-quick-analysis>[data-customer-quick-card]>.customer-analysis-heading>.customer-analysis-title-group{
    flex:0 1 60%!important;
    min-width:0!important;
    max-width:60%!important;
    align-self:center!important;
  }
  .customer-quick-analysis>[data-customer-quick-card]>.customer-analysis-heading>.customer-analysis-title-group>.chart-analysis-name{
    width:100%!important;
    max-width:none!important;
  }
  .customer-quick-analysis>[data-customer-quick-card]>.customer-analysis-canvas>.customer-combo-wrap{
    padding-top:16px!important;
  }
  .customer-quick-analysis>[data-customer-quick-card] .customer-analysis-canvas .customer-combo-head{
    box-sizing:border-box!important;
    height:56px!important;
    min-height:56px!important;
    margin:-14px 0 12px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
  }
  .customer-quick-analysis>[data-customer-quick-card] .customer-analysis-canvas .customer-combo-head>div:first-child,
  .customer-quick-analysis>[data-customer-quick-card] .customer-analysis-canvas .customer-combo-legend{
    top:50%!important;
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
    transform:translateY(-50%)!important;
  }
  .customer-quick-analysis>[data-customer-quick-card] .customer-analysis-canvas .customer-plot-layout{
    margin-top:44px!important;
  }
  .customer-quick-analysis>[data-customer-quick-card] .customer-scale-row span.right{
    padding-left:2px!important;
  }
  .customer-quick-analysis>[data-customer-quick-card] .customer-scale-row:last-child span.right{
    transform:translateY(-20px)!important;
  }
}

/* Canonical single-profit shell: outer actions hold time and metric controls;
   the inner row holds filters on the left and the five-card legend on the right. */
.customer-quick-analysis .quick-profit-record-card .quick-preset-canvas{display:block!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-filters.model-sales-separated-filters{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;width:auto!important;max-width:none!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-filters.model-sales-separated-filters .customer-floating-select{flex:0 0 190px!important;width:190px!important;min-width:190px!important;height:40px!important;margin:0!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-filters.model-sales-separated-filters .customer-floating-select select{padding:10px 34px 2px 13px!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-filters.model-sales-separated-filters .customer-floating-select select{font-weight:500!important}
.customer-quick-analysis .quick-profit-record-card .quick-preset-heading>.quick-preset-actions>.profit-metric-switch.radio-inputs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;flex:0 0 300px!important;width:300px!important;min-height:40px!important;margin:0!important}
.customer-quick-analysis .quick-profit-record-card .profit-metric-switch.radio-inputs .radio{display:block!important;min-width:0!important;text-align:center!important}
.customer-quick-analysis .quick-profit-record-card .profit-metric-switch.radio-inputs .radio .name{box-sizing:border-box!important;width:100%!important;min-height:32px!important;padding:7px 10px!important;white-space:nowrap!important;font-size:12px!important}
.customer-quick-analysis .quick-profit-record-card .profit-metric-switch.radio-inputs .radio input:checked+.name{background:#fff!important;font-weight:600!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}
.customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-preset-head>.profit-category-legend.quick-unified-legend{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 0 auto!important;flex-wrap:nowrap!important;margin:0 0 0 auto!important;padding:0!important}
.customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-preset-head>.profit-category-legend.quick-unified-legend button{box-sizing:border-box!important;width:auto!important;min-width:112px!important;height:34px!important;min-height:34px!important;padding:0 10px!important;border-radius:13px!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-year-control.co-time-control{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;gap:8px!important;height:40px!important;margin:0!important;padding:0 10px 0 12px!important;border:0!important;border-radius:13px!important;background:var(--quick-legend-surface,#f8f9fb)!important;color:#000!important;font-size:12px!important;font-weight:750!important;box-shadow:var(--quick-legend-shadow,4px 4px 10px rgba(197,201,208,.58),-4px -4px 10px rgba(255,255,255,.96))!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-year-control.co-time-control .profit-time-picker{position:relative!important;width:76px!important;margin:0!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-year-control.co-time-control .profit-time-year-field{display:flex!important;position:relative!important;box-sizing:border-box!important;width:76px!important;min-width:76px!important;height:28px!important;min-height:28px!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:0 10px 0 9px!important;border:1px solid #d7dfe9!important;border-radius:8px!important;background:#fff!important;color:#000!important;box-shadow:none!important;font:inherit!important;font-size:12px!important;font-weight:750!important;cursor:pointer!important;outline:0!important;transform:none!important}
@media(min-width:1001px){
  .customer-quick-analysis>[data-profit-record-quick-card]{padding-top:18px!important}
  .customer-quick-analysis>[data-profit-record-quick-card]>.customer-analysis-heading{box-sizing:border-box!important;height:64px!important;min-height:64px!important;margin:0!important;padding:0!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:16px!important;transform:translateY(-10px)!important}
  .customer-quick-analysis>[data-profit-record-quick-card]>.customer-analysis-heading>.customer-analysis-title-group{flex:0 1 60%!important;min-width:0!important;max-width:60%!important;align-self:center!important}
  .customer-quick-analysis>[data-profit-record-quick-card]>.customer-analysis-heading>.customer-analysis-title-group>.chart-analysis-name{width:100%!important;max-width:none!important}
  .customer-quick-analysis>[data-profit-record-quick-card]>.quick-preset-canvas{padding-top:16px!important;padding-right:36px!important;padding-left:36px!important}
  .customer-quick-analysis>[data-profit-record-quick-card]>.quick-preset-canvas::before{display:none!important;content:none!important}
  .customer-quick-analysis>[data-profit-record-quick-card]>.quick-preset-canvas>.quick-preset-head{box-sizing:border-box!important;height:56px!important;min-height:56px!important;margin:-14px 0 12px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:16px!important;border-bottom:1px solid #edf1f6!important}
}
@media(max-width:1180px){
  .customer-quick-analysis>[data-profit-record-quick-card]>.quick-preset-canvas>.quick-preset-head{height:auto!important;min-height:56px!important;align-items:flex-start!important;flex-wrap:wrap!important;padding-bottom:12px!important}
  .customer-quick-analysis .quick-profit-record-card .profit-record-filters.model-sales-separated-filters{flex-basis:100%!important;flex-wrap:wrap!important}
  .customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-preset-head>.profit-category-legend.quick-unified-legend{justify-content:flex-start!important;margin-left:0!important}
}
@media(max-width:1000px){
  .customer-quick-analysis .quick-profit-record-card .quick-preset-heading>.quick-preset-actions{width:100%!important;justify-content:flex-start!important;margin-left:0!important}
}
@media(max-width:760px){
  .customer-quick-analysis .quick-profit-record-card .profit-record-filters.model-sales-separated-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .customer-quick-analysis .quick-profit-record-card .profit-record-filters.model-sales-separated-filters .customer-floating-select{width:100%!important;min-width:0!important;flex:none!important}
  .customer-quick-analysis .quick-profit-record-card .quick-preset-heading>.quick-preset-actions>.profit-metric-switch.radio-inputs{flex:1 1 300px!important;width:min(300px,100%)!important}
  .customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-preset-head>.profit-category-legend.quick-unified-legend{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-preset-head>.profit-category-legend.quick-unified-legend button{width:100%!important;min-width:0!important}
}

/* Final profit-card geometry guard.  The card must keep one stable plot
   height while a brand/model scope changes; the old viewport-relative rules made the
   plot grow disproportionately on wide screens and exposed a large blank
   region after filtering. */
.customer-quick-analysis .quick-profit-record-card{--profit-plot-height:clamp(420px,30vw,560px)!important}
.customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-profit-scatter{min-height:calc(var(--profit-plot-height) + 84px)!important}
.customer-quick-analysis .quick-profit-record-card .quick-preset-canvas>.quick-profit-scatter svg{min-height:var(--profit-plot-height)!important;height:var(--profit-plot-height)!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-layout{min-height:var(--profit-plot-height)!important}
.customer-quick-analysis .quick-profit-record-card .profit-record-layout .profit-record-axis,
.customer-quick-analysis .quick-profit-record-card .profit-record-chart{height:var(--profit-plot-height)!important}
@media(max-width:1180px){
  .customer-quick-analysis .quick-profit-record-card{--profit-plot-height:clamp(380px,42vw,500px)!important}
}
@media(max-width:760px){
  .customer-quick-analysis .quick-profit-record-card{--profit-plot-height:clamp(320px,72vw,430px)!important}
}

/* The legacy customer chart adds a 720px minimum below 850px.  The profit
   card has its own responsive axis/grid, so that minimum only clips the plot
   and creates horizontal overflow after a filter refresh. */
@media(max-width:850px){
  .customer-quick-analysis .quick-profit-record-card .profit-record-layout{
    width:100%!important;
    min-width:0!important;
  }
}

/* Final velocity-card correction: the generic preset template used an
   absolute legend plus a canvas pseudo-divider.  Those legacy rules have
   higher specificity than the first velocity override, so neutralize them
   at the card level and keep the reference legend as one horizontal row. */
.customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas::before{
  display:none!important;
  content:none!important;
}
.customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas>.velocity-head{
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  height:56px!important;
  min-height:56px!important;
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid #edf1f6!important;
}
.customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas>.velocity-head>div:first-child{
  position:static!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  transform:none!important;
}
.customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas>.velocity-head>.velocity-quadrant-legend{
  box-sizing:border-box!important;
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  max-width:100%!important;
  gap:8px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  transform:none!important;
  top:auto!important;
  right:auto!important;
}
.customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas>.velocity-head>.velocity-quadrant-legend button{
  box-sizing:border-box!important;
  flex:0 0 108px!important;
  width:108px!important;
  min-width:108px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 10px!important;
  font-size:11px!important;
  white-space:nowrap!important;
  border-radius:var(--quick-legend-radius,13px)!important;
  background:var(--quick-legend-surface,#f8f9fb)!important;
  box-shadow:var(--quick-legend-shadow,4px 4px 10px rgba(197,201,208,.58),-4px -4px 10px rgba(255,255,255,.96))!important;
}
.customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas>.velocity-head>.velocity-quadrant-legend i{
  flex:0 0 11px!important;
  width:11px!important;
  height:11px!important;
  border-radius:3px!important;
}
@media(max-width:900px){
  .customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas>.velocity-head{
    height:auto!important;
    min-height:56px!important;
  }
  .customer-quick-analysis>.inventory-velocity-card>.quick-preset-canvas>.velocity-head>.velocity-quadrant-legend{
    max-width:100%!important;
    overflow-x:auto!important;
  }
}

/* Coverage keeps a compact Top-N overview and exposes the complete relation set on demand. */
.coverage-card .coverage-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 1 auto;min-width:0;margin-left:auto}
.coverage-card .coverage-controls .customer-floating-select{width:170px;min-width:170px;height:40px}
.coverage-card .coverage-all-button{top:0!important;flex:none!important;width:118px!important;min-width:118px!important;height:40px!important;min-height:40px!important;margin:0!important}
.coverage-card .coverage-filter-clear{flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;border-radius:50%!important}
.coverage-card .coverage-matrix{min-width:0}
.coverage-card .coverage-matrix-all{min-width:0}
.coverage-all-modal{position:fixed;inset:0;z-index:1400;display:grid;box-sizing:border-box;place-items:center;padding:clamp(16px,3vw,44px);opacity:0;pointer-events:none;transition:opacity .28s ease}
.coverage-all-modal[hidden]{display:none}
.coverage-all-modal.is-open{opacity:1;pointer-events:auto}
.coverage-modal-backdrop{position:absolute;inset:0;background:rgba(18,28,43,.24);backdrop-filter:blur(5px)}
.coverage-modal-dialog{position:relative;z-index:1;display:flex;box-sizing:border-box;width:min(1500px,100%);height:min(860px,calc(100vh - 32px));max-height:100%;min-width:0;flex-direction:column;overflow:hidden;padding:20px 22px 22px;border:1px solid rgba(255,255,255,.78);border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(21,34,57,.28);transform:translateY(18px) scale(.98);transition:transform .34s cubic-bezier(.16,1,.3,1)}
.coverage-all-modal.is-open .coverage-modal-dialog{transform:none}
.coverage-modal-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 0 15px;border-bottom:1px solid #edf1f6}
.coverage-modal-dialog header small{color:#6a7890;font-size:11px;font-weight:750}
.coverage-modal-dialog header h4{margin:4px 0 3px;color:#172234;font-size:20px}
.coverage-modal-dialog header p{margin:0;color:#657187;font-size:12px}
.coverage-modal-close{display:inline-flex;flex:none;width:38px;height:38px;align-items:center;justify-content:center;padding:0;border:1px solid #d9e0ea;border-radius:50%;background:#f8fafc;color:#26364d;font-size:23px;font-weight:300;line-height:1;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background .2s ease}
.coverage-modal-close:hover,.coverage-modal-close:focus-visible{background:#fff;box-shadow:0 8px 18px rgba(28,43,66,.18);transform:translateY(-1px) scale(1.03);outline:none}
.coverage-modal-body{display:flex;min-height:0;flex:1;overflow:hidden;padding-top:14px}
.coverage-modal-body .coverage-matrix-scroll{width:100%;height:100%;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0}
.coverage-modal-body .coverage-matrix-all{width:max-content;min-width:100%;grid-template-columns:var(--coverage-columns);background:#fff}
.coverage-modal-body .coverage-matrix-all :is(.coverage-corner,.coverage-brand,.coverage-customer,.coverage-cell){box-sizing:border-box;min-height:46px}
.coverage-modal-body .coverage-matrix-all :is(.coverage-corner,.coverage-brand){position:sticky;top:0;z-index:3;padding:5px;font-size:10px;background:#f5f7fa}
.coverage-modal-body .coverage-matrix-all :is(.coverage-corner,.coverage-customer){position:sticky;left:0;z-index:2;background:#f7f9fb}
.coverage-modal-body .coverage-matrix-all .coverage-corner{z-index:5;background:#eef2f6}
.coverage-modal-body .coverage-matrix-all .coverage-customer{gap:2px;padding:5px 8px}
.coverage-modal-body .coverage-matrix-all .coverage-customer strong{font-size:11px}
.coverage-modal-body .coverage-matrix-all .coverage-customer span{font-size:9px}
.coverage-modal-body .coverage-matrix-all .coverage-cell{gap:0;padding:3px}
.coverage-modal-body .coverage-matrix-all .coverage-cell strong{font-size:15px}
.coverage-modal-body .coverage-matrix-all .coverage-cell span{font-size:9px}
@media(max-width:1000px){.coverage-card .coverage-controls{width:100%;justify-content:flex-start;flex-wrap:wrap;margin-left:0}.coverage-card .coverage-controls .customer-floating-select{flex:1 1 180px;width:auto;min-width:0}.coverage-card .coverage-all-button{flex:0 0 auto}}
@media(max-width:760px){.coverage-all-modal{padding:10px}.coverage-modal-dialog{height:calc(100vh - 20px);padding:16px 12px}.coverage-modal-dialog header h4{font-size:17px}.coverage-modal-dialog header p{line-height:1.5}}

/* Coverage reuses the same two-band card rhythm as the finished quick-analysis cards. */
@media(min-width:1001px){
  .customer-quick-analysis>[data-coverage-card]{padding-top:18px!important}
  .customer-quick-analysis>[data-coverage-card]>.customer-analysis-heading{
    box-sizing:border-box!important;height:64px!important;min-height:64px!important;margin:0!important;padding:0!important;
    align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:16px!important;
    transform:translateY(-10px)!important;border:0!important
  }
  .customer-quick-analysis>[data-coverage-card]>.customer-analysis-heading>.customer-analysis-title-group{
    flex:0 1 60%!important;min-width:0!important;max-width:60%!important;align-self:center!important
  }
  .customer-quick-analysis>[data-coverage-card]>.customer-analysis-heading>.customer-analysis-title-group>.chart-analysis-name{width:100%!important;max-width:none!important}
  .customer-quick-analysis>[data-coverage-card]>.quick-preset-canvas{padding-top:16px!important}
  .customer-quick-analysis>[data-coverage-card]>.quick-preset-canvas::before{display:none!important;content:none!important}
  .customer-quick-analysis>[data-coverage-card]>.quick-preset-canvas>.quick-preset-head{
    box-sizing:border-box!important;height:56px!important;min-height:56px!important;margin:-14px 0 12px!important;padding:0!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:16px!important;
    border-bottom:1px solid #edf1f6!important
  }
  .customer-quick-analysis>[data-coverage-card]>.quick-preset-canvas>.quick-preset-head>.coverage-controls{align-self:center!important;justify-content:flex-start!important;margin:0!important}
}
.customer-quick-analysis>[data-coverage-card] .coverage-controls{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex:1 1 auto!important;
  min-width:0!important;margin:0!important;width:auto!important
}
.customer-quick-analysis>[data-coverage-card] .coverage-controls .customer-floating-select{
  flex:0 0 190px!important;width:190px!important;min-width:190px!important;height:40px!important;min-height:40px!important
}
.customer-quick-analysis>[data-coverage-card] .coverage-filter-clear{
  flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;border-radius:50%!important
}
.customer-quick-analysis>[data-coverage-card] .coverage-all-button{
  top:0!important;flex:0 0 118px!important;width:118px!important;min-width:118px!important;height:40px!important;min-height:40px!important;margin:0!important;white-space:nowrap!important
}
@media(max-width:1000px){
  .customer-quick-analysis>[data-coverage-card]>.customer-analysis-heading{align-items:flex-start!important;flex-wrap:wrap!important;gap:12px!important;transform:none!important}
  .customer-quick-analysis>[data-coverage-card]>.customer-analysis-heading>.customer-analysis-title-group{flex-basis:100%!important;max-width:none!important}
  .customer-quick-analysis>[data-coverage-card]>.quick-preset-canvas>.quick-preset-head{align-items:flex-start!important;flex-wrap:wrap!important;height:auto!important;min-height:0!important;margin:0 0 12px!important;padding-bottom:12px!important}
  .customer-quick-analysis>[data-coverage-card] .coverage-controls{flex-basis:100%!important;flex-wrap:wrap!important}
  .customer-quick-analysis>[data-coverage-card] .coverage-controls .customer-floating-select{flex:1 1 190px!important;width:auto!important;min-width:0!important}
}
@media(max-width:620px){
  .customer-quick-analysis>[data-coverage-card] .coverage-controls{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .customer-quick-analysis>[data-coverage-card] .coverage-controls .customer-floating-select{width:100%!important;min-width:0!important}
  .customer-quick-analysis>[data-coverage-card] .coverage-filter-clear,.customer-quick-analysis>[data-coverage-card] .coverage-all-button{width:100%!important}
}

/* Shortage card: remove the obsolete outer divider; keep the unified inner divider intact. */
.customer-quick-analysis>[data-shortage-quick-card]>.quick-preset-heading{
  border-bottom:0!important;
  box-shadow:none!important;
}
.risk-open-chart{width:120px;height:40px;flex:none;border:0;border-radius:30px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0;color:#fff;font:inherit;font-size:11px;font-weight:600;background:linear-gradient(to right,#8be3fc,#576bff);box-shadow:0 20px 30px -7px rgba(97,118,238,.5);transition:all .3s ease-in-out;cursor:pointer}.risk-open-chart svg{width:1em;height:1em;fill:currentColor}.risk-open-chart:hover{box-shadow:none;transform:translateY(2.2px)}.risk-open-chart:active{transform:scale(.96) translateY(3.2px)}.risk-open-target{animation:riskOpenTargetPulse 1.5s ease both}@keyframes riskOpenTargetPulse{0%,100%{box-shadow:inherit}35%{box-shadow:0 0 0 4px rgba(87,107,255,.2),0 18px 38px rgba(87,107,255,.16)}}
.risk-chart-overlay{position:fixed;inset:0;z-index:500;display:grid;padding:clamp(18px,4vw,64px);place-items:center;visibility:hidden;opacity:0;transition:opacity .24s ease,visibility .24s ease}.risk-chart-overlay.is-open{visibility:visible;opacity:1}.risk-chart-overlay-backdrop{position:absolute;inset:0;background:rgba(43,52,68,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.risk-chart-overlay-panel{position:relative;z-index:1;display:flex;width:min(1440px,100%);max-height:min(92vh,980px);flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 28px 90px rgba(36,48,72,.24);transform:translateY(18px) scale(.985);transition:transform .34s cubic-bezier(.22,1,.36,1)}.risk-chart-overlay.is-open .risk-chart-overlay-panel{transform:none}.risk-chart-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 28px 18px;border-bottom:1px solid #edf1f6;background:rgba(255,255,255,.9)}.risk-chart-overlay-head small{display:block;margin-bottom:5px;color:#8793a6;font-size:10px;font-weight:700}.risk-chart-overlay-head strong{color:#26344b;font-size:16px}.risk-chart-overlay-close{display:grid;width:42px;height:42px;flex:none;place-items:center;border:1px solid #dce4ef;border-radius:50%;background:#f8fbff;color:#53647c;font-size:29px;font-weight:300;line-height:1;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.risk-chart-overlay-close:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 8px 18px rgba(75,96,133,.18)}.risk-chart-overlay-content{min-height:0;overflow:auto;padding:20px 24px 28px}.risk-chart-overlay-content>.customer-quick-card{margin:0!important;border:0!important;box-shadow:none!important}.risk-chart-overlay-content .dashboard-card-selection-control,.risk-chart-overlay-content .quick-preset-heading>.quick-preset-actions{display:none}@media(max-width:760px){.risk-chart-overlay{padding:10px}.risk-chart-overlay-panel{max-height:96vh;border-radius:20px}.risk-chart-overlay-head{padding:16px 18px}.risk-chart-overlay-content{padding:12px}.risk-chart-overlay-head strong{font-size:13px}.risk-chart-overlay-close{width:36px;height:36px;font-size:25px}}
.risk-chart-overlay-content>.customer-quick-analysis{display:block;width:100%;min-width:0;padding:0}.risk-chart-overlay-content>.customer-quick-analysis>.customer-quick-card{width:100%;max-width:100%;margin:0!important}.risk-chart-overlay-content>.customer-quick-analysis .quick-preset-card{width:100%;max-width:100%}
body.risk-overlay-open{overflow:hidden!important}.risk-chart-overlay{overflow:hidden}.risk-chart-overlay-content{overflow:hidden!important}.risk-chart-overlay-content>.customer-quick-analysis{box-sizing:border-box}.risk-chart-overlay-content .inventory-horizontal-scroll{max-height:none!important;overflow:visible!important}

/* Searchable customer / brand / model selects. The enhanced input occupies
   the exact native-select surface; its option layer is removed from layout. */
.quick-live-select{position:relative}
.customer-quick-analysis .customer-floating-select.quick-live-select{overflow:visible}
.customer-quick-analysis .customer-floating-select.quick-live-select>select{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.customer-quick-analysis .customer-floating-select.quick-live-select>.quick-live-select-input{position:absolute;inset:0;z-index:1;box-sizing:border-box;width:100%;height:100%;min-width:0;padding:10px 34px 2px 13px;border:0;border-radius:inherit;appearance:none;background:transparent;color:#1d2a43;font:inherit;font-size:13px;font-weight:700;line-height:1.2;outline:0;opacity:0;cursor:text;transition:opacity .28s ease .08s}
.customer-quick-analysis .customer-floating-select.quick-live-select.has-value>.quick-live-select-input,.customer-quick-analysis .customer-floating-select.quick-live-select:focus-within>.quick-live-select-input{opacity:1}
.customer-quick-analysis .customer-floating-select.quick-live-select.is-open::after{transform:translateY(-30%) rotate(225deg)}
.quick-live-select>.quick-live-select-input::-webkit-search-cancel-button{display:none}
.quick-live-select.is-disabled{cursor:not-allowed;opacity:.55}
.quick-live-select.is-disabled>.quick-live-select-input{cursor:not-allowed}
.quick-live-select-options{position:fixed!important;z-index:10000!important;top:0;left:0;box-sizing:border-box;width:max(100%,220px);max-height:264px;overflow:auto;padding:6px;border:1px solid rgba(210,220,234,.94);border-radius:10px;background:#fff;box-shadow:0 18px 42px rgba(38,54,81,.16),0 3px 10px rgba(38,54,81,.08);overscroll-behavior:contain;scrollbar-width:none;transform-origin:top center;animation:quickLiveSelectOpen .24s cubic-bezier(.16,1,.3,1) both}
.quick-live-select-options::-webkit-scrollbar{display:none}
.quick-live-select-options[hidden]{display:none}
.quick-live-select-options button{display:flex;width:100%;min-height:34px;align-items:center;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:#35445c;font:inherit;font-size:12px;font-weight:650;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .24s cubic-bezier(.16,1,.3,1)}
.quick-live-select-options button:hover,.quick-live-select-options button.is-active{background:#f0f4fa;color:#17243a;transform:translateX(2px)}
.quick-live-select-options button[aria-selected="true"]{background:#e8eef8;color:#17243a;font-weight:780}
.quick-live-select-empty{display:block;padding:12px 10px;color:#8995a8;font-size:12px;font-weight:650;text-align:center}
.quick-live-select:not(.customer-floating-select)>select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.quick-live-select:not(.customer-floating-select)>.quick-live-select-input{box-sizing:border-box;min-width:170px;height:38px;padding:0 32px 0 11px;border:1px solid #dce4f2;border-radius:9px;background:#fff;color:#1d2a43;font:inherit;font-size:12px;font-weight:700;outline:0;transition:border-color .3s ease,box-shadow .36s cubic-bezier(.16,1,.3,1)}
.quick-live-select:not(.customer-floating-select)>.quick-live-select-input:focus{border-color:#aebbd0;box-shadow:0 7px 20px rgba(36,52,79,.09)}
@keyframes quickLiveSelectOpen{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.quick-live-select-options{animation:none}.quick-live-select-options button{transition:none}}
