/* Design tokens — base fz-design-system v2; ciclo 2: tipografia e cantos alinhados à referência João Luiz (Urbanist em todo o texto, cantos maiores). */
:root {
  /* ── Luz: papel esverdeado + tinta verde-preta ── */
  --fz-paper: #f9fdfa;        /* fundo claro principal */
  --fz-paper-2: #f4faf5;      /* faixa clara alternada */
  --fz-surface: #f0f8f1;      /* painéis, chips de ícone */
  --fz-surface-2: #e3efe5;    /* estados pressionados/secundários */
  --fz-white: #ffffff;        /* superfície de card e campo */
  --fz-ink: #08150d;          /* texto principal (~17:1 no papel) */
  --fz-ink-soft: #505c53;     /* texto secundário (~6.4:1 — AA) */
  --fz-line: #cfdbd1;         /* hairline 1px SÓLIDA — assinatura */
  --fz-line-strong: #b9cabd;  /* hairline de campo/botão ghost */

  /* ── Sombra: a ÚNICA banda escura (fechamento) ── */
  --fz-bg-deep: #051009;      /* banda escura */
  --fz-card-dark: #0a1b10;    /* superfície sobre o escuro */
  --fz-on-dark: #f9fdfa;      /* papel sobre o escuro */
  --fz-on-dark-soft: rgba(249, 253, 250, 0.62);
  --fz-hair: rgba(249, 253, 250, 0.12);        /* hairline no escuro */
  --fz-hair-strong: rgba(249, 253, 250, 0.2);

  /* ── Verde em duas funções ── */
  --fz-primary: #003e20;      /* Verde-Mandato: CTA, seleção ativa */
  --fz-on-primary: #f9fdfa;
  --fz-accent: #00a151;       /* Verde-Campo: grafismo, texto GRANDE (~3:1) */
  --fz-accent-deep: #00893c;  /* Verde-Tinta: texto pequeno no claro, foco */
  --fz-accent-soft: #a5e3b4;  /* Verde-Broto: chips de delta na banda escura */
  --fz-accent-ink: #04150c;   /* texto sobre o accent */
  --fz-accent-dim: rgba(0, 161, 81, 0.12);
  --fz-ring: #00893c;         /* anel de foco */

  /* ── Status: sempre dot + rótulo neutro; nunca texto colorido pequeno ── */
  --fz-good: #2a904b;
  --fz-warn: #bea333;         /* NUNCA como texto — só dot/grafismo */
  --fz-bad: #c92f33;          /* também é a cor de erro de formulário */

  /* ── Cinza "triste" — SÓ no painel comparativo "jeito antigo".
        Dessatura o "antes" para o verde do Talhão respirar.
        Não é cinza utilitário de uso geral. ── */
  --fz-mute-surface: #eef0ef;
  --fz-mute-line: #d9dcda;
  --fz-mute-ink: #5f6462;
  --fz-mute-soft: #767c79;
  --fz-mute-faint: #a2a7a4;

  /* ── Tipografia ── */
  --fz-display: "Urbanist";   /* títulos 600/700 */
  --fz-body: "Urbanist";      /* corpo 400/500 */
  --fz-mono: "Urbanist";      /* rótulos: 600, 12px, UPPERCASE, ls .08em (ex-mono) */

  /* Escala (v2 — degraus nomeados; parágrafo NUNCA < 1rem) */
  --fz-text-display: clamp(2.5rem, 5.5vw, 3.75rem); /* lh 1.05 */
  --fz-text-headline: clamp(1.7rem, 3vw, 2.25rem);  /* lh 1.08 */
  --fz-text-title: 1.35rem;                          /* lh 1.08 */
  --fz-text-body: 1.0625rem;   /* lh 1.6 — Urbanist tem olho menor; mínimo p/ parágrafo 1rem */
  --fz-text-body-sm: 14px;     /* listas de apoio, itens de card */
  --fz-text-ui: 13.5px;        /* navlinks, botão sm, microcopy de UI */
  --fz-text-caption: 13px;     /* disclaimers, metadado denso em célula */
  --fz-text-label: 12px;       /* rótulo UPPERCASE 600: eyebrows, códigos */
  --fz-text-label-sm: 11px;    /* rótulo UPPERCASE 600: fontes de dado (limite) */

  /* ── Radii (referência João Luiz) ── */
  --fz-r-xs: 8px;   /* botões, campos, chips retangulares, tabs */
  --fz-r-sm: 12px;  /* cards e painéis */
  --fz-r-md: 16px;  /* palcos de mídia, modais, lightbox, relatório */
  --fz-r-full: 9999px; /* pílulas: nav, segmentados, filtros-chip, badges */

  /* ── Espaçamento (v2 — ritmo 4/8; sem 28px) ── */
  --fz-sp-xs: 8px;
  --fz-sp-sm: 12px;
  --fz-sp-md: 16px;
  --fz-sp-lg: 24px;
  --fz-sp-xl: 32px;
  --fz-sp-section-sm: 64px;   /* py de seção — mobile */
  --fz-sp-section: 96px;      /* py de seção — desktop */

  /* ── Alturas de controle (v2) ── */
  --fz-h-btn: 44px;    /* md — padrão, alvo de toque */
  --fz-h-btn-sm: 36px; /* sm — header/toolbar; nunca CTA principal mobile */
  --fz-h-field: 44px;

  /* ── Movimento: 0.16–0.55s ease-out, gateado por reduced-motion ── */
  --fz-ease: cubic-bezier(0.2, 0.7, 0.3, 1);
}
