.telemetry-chart { min-height:250px; }
.chart-inner { position:relative; width:100%; min-height:280px; border:1px solid var(--chart-grid); border-radius:8px; background:linear-gradient(180deg,var(--input-bg),var(--chart-bg)); overflow:hidden; }
.chart-inner svg { display:block; width:100%; height:340px; }
.chart-grid { stroke:var(--chart-grid); stroke-width:1; vector-effect:non-scaling-stroke; }
.chart-grid-x { stroke-opacity:.55; }
.chart-axis { fill:var(--muted); font:12px var(--font); }
.chart-y-label { font-family:var(--mono); }
.chart-unit { fill:var(--text-label-alt); font:12px var(--font); font-weight:700; }
.chart-series-line { fill:none; stroke-width:2; vector-effect:non-scaling-stroke; stroke-linejoin:round; stroke-linecap:round; }
.chart-crosshair { stroke:var(--chart-crosshair); stroke-width:1; stroke-dasharray:3 3; vector-effect:non-scaling-stroke; opacity:.65; pointer-events:none; }
.chart-hit { cursor:crosshair; }
.chart-incident { stroke-width:1; stroke-dasharray:2 4; vector-effect:non-scaling-stroke; opacity:.55; }
.chart-incident-fail { stroke:#ff6b78; } .chart-incident-warn { stroke:#f6c85f; } .chart-incident-info { stroke:#5ab0ff; }
.chart-tooltip { position:absolute; z-index:5; width:235px; padding:9px 10px; border:1px solid var(--border-strong); border-radius:7px; background:rgba(9,13,18,.96); box-shadow:var(--shadow); font-size:.74rem; pointer-events:none; }
.chart-tooltip strong { display:block; margin-bottom:6px; color:#fff; }
.chart-tooltip > div { display:grid; grid-template-columns:10px 1fr auto; gap:7px; align-items:center; padding:3px 0; color:var(--text-secondary); }
.chart-tooltip b { color:var(--text); font-family:var(--mono); }
.chart-tooltip-swatch, .chart-legend-swatch { display:inline-block; width:8px; height:8px; border-radius:999px; }
.chart-legend { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:9px; }
.chart-legend-item { display:inline-flex; align-items:center; gap:7px; color:var(--text-secondary); font-size:.74rem; }
.chart-empty { min-height:280px; display:grid; place-items:center; color:var(--muted); border:1px dashed var(--border); border-radius:8px; }
.sparkline { width:120px; height:32px; display:block; }
.sparkline path { fill:none; stroke-width:2; vector-effect:non-scaling-stroke; }
.sparkline-empty { color:var(--muted); }
.fleet-chart-panel .chart-inner { min-height:250px; }
.fleet-chart-panel .chart-inner svg { height:300px; }
@media (max-width:700px) { .chart-inner svg { height:280px; } .sparkline { width:90px; } }
:root[data-theme="light"] .chart-tooltip{background:rgba(255,255,255,.98);color:var(--text)}:root[data-theme="light"] .chart-tooltip strong{color:var(--text)}
