/* Layout and chart presentation only. Palette/type tokens are owned by tokens.css. */
.insights-page{display:grid;gap:var(--space-6);min-width:0}
.insights-page>.page-heading{margin-bottom:0}
.insight-dashboard-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);gap:var(--space-5);align-items:start}
.insight-page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0}
.insight-page-toolbar>p{margin:0;color:var(--color-text-secondary);font-size:var(--font-sm);line-height:1.5}
.insight-page-toolbar form{flex-shrink:0}
.insights-page .ui-kpi-content strong{white-space:pre-line;overflow-wrap:normal;word-break:normal;font-size:clamp(20px,1.65vw,30px);line-height:1.25}
.insights-page .ui-kpi-grid{margin-bottom:0}
.insights-dashboard .ui-card-heading{margin-bottom:var(--space-3)}
.insight-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);align-items:start}
.insight-analysis-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:var(--space-5);align-items:start}
.insights-page .ui-card{min-width:0}
.insights-page .ui-card-heading{gap:var(--space-3);align-items:flex-start}
.insights-page .ui-card-heading h2{line-height:1.3;text-wrap:balance}
.insights-page .ui-card-heading>div{min-width:0}
.insights-page .ui-card-heading p{line-height:1.5}
.insights-page .ui-card-heading form{flex-shrink:0;max-width:42%}
.insights-page .ui-card-heading .ui-filter{font-size:var(--font-xs)}
.insights-page .ui-card-heading select{width:100%;min-width:0}
.insight-text-link,.insight-table-action{display:inline-flex;gap:var(--space-1);align-items:center;color:var(--color-green);font-weight:500;white-space:nowrap}
.insight-text-link{font-size:var(--font-sm)}
.insight-text-link .ui-icon,.insight-table-action .ui-icon{width:16px;height:16px}
.insight-table-empty{padding:var(--space-7)!important;text-align:center;color:var(--color-text-secondary);white-space:normal!important}
.insights-page .ui-table-wrap td small{display:block;color:var(--color-text-secondary);font-size:var(--font-xs);margin-top:var(--space-1);white-space:normal}
.insights-page .ui-table-wrap td.numeric{font-variant-numeric:tabular-nums}
.insights-page .ui-product-cell{min-width:200px;max-width:400px}
.insights-page .ui-table-wrap{max-width:100%}
.insight-filters{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:end}
.insight-inline-error{flex-basis:100%;margin:0;padding:var(--space-3);color:var(--color-danger-text);background:var(--color-danger-bg);border-radius:var(--radius-input);font-size:var(--font-sm)}
.insight-filters>.ui-filter{flex:1 1 160px;min-width:0}
.insight-filters select,.insight-filters input{max-width:100%;min-width:0}
.insight-filters .ui-date-range{display:flex;gap:var(--space-3);flex:1 1 280px;min-width:0}
.insight-filters .ui-date-range>label{min-width:0;flex:1}
.insight-filters .ui-date-range input{width:100%}
.insight-year-picker{position:relative;flex:1 1 220px;min-width:0}
.insight-year-picker>summary{cursor:pointer;min-height:var(--size-control);padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-input);color:var(--color-text)}
.insight-year-picker fieldset{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-2));left:0;width:260px;max-width:80vw;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);box-shadow:var(--shadow-menu);display:grid;gap:var(--space-2)}
.insight-year-picker fieldset label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm)}
.insight-year-picker fieldset input{width:auto;min-height:0}
.insight-year-picker legend{font-size:var(--font-xs);color:var(--color-text-secondary);background:var(--color-surface)}
.insight-forecast-picker{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:var(--space-2);margin-bottom:var(--space-3)}
.insight-forecast-picker .ui-filter{min-width:0;font-size:var(--font-xs)}
.insight-forecast-picker select{width:100%;min-width:0;text-overflow:ellipsis}
.insight-method{font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.6}
.insight-method>summary{cursor:pointer;color:var(--color-text-secondary);padding:var(--space-2) 0;font-weight:500}
.insight-method ul{padding-left:var(--space-5);margin:var(--space-2) 0}
.insight-method li+li{margin-top:var(--space-2)}
.insight-chart{position:relative;min-width:0;color:var(--color-text);font-variant-numeric:tabular-nums}
.insight-chart-unit{font-size:var(--font-xs);line-height:1.5;color:var(--color-text-secondary);margin:var(--space-2) 0}
.insight-svg{display:block;width:100%;height:auto;overflow:visible}
.insight-axis{fill:var(--color-text-secondary);font-size:12px;font-variant-numeric:tabular-nums}
.insight-gridline{stroke:var(--color-border);stroke-width:1;stroke-dasharray:3 4}
.insight-line{fill:none;stroke:var(--color-chart-green);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.insight-point{fill:var(--color-surface);stroke:var(--color-chart-green);stroke-width:2;vector-effect:non-scaling-stroke}
.insight-point-hit,.insight-bar-hit{fill:transparent;stroke:transparent;cursor:help}
.insight-point-hit:focus-visible,.insight-bar-hit:focus-visible{outline:none;stroke:var(--color-green);stroke-width:2;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}
.insight-series-1{stroke:var(--color-green-hover);stroke-dasharray:6 4}
.insight-series-2{stroke:var(--color-chart-light);stroke-dasharray:2 3}
.insight-series-3{stroke:var(--color-green);stroke-dasharray:10 3 2 3}
.insight-series-4{stroke:var(--color-text-secondary);stroke-dasharray:3 3}
.insight-series-5{stroke:var(--color-chart-green);stroke-dasharray:12 5}
.insight-forecast-line{stroke-dasharray:6 4}
.insight-interval{fill:var(--color-chart-light);fill-opacity:.35}
.insight-range{stroke:var(--color-chart-green);stroke-width:1.5;stroke-dasharray:2 3}
.insight-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-xs);color:var(--color-text-secondary);margin:var(--space-2) 0}
.insight-chart-legend>span{display:inline-flex;align-items:center;gap:var(--space-2)}
.insight-legend-line{display:block;width:18px;border-top:2px solid var(--color-chart-green)}
.insight-legend-line.insight-series-1{border-color:var(--color-green-hover);border-top-style:dashed}
.insight-legend-line.insight-series-2{border-color:var(--color-chart-light);border-top-style:dotted}
.insight-legend-line.insight-series-3{border-color:var(--color-green);border-top-style:dashed}
.insight-legend-line.insight-series-4{border-color:var(--color-text-secondary);border-top-style:dotted}
.insight-legend-line.insight-series-5,.insight-legend-line.insight-forecast-line{border-top-style:dashed}
.insight-chart-tooltip{position:absolute;z-index:var(--z-dropdown);left:var(--space-2);right:var(--space-2);bottom:var(--space-6);max-height:250px;overflow:auto;white-space:pre-line;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-menu);font-size:var(--font-sm);line-height:1.5;overflow-wrap:anywhere}
.insight-chart-tooltip[hidden]{display:none}
.insight-chart-data{font-size:var(--font-xs);line-height:1.6;color:var(--color-text-secondary);margin-top:var(--space-2)}
.insight-chart-data>summary{cursor:pointer;min-height:28px;display:list-item;align-content:center}
.insight-chart-data .ui-table-wrap{margin-top:var(--space-2);max-height:300px;overflow:auto}
.insight-chart-data .ui-table-wrap td small{display:block}
.insight-chart-note{font-size:var(--font-xs);line-height:1.55;color:var(--color-text-secondary);margin:var(--space-3) 0 0}
.insight-bar{fill:var(--color-chart-green)}
.insight-heat-scroll{overflow:auto;max-width:100%;padding-bottom:var(--space-2)}
.insight-heat-table{border-collapse:separate;border-spacing:4px;width:100%;min-width:650px;table-layout:fixed;font-size:var(--font-xs)}
.insight-heat-table th{padding:5px 0;text-align:center;color:var(--color-text-secondary);font-weight:500;position:static;background:var(--color-surface);border:0}
.insight-heat-table th:first-child{width:130px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.insight-heat-table tbody th:first-child{color:var(--color-text);font-size:var(--font-xs);font-weight:500}
.insight-heat-table td{padding:0!important;border:0!important}
.insight-heat-cell{display:block;width:100%;height:30px;min-height:30px;padding:0;border:1px solid transparent;border-radius:4px;box-shadow:none;color:var(--color-text);font-size:12px;font-weight:500;cursor:help;transition:none;touch-action:manipulation}
.insight-heat-cell:hover{border-color:var(--color-green);filter:none;transform:none}
.insight-heat-cell:focus-visible{outline:2px solid var(--color-green);outline-offset:1px}
.insight-heat-missing{background:var(--color-surface-secondary);color:var(--color-text-secondary);border:1px dashed var(--color-border-strong)}
.insight-heat-0{background:var(--color-heat-0)}.insight-heat-1{background:var(--color-heat-1)}.insight-heat-2{background:var(--color-heat-2)}.insight-heat-3{background:var(--color-heat-3)}.insight-heat-4{background:var(--color-heat-4)}.insight-heat-5{background:var(--color-heat-5);color:var(--color-on-primary)}.insight-heat-6{background:var(--color-heat-6);color:var(--color-on-primary)}.insight-heat-7{background:var(--color-heat-7);color:var(--color-on-primary)}
.insight-heat-legend{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-xs);margin-top:var(--space-3)}
.insight-heat-swatches{display:inline-flex;gap:2px}
.insight-heat-swatches i{display:block;width:13px;height:13px;border-radius:2px}
.insight-heatmap-compact .insight-heat-table{min-width:348px;border-spacing:2px}
.insight-heatmap-compact .insight-heat-table th:first-child{width:78px}
.insight-heatmap-compact .insight-heat-cell{height:29px;min-height:29px;font-size:0}
.insight-heatmap-compact .insight-heat-missing{font-size:12px}
.insight-unknown-facts{display:grid;gap:var(--space-3);margin:var(--space-5) 0}
.insight-unknown-facts>div{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--font-sm)}
.insight-unknown-facts dt{color:var(--color-text-secondary)}
.insight-unknown-facts dd{margin:0;font-weight:500;color:var(--color-text);text-align:right}
@media(min-width:1600px){.insight-heatmap-compact .insight-heat-table th:first-child{width:100px}}
@media(max-width:1200px){.insight-dashboard-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-dashboard-charts>.ui-card:last-child{grid-column:1/-1}.insight-dashboard-charts>.ui-card:last-child .insight-heat-table{min-width:650px}.insight-two-columns{grid-template-columns:minmax(0,1fr)}.insight-analysis-main{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.insights-page{gap:var(--space-4)}.insight-page-toolbar{flex-wrap:wrap}.insight-dashboard-charts{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.insight-dashboard-charts>.ui-card:last-child{grid-column:auto}.insight-two-columns,.insight-analysis-main{gap:var(--space-4)}.insights-page .ui-card-heading h2{font-size:var(--font-h3)}.insight-forecast-picker{grid-template-columns:minmax(0,1fr) 100px}.insight-filters{gap:var(--space-3)}.insight-filters>.ui-filter{flex-basis:100%}.insight-filters .ui-date-range{flex-basis:100%}.insight-filters>button{width:100%}.insights-page .ui-product-cell{min-width:190px}.insight-chart-tooltip{max-height:220px}.insight-unknown-facts>div{flex-direction:column;gap:var(--space-1)}.insight-unknown-facts dd{text-align:left}}
@media(prefers-reduced-motion:reduce){.insight-heat-cell{transition:none}}
