.analysis-filters label { display: grid; gap: var(--space-1); max-width: 280px; }
.analysis-filters input { flex: none; width: 220px; }
.analysis-filters .analysis-hour { width: 76px; }
[data-analysis-data] > p, [data-analysis-data] > dl { margin: var(--space-3); }
.analysis-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); margin: var(--space-3) 0; }
.analysis-kpis dd { margin-left: 0; overflow-wrap: anywhere; }
.analysis-figure { margin: var(--space-3); padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius); }
.analysis-figure figcaption { color: var(--text-secondary); margin-bottom: var(--space-2); }
.analysis-chart { width: 100%; max-height: 280px; background: var(--surface); }
.analysis-chart text { font-family: var(--font); font-size: 11px; fill: var(--text-secondary); }
.analysis-axis { stroke: var(--border); }
.analysis-current { stroke: var(--brand); fill: var(--brand); }
.analysis-base { stroke: var(--info); fill: var(--info-soft); stroke-dasharray: 5 3; }
.analysis-chart path { fill: none; stroke-width: 2; }
.analysis-chart rect { opacity: .8; }
.analysis-data { max-height: 420px; }
.analysis-inputs { margin: var(--space-3); overflow-wrap: anywhere; }
.analysis-inputs details { padding: var(--space-2) 0; border-top: 1px solid var(--border); }
.analysis-source { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); padding: var(--space-2); }
[data-analysis-root] { min-width: 0; }
[data-analysis-root][aria-busy] [data-analysis-data] { opacity: .65; }
