/* ARQUIVO GERADO — não edite à mão.
   Fonte: design-system/tokens.json · Gerador: design-system/build-tokens.mjs
   Para mudar um valor, edite o tokens.json e rode `node design-system/build-tokens.mjs`.
   tokens.css — variáveis CSS da Inriqueza */

/* Toda cor do projeto nasce aqui. As triplas RGB (`--x-rgb: 149 199 230`) existem
   para permitir opacidade: `rgb(var(--accent-rgb) / .16)`. Os aliases prontos
   (`--accent`) ficam no fim do arquivo.

   Tema claro = padrão em :root · Tema escuro = [data-theme="dark"] */

:root {
  /* --- Tipografia ---
     Calisto MT é fonte de sistema (acompanha o MS Office) e não tem webfont livre.
     Gelasio vem do Google Fonts e é metricamente compatível com Georgia, então quem
     não a tem instalada vê um serif próximo sem quebra de layout.
     Para adotar a Loretta licenciada, troque apenas `display` aqui. */
  --font-display: 'Calisto MT', 'Gelasio', Georgia, 'Times New Roman', serif;
  --font-sans: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', monospace;

  /* --- Escala tipográfica (fluida) --- */
  --fs-display: clamp(2.5rem, 1.4rem + 4.4vw, 4.75rem);
  --fs-h1: clamp(2rem, 1.2rem + 3.2vw, 3.5rem);
  --fs-h2: clamp(1.625rem, 1.1rem + 2.1vw, 2.75rem);
  --fs-h3: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  --fs-h4: 1.125rem;
  --fs-body: 1rem;
  --fs-sm: 0.875rem;
  --fs-xs: 0.75rem;
  --fs-2xs: 0.6875rem;

  /* --- Raios --- */
  --r-xs: 3px;
  --r-sm: 5px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 18px;
  --r-full: 999px;
  --r-modelador: 0.375rem;

  /* --- Grid --- */
  --shell: 1360px;
  --conteudo: 760px;
  --gutter: 1.5rem;

  /* --- Movimento --- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast: 160ms;
  --t-base: 260ms;
  --t-slow: 600ms;

  /* ===== PALETA INSTITUCIONAL =====
     Os oito valores fixos do manual. Não mudam entre temas. */
  --brand-branco-neve: #FFFFFF;
  --brand-azul-brisa: #95C7E6;
  --brand-azul-profundo: #214765;
  --brand-azul-noturno: #061A2A;
  --brand-preto-absoluto: #000000;
  --brand-cinza-neve: #F2F2F2;
  --brand-cinza-concreto: #E0E0E0;
  --brand-cinza-aco: #ADADAD;

  /* ===== EXTENSÃO DE DADOS =====
     Extensão FORA da paleta institucional. Existe porque o manual não tem verde nem
     vermelho e o Modelador precisa sinalizar variação em DRE, DFC e KPIs.
     Estes são os valores canônicos; cada tema deriva a variante que atinge AA. */
  --data-positivo: #3E9C7A;
  --data-negativo: #C2564E;
  --data-atencao: #B5882F;

  /* ===== TEMA CLARO (padrão) =====
     Fundo Cinza Neve, não branco puro — conforto de leitura em jornada longa.,`sombras.poco` é a superfície RECUADA: a assinatura do Lumimotion para dado (ele a usa,em 8 lugares). Uma grade financeira fica DENTRO de um poço, não sobre a página — é o que,separa o instrumento da planilha. No tema claro ela é sutil: sombra forte sobre fundo,claro lê como sujeira, não como profundidade. */
  --bg-rgb: 242 242 242;
  --bg-deep-rgb: 226 231 236;
  --surface-rgb: 255 255 255;
  --surface-raised-rgb: 255 255 255;
  --surface-sunken-rgb: 233 237 241;
  --line-rgb: 33 71 101;
  --text-rgb: 14 34 51;
  --text-strong-rgb: 6 26 42;
  --text-muted-rgb: 74 100 120;
  /* 5,16:1 mesmo sobre bg-deep, a superfície mais escura do tema. */
  --text-subtle-rgb: 78 97 113;
  /* Azul Profundo: o Azul Brisa não atinge 4,5:1 sobre #F2F2F2. */
  --accent-rgb: 33 71 101;
  --accent-hover-rgb: 23 51 74;
  --accent-contrast-rgb: 255 255 255;
  /* É aqui que o Azul Brisa vive no tema claro — fundos, halos, destaques. */
  --accent-wash-rgb: 149 199 230;
  --brand-rgb: 33 71 101;
  /* Derivado de #3E9C7A, escurecido até passar AA dentro de um selo tingido. */
  --positive-rgb: 31 88 68;
  --negative-rgb: 140 56 50;
  --warning-rgb: 108 80 24;

  --line-alpha: 0.16;
  --shadow-sm: 0 1px 2px rgb(6 26 42 / 0.06);
  --shadow-md: 0 4px 16px -4px rgb(6 26 42 / 0.10);
  --shadow-lg: 0 24px 56px -20px rgb(6 26 42 / 0.20);
  --shadow-glow: 0 0 0 1px rgb(33 71 101 / 0.10);
  --inset-hairline: inset 0 1px 0 rgb(255 255 255 / 0.8);
  --shadow-poco: inset 0 2px 8px rgb(6 26 42 / 0.07);
  color-scheme: light;
}

