/* NTIS charts — the system's own SVG marks, painted from the --chart-* tokens
   of the nearest theme scope. Axes, grid and tooltip stay hairline and quiet so
   the data carries the contrast. Time runs in reading direction; gauges and
   rings are circular instruments and do not mirror; linear progress (meters) fills
   from the inline start, so it follows the script. */
.ntis-chart{position:relative;width:100%;font-family:var(--font-core);outline:none}
.ntis-chart:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}
.ntis-chart svg,.ntis-spark svg{display:block;overflow:visible}
.ntis-spark{width:100%}
.ntis-chart__grid{stroke:var(--chart-grid);stroke-width:1}
.ntis-chart__base{stroke:var(--border-default);stroke-width:1}
.ntis-chart__tick{fill:var(--chart-axis);font-family:var(--font-core);font-size:12px;font-variant-numeric:tabular-nums}
.ntis-chart__guide{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 3}
.ntis-chart__dot{stroke:var(--surface-card);stroke-width:2}
.ntis-chart__band{fill:var(--fill-hover)}
.ntis-chart__seg{stroke:var(--surface-card);stroke-width:1}

/* Tooltip — an ink panel on light, a raised panel with a hairline on dark */
.ntis-chart__tip{position:absolute;z-index:2;display:flex;flex-direction:column;gap:var(--space-2);min-width:148px;padding:var(--space-3) var(--space-4);background:var(--chart-tooltip-bg);color:var(--chart-tooltip-ink);border:var(--border-hairline) solid var(--chart-tooltip-border);border-radius:var(--radius-md);box-shadow:var(--elev-3);font:var(--type-caption);white-space:nowrap;pointer-events:none}
.ntis-chart__tip-title{color:var(--chart-tooltip-muted);font-weight:var(--w-medium)}
.ntis-chart__tip-row{display:flex;align-items:center;gap:var(--space-3)}
.ntis-chart__tip-row b{margin-inline-start:auto;padding-inline-start:var(--space-5);font-weight:var(--w-bold);font-variant-numeric:tabular-nums}
.ntis-chart__tip-row--total{padding-block-start:var(--space-2);border-block-start:var(--border-hairline) solid var(--chart-tooltip-divider)}

/* Legend */
.ntis-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);margin:0;padding:0;list-style:none;font:var(--type-caption);color:var(--text-muted)}
.ntis-legend__item{display:inline-flex;align-items:center;gap:var(--space-3);transition:opacity var(--dur-fast) var(--ease-standard)}
.ntis-legend__swatch{display:inline-block;flex:none;width:8px;height:8px;border-radius:var(--radius-xs)}
.ntis-legend--list{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;font:var(--type-body-sm);color:var(--text-body)}
.ntis-legend--list .ntis-legend__item{display:flex;padding-block:var(--space-3);border-block-end:var(--border-hairline) solid var(--border-subtle)}
.ntis-legend--list .ntis-legend__item:last-child{border-block-end:0}
.ntis-legend__value{margin-inline-start:auto;color:var(--text-strong);font-weight:var(--w-medium);font-variant-numeric:tabular-nums}
.ntis-legend__share{min-width:40px;text-align:end;font:var(--type-caption);color:var(--text-subtle);font-variant-numeric:tabular-nums}
.ntis-legend__item--dim{opacity:.4}

/* Meter list */
.ntis-meters{display:flex;flex-direction:column;gap:var(--space-5);margin:0;padding:0;list-style:none}
.ntis-meter{display:flex;flex-direction:column;gap:var(--space-2)}
.ntis-meter__row{display:flex;align-items:baseline;gap:var(--space-3);font:var(--type-body-sm);color:var(--text-body)}
.ntis-meter__value{margin-inline-start:auto;color:var(--text-strong);font-weight:var(--w-medium);font-variant-numeric:tabular-nums}
.ntis-meter__track{height:6px;background:var(--chart-track);border-radius:var(--radius-pill);overflow:hidden}
.ntis-meter__fill{display:block;height:100%;border-radius:inherit;transition:width var(--dur-slow) var(--ease-out)}

