:root{
  --tmt-font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  --tmt-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --tmt-base: 16px; --tmt-leading: 1.55; --tmt-kpi: 1.125rem; --tmt-h1: 1.125rem;
}
@media (max-width:1200px){ :root{ --tmt-base: 15px; } }
@media (max-width:768px){  :root{ --tmt-base: 14.5px; } }
html { font-size: var(--tmt-base); }
body {
  font-family: var(--tmt-font);
  line-height: var(--tmt-leading);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
.navbar-brand { font-size: var(--tmt-h1); letter-spacing:.2px; }
input, .form-control, .btn { font-size: .9375rem; }
.btn { font-weight: 600; }
.kpi-label { font-size: .78rem; letter-spacing:.06em; text-transform: uppercase; }
.kpi-value { font-size: calc(var(--tmt-kpi) + .125rem); }
.dash-table-container, .dash-table-container * { font-size: .9375rem; }
.dash-table-container th { font-weight: 700; letter-spacing:.02em; }
.js-plotly-plot, .js-plotly-plot * { font-family: var(--tmt-font) !important; font-size: .9rem !important; }
