/* GlobalX Design System — tokens.css
 * Gerado a partir de tokens/semantic.json. Cores semânticas como canais RGB
 * "R G B" para permitir alpha no Tailwind: rgb(var(--color-x) / <alpha-value>).
 * Produtos consomem SÓ --color-*, --space-*, --text-*, --radius-*, --elevation-*,
 * --duration-*, --ease-* . Nunca --gx-* (primitivo) direto. (Princípio 5)
 * WCAG: ver tokens/SPEC.md. Acessibilidade é gate, não opção. */

:root {
  /* Primitivos (referência; não consumir direto no produto) */
  --gx-navy-50: #F0F6FF;  --gx-navy-100: #DFECFF; --gx-navy-200: #C0D9FE;
  --gx-navy-300: #A7C0E4; --gx-navy-400: #88A0C3; --gx-navy-500: #657C9D;
  --gx-navy-600: #465C7B; --gx-navy-700: #2E4361; --gx-navy-800: #1A2E4B;
  --gx-navy-900: #0A1D38;
  --gx-teal-50: #D8FFF6;  --gx-teal-100: #95FFEA; --gx-teal-200: #6AEBD4;
  --gx-teal-300: #54D7C0; --gx-teal-400: #3BC3AD; --gx-teal-500: #20B29D;
  --gx-teal-600: #009582; --gx-teal-700: #007A6B; --gx-teal-800: #005D51;
  --gx-teal-900: #004239;
  --gx-neutral-50: #F7FAFF;  --gx-neutral-100: #EEF4FC; --gx-neutral-200: #E3E8F0;
  --gx-neutral-300: #CFD5DC; --gx-neutral-400: #B3B8BF; --gx-neutral-500: #8E939A;
  --gx-neutral-600: #6D7279; --gx-neutral-700: #4E5359; --gx-neutral-800: #32363C;
  --gx-neutral-900: #171B20;
  --gx-secondary-rosa: #F75AB8;    --gx-secondary-ciano: #33CAFF;
  --gx-secondary-verde: #29CE5E;   --gx-secondary-amarelo: #FFF416;
  --gx-secondary-laranja: #FF8040; --gx-secondary-laranja-esc: #FF5B1B;

  /* Semântico — cor (canais RGB) */
  --color-action-primary: 10 29 56;            /* #0A1D38 */
  --color-action-primary-hover: 26 46 75;      /* #1A2E4B */
  --color-action-primary-active: 46 67 97;     /* #2E4361 */
  --color-action-primary-disabled-bg: 227 232 240; /* #E3E8F0 */
  --color-action-primary-disabled-fg: 142 147 154; /* #8E939A */
  --color-action-secondary-fg: 10 29 56;       /* #0A1D38 */
  --color-action-secondary-border: 10 29 56;   /* #0A1D38 */
  --color-action-secondary-hover-bg: 238 244 252; /* #EEF4FC */
  --color-accent: 32 178 157;                  /* #20B29D */
  --color-focus-ring: 0 149 130;               /* #009582 */
  --color-text-primary: 10 29 56;              /* #0A1D38 */
  --color-text-secondary: 109 114 121;         /* #6D7279 */
  --color-text-disabled: 142 147 154;          /* #8E939A */
  --color-text-on-brand: 255 255 255;          /* #FFFFFF */
  --color-text-on-accent: 10 29 56;            /* #0A1D38 */
  --color-text-on-inverse: 247 250 255;        /* #F7FAFF */
  --color-text-link: 0 122 107;                /* #007A6B */
  --color-text-link-hover: 0 93 81;            /* #005D51 */
  --color-surface-default: 255 255 255;        /* #FFFFFF */
  --color-surface-subtle: 247 250 255;         /* #F7FAFF */
  --color-surface-sunken: 238 244 252;         /* #EEF4FC */
  --color-surface-raised: 255 255 255;         /* #FFFFFF + elevation */
  --color-surface-overlay: 255 255 255;        /* #FFFFFF + scrim */
  --color-surface-inverse: 10 29 56;           /* #0A1D38 */
  --color-border-subtle: 207 213 220;          /* #CFD5DC */
  --color-border-default: 179 184 191;         /* #B3B8BF */
  --color-border-strong: 109 114 121;          /* #6D7279 */
  --color-border-focus: 0 149 130;             /* #009582 */
  --color-selected-bg: 240 246 255;            /* #F0F6FF */
  --color-scrim: 10 29 56;                     /* #0A1D38 @ 50% no uso */
  --color-feedback-success-fg: 0 128 51;       /* #008033 — DECISÃO PROPOSTA */
  --color-feedback-success-bg: 200 255 207;    /* #C8FFCF — DECISÃO PROPOSTA */
  --color-feedback-success-solid: 41 206 94;   /* #29CE5E — manual */
  --color-feedback-error-fg: 193 61 0;         /* #C13D00 — DECISÃO PROPOSTA */
  --color-feedback-error-bg: 255 233 226;      /* #FFE9E2 — DECISÃO PROPOSTA */
  --color-feedback-error-solid: 255 91 27;     /* #FF5B1B — manual */
  --color-feedback-warning-fg: 183 74 0;       /* #B74A00 — DECISÃO PROPOSTA */
  --color-feedback-warning-bg: 255 233 224;    /* #FFE9E0 — DECISÃO PROPOSTA */
  --color-feedback-warning-solid: 255 128 64;  /* #FF8040 — manual */
  --color-feedback-info-fg: 0 117 152;         /* #007598 — DECISÃO PROPOSTA */
  --color-feedback-info-bg: 218 243 255;       /* #DAF3FF — DECISÃO PROPOSTA */
  --color-feedback-info-solid: 51 202 255;     /* #33CAFF — manual */

  /* Espaçamento (base 4px) */
  --space-0: 0px;  --space-1: 4px;  --space-2: 8px;  --space-3: 12px;
  --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px;
  --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px;
  --space-24: 96px;

  /* Tipografia */
  --font-sans: Figtree, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; /* DECISÃO PROPOSTA */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --text-display-lg: 700 36px/44px var(--font-sans);
  --text-display-md: 700 30px/38px var(--font-sans);
  --text-heading-lg: 700 24px/32px var(--font-sans);
  --text-heading-md: 700 20px/28px var(--font-sans);
  --text-heading-sm: 700 18px/26px var(--font-sans);
  --text-body-lg: 400 18px/28px var(--font-sans);
  --text-body-md: 400 16px/24px var(--font-sans);
  --text-body-sm: 400 14px/20px var(--font-sans);
  --text-label: 500 14px/20px var(--font-sans);
  --text-caption: 500 12px/16px var(--font-sans);

  /* Tamanho de controle — densidade comfortable (default) */
  --size-control-sm: 36px;
  --size-control-md: 44px;
  --size-control-lg: 52px;

  /* Raio */
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px;
  --radius-full: 9999px;

  /* Elevação (sombra tingida de navy) */
  --elevation-0: none;
  --elevation-1: 0 1px 2px rgba(10,29,56,0.06), 0 1px 1px rgba(10,29,56,0.04);
  --elevation-2: 0 2px 4px rgba(10,29,56,0.08), 0 4px 8px rgba(10,29,56,0.06);
  --elevation-3: 0 8px 24px rgba(10,29,56,0.12);

  /* Motion */
  --duration-fast: 120ms; --duration-base: 200ms; --duration-slow: 320ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-decelerate: cubic-bezier(0, 0, 0, 1);
  --ease-accelerate: cubic-bezier(0.3, 0, 1, 1);
}

/* Densidade compacta: o produto liga via [data-density="compact"] (Princípio 3) */
[data-density="compact"] {
  --size-control-sm: 28px;
  --size-control-md: 32px;
  --size-control-lg: 40px;
}

/* Dark mode — SCAFFOLD, não entregue no v0.1 (G8). A estrutura existe para
 * provar que dark é adição aditiva: só remapear os papéis aqui, produto não muda.
 * Valores abaixo são ponto de partida não validados em WCAG; NÃO usar em produção
 * sem rodar tools/wcag.ps1 sobre o novo conjunto. */
/*
[data-theme="dark"] {
  --color-surface-default: 10 29 56;
  --color-surface-subtle: 23 27 32;
  --color-surface-inverse: 255 255 255;
  --color-text-primary: 247 250 255;
  --color-text-secondary: 179 184 191;
  --color-action-primary: 32 178 157;
  --color-text-on-brand: 10 29 56;
  --color-border-strong: 142 147 154;
}
*/

/* Acessibilidade: reduzir movimento */
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms;
  }
}