/* Gauge */
.ntis-gauge{display:flex;flex-direction:column;align-items:center;max-width:100%;margin-inline:auto}
.ntis-gauge__dial{position:relative;width:100%}
.ntis-gauge__dial svg{display:block;width:100%;height:auto;overflow:visible}
.ntis-gauge__center{position:absolute;inset-inline:0;inset-block-end:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center}
.ntis-gauge__value{font-family:var(--font-core);font-weight:var(--w-bold);line-height:1;color:var(--text-strong);font-variant-numeric:tabular-nums}
.ntis-gauge__value small{margin-inline-start:2px;font-size:.42em;font-weight:var(--w-medium);color:var(--text-muted)}
.ntis-gauge__label{font:var(--type-caption);color:var(--text-muted)}
.ntis-gauge__range{display:flex;justify-content:space-between;width:100%;padding-inline:1%;margin-block-start:var(--space-2);font:var(--type-caption);color:var(--text-subtle);font-variant-numeric:tabular-nums}

/* Ring & pie */
.ntis-ring{display:flex;align-items:center;gap:var(--space-7)}
.ntis-ring--below{flex-direction:column;align-items:stretch;gap:var(--space-5)}
.ntis-ring__figure{position:relative;flex:none;margin-inline:auto}
.ntis-ring__figure svg{display:block}
.ntis-ring__figure circle,.ntis-ring__slice{transition:opacity var(--dur-fast) var(--ease-standard)}
.ntis-ring__slice{stroke:var(--surface-card);stroke-width:1.5px;stroke-linejoin:round}
.ntis-ring__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;pointer-events:none}
.ntis-ring__value{font:var(--w-bold) var(--fs-h2)/1.1 var(--font-core);color:var(--text-strong);font-variant-numeric:tabular-nums}
.ntis-ring__label{max-width:64%;font:var(--type-caption);color:var(--text-muted)}
.ntis-ring>.ntis-legend{flex:1;min-width:0}
@media (max-width:767px){:root:not([data-ntis-static]) .ntis-ring{flex-direction:column;align-items:stretch;gap:var(--space-5)}}

/* Chart card — the dashboard panel; same surface as Card */
.ntis-chartcard{position:relative;display:flex;flex-direction:column;gap:var(--space-6);min-width:0;padding:var(--pad-card);background:var(--surface-card);border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);color:var(--text-body)}
.ntis-chartcard--tight{padding:var(--pad-card-tight);gap:var(--space-5)}
.ntis-chartcard__head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-4) var(--space-6)}
.ntis-chartcard__titles{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;margin-inline-end:auto}
.ntis-chartcard__title{display:flex;align-items:center;gap:var(--space-3);margin:0;font:var(--type-h4);color:var(--text-strong)}
.ntis-chartcard__title .ntis-icon{color:var(--text-subtle)}
.ntis-chartcard--figure .ntis-chartcard__title{font:var(--type-label);color:var(--text-muted)}
.ntis-chartcard__figure{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}
.ntis-chartcard__value{font:var(--w-bold) var(--fs-h2)/1.15 var(--font-core);color:var(--text-strong);font-variant-numeric:tabular-nums}
.ntis-chartcard__value small{margin-inline-start:var(--space-2);font:var(--type-body);color:var(--text-muted)}
.ntis-chartcard__sub{margin:0;font:var(--type-caption);color:var(--text-subtle)}
.ntis-chartcard__aside{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}
.ntis-chartcard__body{flex:1;min-width:0}
.ntis-chartcard__foot{display:flex;align-items:center;gap:var(--space-4);padding-block-start:var(--space-4);border-block-start:var(--border-hairline) solid var(--border-subtle);font:var(--type-caption);color:var(--text-muted)}
