/* =========================================================================
   Tokens — identidade Contrato 2026 (mesmos nomes do Design System Contrato)
   Cores da marca extraídas do logotipo vetorial oficial:
     Azul Contrato #094488 · Azul Ponto #0e52a5 · Ciano #01b2f6
     Grafite #29292b · Cinza #afafb1 · Areia #f0ebe5
   Fonte da marca: Montserrat (timbrado e cartão de visita)
   ========================================================================= */
:root,
[data-theme="light"] {
  color-scheme: light;
  /* marca */
  --brand-navy: #094488;
  --brand-navy-deep: #073a74;
  --brand-dot: #0e52a5;
  --brand-cyan: #01b2f6;
  --brand-graphite: #29292b;
  --brand-gray: #afafb1;
  --brand-sand: #f0ebe5;

  /* superfícies */
  --bg: #f0ebe5;
  --surface: #ffffff;
  --surface-2: #f8f6f3;
  --surface-3: #efebe6;
  --line: #e4ded6;
  --line-strong: #cbc4ba;

  /* texto */
  --ink: #29292b;
  --ink-2: #505053;
  --ink-3: #6a696d;
  --ink-inverse: #f0ebe5;

  /* ação */
  --primary: #094488;
  --primary-hover: #073a74;
  --on-primary: #ffffff;
  --primary-soft: #e7eef7;
  --link: #094488;
  --focus: #0e52a5;
  --accent: #01b2f6;

  /* navegação (grafite nos dois temas) */
  --nav-bg: #29292b;
  --nav-ink: #f0ebe5;
  --nav-ink-2: #b9b8bb;
  --nav-hover: #353538;
  --nav-active: #3b3b3f;
  --nav-line: #3a3a3d;

  /* semântica — sempre acompanhada de texto ou ícone */
  --danger: #b42318;
  --danger-bg: #fdecea;
  --danger-line: #f3b8b1;
  --warning: #8a4b00;
  --warning-bg: #fff3d6;
  --warning-line: #f0cf85;
  --warning-mark: #e79a00;
  --success: #0b6b3d;
  --success-bg: #e3f3ea;
  --success-line: #a9d8bd;
  --info: #094488;
  --info-bg: #e7eef7;
  --info-line: #b5c9e3;
  --neutral: #505053;
  --neutral-bg: #eeecea;
  --neutral-line: #d3d0cc;

  /* séries dos gráficos (por tipo de imposto) */
  --series-1: #094488;
  --series-2: #01b2f6;
  --series-3: #6b4fbb;
  --series-4: #0e8a6a;
  --series-5: #d98324;
  --series-6: #afafb1;
  --chart-grid: #ebe6df;

  --shadow-1: 0 1px 2px rgba(41, 41, 43, .06), 0 1px 1px rgba(41, 41, 43, .04);
  --shadow-2: 0 8px 28px rgba(41, 41, 43, .16), 0 2px 6px rgba(41, 41, 43, .08);
  --scrim: rgba(24, 24, 26, .42);
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #19191b;
  --surface: #222224;
  --surface-2: #28282b;
  --surface-3: #2f2f33;
  --line: #36363a;
  --line-strong: #4a4a4f;

  --ink: #f0ebe5;
  --ink-2: #c8c4bf;
  --ink-3: #9c9a9f;
  --ink-inverse: #29292b;

  --primary: #01b2f6;
  --primary-hover: #38c3f8;
  --on-primary: #1b1b1d;
  --primary-soft: #16303f;
  --link: #5cc9f7;
  --focus: #5cc9f7;
  --accent: #01b2f6;

  --nav-bg: #111113;
  --nav-ink: #f0ebe5;
  --nav-ink-2: #a7a6aa;
  --nav-hover: #1f1f22;
  --nav-active: #29292c;
  --nav-line: #26262a;

  --danger: #ff8a7a;
  --danger-bg: #3a1d1a;
  --danger-line: #6e2f28;
  --warning: #f5c060;
  --warning-bg: #352914;
  --warning-line: #6b5020;
  --warning-mark: #f5b53d;
  --success: #6fd29c;
  --success-bg: #16301f;
  --success-line: #2a5a3c;
  --info: #7cc8f5;
  --info-bg: #162a3a;
  --info-line: #2b4d68;
  --neutral: #c8c4bf;
  --neutral-bg: #2d2d31;
  --neutral-line: #45454a;

  --series-1: #5b93dc;
  --series-2: #01b2f6;
  --series-3: #a487f0;
  --series-4: #34c79b;
  --series-5: #eda94f;
  --series-6: #77767b;
  --chart-grid: #2f2f33;

  --shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-2: 0 10px 32px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .4);
  --scrim: rgba(0, 0, 0, .6);
}

:root {
  --font-sans: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;

  --radius-xs: 3px;
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;

  --sidebar-w: 232px;
  --sidebar-w-min: 64px;
  --topbar-h: 56px;
  --row-h: 38px;
}
