/* Tokens do NetTop BI. Claro na raiz; escuro nos dois blocos guardados. */
:root {
  color-scheme: light;
  --surface-canvas: #f4f6fa;
  --surface-1: #ffffff;
  --surface-2: #eef1f7;
  --surface-3: #ffffff;
  --surface-inset: #e7ebf3;
  --border-hairline: #e3e7f0;
  --border-default: #cfd5e2;
  --border-strong: #767f94;
  --ink-1: #10131c;
  --ink-2: #333a4a;
  --ink-3: #5c6577;
  --ink-4: #767f92;
  --brand-magenta: #ff1a79;
  --brand-coral: #ff9271;
  --brand-amber: #ffc63c;
  --brand-yellow: #ffe42a;
  --accent: #ff1a79;
  --accent-hover: #ff4d97;
  --on-accent: #1a0512;
  --accent-text: #b8005a;
  --accent-soft: #ffe7f1;
  --focus-ring: #9c0049;
  --status-ok: #0d7a4c;
  --status-ok-soft: #dcf5e9;
  --status-warn: #8a5500;
  --status-warn-soft: #fdeed2;
  --status-danger: #c00b38;
  --status-danger-soft: #ffe3e8;
  --status-info: #0a5fbd;
  --status-info-soft: #e0edfd;
  --status-neutral: #5c6577;
  --status-neutral-soft: #e9edf4;
  --delta-up: #0d7a4c;
  --delta-down: #c00b38;
  --delta-flat: #5c6577;
  --chart-grid: #e9edf4;
  --chart-axis: #c3cad8;
  --chart-crosshair: #767f92;
  --chart-band: #f2f5fa;
  --viz-1: #ac024e;
  --viz-2: #027fbb;
  --viz-3: #8c6802;
  --viz-4: #069e98;
  --viz-5: #6359d2;
  --viz-6: #b8431b;
  --viz-7: #a536ad;
  --viz-8: #368223;
  --viz-seq-100: #fee8ec;
  --viz-seq-200: #ffc6d1;
  --viz-seq-300: #ff9cb3;
  --viz-seq-400: #ff6290;
  --viz-seq-500: #f30671;
  --viz-seq-600: #c00558;
  --viz-seq-700: #8b003e;
  --viz-div-neg-2: #ac3402;
  --viz-div-neg-1: #d9856c;
  --viz-div-mid: #d5dae4;
  --viz-div-pos-1: #58a7dc;
  --viz-div-pos-2: #026a9d;
  --shadow-card: 0 1px 2px rgba(16,19,28,0.06);
  --shadow-overlay: 0 12px 32px rgba(16,19,28,0.14);
  --shadow-modal: 0 24px 64px rgba(16,19,28,0.2);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-pill: 999px;
  --border-width-hairline: 1px;
  --border-width-focus: 2px;
  --border-width-series: 2px;
  --z-sticky: 10;
  --z-topbar: 20;
  --z-overlay: 40;
  --z-modal: 60;
  --font-display: "Outfit", "Figtree", system-ui, sans-serif;
  --font-sans: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --surface-canvas: #0d0f16;
    --surface-1: #171a23;
    --surface-2: #1f2431;
    --surface-3: #29303f;
    --surface-inset: #0a0c12;
    --border-hairline: #252b39;
    --border-default: #333b4d;
    --border-strong: #7b8699;
    --ink-1: #f2f5fb;
    --ink-2: #ccd3e2;
    --ink-3: #98a1b5;
    --ink-4: #737c90;
    --brand-magenta: #ff1a79;
    --brand-coral: #ff9271;
    --brand-amber: #ffc63c;
    --brand-yellow: #ffe42a;
    --accent: #ff1a79;
    --accent-hover: #ff4d97;
    --on-accent: #1a0512;
    --accent-text: #ff8ab8;
    --accent-soft: #2e0f1f;
    --focus-ring: #ffc63c;
    --status-ok: #2fc98a;
    --status-ok-soft: #0d2a20;
    --status-warn: #ffb020;
    --status-warn-soft: #2e2208;
    --status-danger: #ff6b81;
    --status-danger-soft: #320d16;
    --status-info: #5aaeff;
    --status-info-soft: #0d1e33;
    --status-neutral: #98a1b5;
    --status-neutral-soft: #1f2431;
    --delta-up: #2fc98a;
    --delta-down: #ff6b81;
    --delta-flat: #98a1b5;
    --chart-grid: #232937;
    --chart-axis: #3c4455;
    --chart-crosshair: #737c90;
    --chart-band: #1b202b;
    --viz-1: #d62869;
    --viz-2: #088ccd;
    --viz-3: #b08406;
    --viz-4: #0daba5;
    --viz-5: #766fea;
    --viz-6: #d05934;
    --viz-7: #bc4dc3;
    --viz-8: #4c983a;
    --viz-seq-100: #400119;
    --viz-seq-200: #67012c;
    --viz-seq-300: #900240;
    --viz-seq-400: #bb0155;
    --viz-seq-500: #e8036c;
    --viz-seq-600: #ff4885;
    --viz-seq-700: #ff85a3;
    --viz-div-neg-2: #c34519;
    --viz-div-neg-1: #d27f66;
    --viz-div-mid: #4a5261;
    --viz-div-pos-1: #51a1d5;
    --viz-div-pos-2: #017cb7;
    --shadow-card: 0 1px 2px rgba(0,0,0,0.5);
    --shadow-overlay: 0 12px 32px rgba(0,0,0,0.6);
    --shadow-modal: 0 24px 64px rgba(0,0,0,0.7);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --surface-canvas: #0d0f16;
  --surface-1: #171a23;
  --surface-2: #1f2431;
  --surface-3: #29303f;
  --surface-inset: #0a0c12;
  --border-hairline: #252b39;
  --border-default: #333b4d;
  --border-strong: #7b8699;
  --ink-1: #f2f5fb;
  --ink-2: #ccd3e2;
  --ink-3: #98a1b5;
  --ink-4: #737c90;
  --brand-magenta: #ff1a79;
  --brand-coral: #ff9271;
  --brand-amber: #ffc63c;
  --brand-yellow: #ffe42a;
  --accent: #ff1a79;
  --accent-hover: #ff4d97;
  --on-accent: #1a0512;
  --accent-text: #ff8ab8;
  --accent-soft: #2e0f1f;
  --focus-ring: #ffc63c;
  --status-ok: #2fc98a;
  --status-ok-soft: #0d2a20;
  --status-warn: #ffb020;
  --status-warn-soft: #2e2208;
  --status-danger: #ff6b81;
  --status-danger-soft: #320d16;
  --status-info: #5aaeff;
  --status-info-soft: #0d1e33;
  --status-neutral: #98a1b5;
  --status-neutral-soft: #1f2431;
  --delta-up: #2fc98a;
  --delta-down: #ff6b81;
  --delta-flat: #98a1b5;
  --chart-grid: #232937;
  --chart-axis: #3c4455;
  --chart-crosshair: #737c90;
  --chart-band: #1b202b;
  --viz-1: #d62869;
  --viz-2: #088ccd;
  --viz-3: #b08406;
  --viz-4: #0daba5;
  --viz-5: #766fea;
  --viz-6: #d05934;
  --viz-7: #bc4dc3;
  --viz-8: #4c983a;
  --viz-seq-100: #400119;
  --viz-seq-200: #67012c;
  --viz-seq-300: #900240;
  --viz-seq-400: #bb0155;
  --viz-seq-500: #e8036c;
  --viz-seq-600: #ff4885;
  --viz-seq-700: #ff85a3;
  --viz-div-neg-2: #c34519;
  --viz-div-neg-1: #d27f66;
  --viz-div-mid: #4a5261;
  --viz-div-pos-1: #51a1d5;
  --viz-div-pos-2: #017cb7;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.5);
  --shadow-overlay: 0 12px 32px rgba(0,0,0,0.6);
  --shadow-modal: 0 24px 64px rgba(0,0,0,0.7);
}
.metric-xl{font-family:var(--font-display);font-size:46px;line-height:46px;font-weight:600;letter-spacing:-0.02em}
.metric-lg{font-family:var(--font-display);font-size:34px;line-height:36px;font-weight:600;letter-spacing:-0.015em}
.metric-md{font-family:var(--font-display);font-size:26px;line-height:30px;font-weight:600;letter-spacing:-0.01em}
.metric-sm{font-family:var(--font-display);font-size:19px;line-height:24px;font-weight:600}
.title-lg{font-family:var(--font-display);font-size:28px;line-height:34px;font-weight:600;letter-spacing:-0.01em}
.title-md{font-family:var(--font-display);font-size:20px;line-height:26px;font-weight:600}
.title-sm{font-family:var(--font-display);font-size:16px;line-height:22px;font-weight:600}
.body{font-family:var(--font-sans);font-size:15px;line-height:22px;font-weight:400}
.body-sm{font-family:var(--font-sans);font-size:13px;line-height:19px;font-weight:400}
.label{font-family:var(--font-sans);font-size:13px;line-height:18px;font-weight:500}
.caption{font-family:var(--font-sans);font-size:12px;line-height:16px;font-weight:400}
.overline{font-family:var(--font-sans);font-size:11px;line-height:14px;font-weight:600;letter-spacing:0.09em}
.mono{font-family:var(--font-mono);font-size:13px;line-height:19px;font-weight:400}
.mono-strong{font-family:var(--font-mono);font-size:13px;line-height:19px;font-weight:500}
.mono-sm{font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:400}