[data-theme="dark"] {
  /* ===== TEMA ESCURO =====
     Azul Noturno. As bordas ganham o tom da luz (Azul Brisa), não cinza morto. */
  --bg-rgb: 6 26 42;
  --bg-deep-rgb: 3 16 27;
  --surface-rgb: 10 36 55;
  --surface-raised-rgb: 14 44 66;
  --surface-sunken-rgb: 4 19 31;
  --line-rgb: 149 199 230;
  --text-rgb: 242 242 242;
  --text-strong-rgb: 255 255 255;
  --text-muted-rgb: 159 182 199;
  /* 5,14:1 sobre a superfície escura. */
  --text-subtle-rgb: 124 150 169;
  --accent-rgb: 149 199 230;
  --accent-hover-rgb: 180 216 239;
  --accent-contrast-rgb: 6 26 42;
  --accent-wash-rgb: 149 199 230;
  --brand-rgb: 33 71 101;
  /* Derivado de #3E9C7A, clareado para render 7,25:1 sobre o Azul Noturno. */
  --positive-rgb: 79 184 148;
  --negative-rgb: 224 122 114;
  --warning-rgb: 217 169 74;

  --line-alpha: 0.16;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.4);
  --shadow-md: 0 8px 28px -8px rgb(0 0 0 / 0.55);
  --shadow-lg: 0 40px 90px -30px rgb(0 0 0 / 0.75);
  --shadow-glow: 0 0 28px -6px rgb(149 199 230 / 0.30);
  --inset-hairline: inset 0 1px 0 rgb(255 255 255 / 0.05);
  --shadow-poco: inset 0 2px 10px rgb(0 0 0 / 0.5);
  color-scheme: dark;
}

/* --- Rampa dos gráficos ---
   Rampa monocromática de seis passos entre Azul Brisa e Azul Profundo. Idêntica
   nos dois temas: todos os tons mantêm contraste sobre #F2F2F2 e sobre #061A2A.
   `muted` (Cinza Aço) é reservado à série de referência: orçado, meta, ano anterior. */
:root {
  --chart-1-rgb: 149 199 230;
  --chart-2-rgb: 126 173 204;
  --chart-3-rgb: 103 148 178;
  --chart-4-rgb: 79 122 152;
  --chart-5-rgb: 56 97 127;
  --chart-6-rgb: 33 71 101;
  --chart-muted-rgb: 173 173 173;
}

/* --- Aliases prontos para CSS puro --- */
:root,
[data-theme="dark"] {
  --bg: rgb(var(--bg-rgb));
  --bg-deep: rgb(var(--bg-deep-rgb));
  --surface: rgb(var(--surface-rgb));
  --surface-raised: rgb(var(--surface-raised-rgb));
  --surface-sunken: rgb(var(--surface-sunken-rgb));
  --line: rgb(var(--line-rgb) / var(--line-alpha));
  --line-strong: rgb(var(--line-rgb) / calc(var(--line-alpha) * 2));
  --text: rgb(var(--text-rgb));
  --text-strong: rgb(var(--text-strong-rgb));
  --text-muted: rgb(var(--text-muted-rgb));
  --text-subtle: rgb(var(--text-subtle-rgb));
  --accent: rgb(var(--accent-rgb));
  --accent-hover: rgb(var(--accent-hover-rgb));
  --accent-contrast: rgb(var(--accent-contrast-rgb));
  --accent-wash: rgb(var(--accent-wash-rgb));
  --brand: rgb(var(--brand-rgb));
  --positive: rgb(var(--positive-rgb));
  --negative: rgb(var(--negative-rgb));
  --warning: rgb(var(--warning-rgb));
}
