/* Fonte única da identidade — Soft Zinc (neutro frio), modo harmonized.
   Nenhum componente escolhe cor própria: tudo sai daqui. As famílias de
   componentes definem forma (raio, borda, sombra), nunca cor. */

:root {
  --brand-primary: #3f3f46;
  --brand-primary-hover: #36363c;
  --brand-primary-pressed: #2f2f35;
  --brand-primary-soft: #e9e9ea;
  --brand-primary-text: #ffffff;
  --brand-secondary: #71717a;    /* texto de apoio: 4.6:1 sobre as superfícies, passa no AA */
  --brand-secondary-hover: #5f5f66;
  --brand-accent: #71717a;
  --brand-background: #fafafa;
  --brand-surface: #ffffff;
  --brand-surface-alt: #fcfcfc;
  /* Faixa do cabeçalho do dia no calendário. Translúcida de propósito: a
     célula já muda de fundo no fim de semana e fora do mês, e um tom
     chapado sumiria num desses casos. */
  --cal-cabeca: rgba(24, 24, 27, 0.045);
  --brand-surface-hover: #f3f3f3;
  --brand-text: #18181b;
  --brand-text-muted: #848486;   /* ícones e traços: 3.7:1, não serve para texto */
  --brand-placeholder: #808082;
  --brand-border: #dadadb;
  --brand-border-hover: #6e6e73;
  --brand-border-focus: #3f3f46;
  --brand-focus-ring: #b7b7b9;
  --brand-icon: #848486;
  --brand-icon-hover: #3f3f46;
  --brand-selection: #cbcbcd;
  --brand-success: #15803d;
  --brand-success-soft: #e3f0e8;
  --brand-warning: #a16207;
  --brand-warning-soft: #f5eee4;
  --brand-danger: #b91c1c;
  --brand-danger-soft: #f8e8e8;
  --brand-info: #0369a1;
  --brand-info-soft: #e3eff5;
  --brand-disabled: #eaeaea;
  --brand-disabled-text: #848486;
  --brand-overlay: #646464;
  --brand-radius: 14px;

  /* Geometria por família de componente (seção 2 do prompt mestre) */

  /* Soft Pill — botões, botões de ícone, breadcrumbs, step indicators,
     KPIs, tabelas, skeletons */
  --pill-radius: 999px;
  --pill-border: 0px;
  --pill-shadow: none;

  /* Swiss Minimal — headers, tabs, mega menus, paginação, drawers,
     gráficos, timelines, accordions, calendários, kanban */
  --swiss-radius: 6px;
  --swiss-border: 1px;
  --swiss-shadow: none;

  /* Dark Luxury — sidebar, segmented controls, badges */
  --luxury-radius: 17px;
  --luxury-border: 1px;
  --luxury-shadow: 0 13px 31px #10182824;

  /* Gradient Glow — menus contextuais, data grids, barras de progresso */
  --glow-radius: 15px;
  --glow-border: 1px;
  --glow-shadow: 0 16px 35px #51597e21;

  /* Soft Neumorphic — cards, avatares */
  --neu-radius: 20px;
  --neu-border: 0px;
  --neu-shadow: 9px 9px 24px #bac1ce88, -8px -8px 24px #ffffff;
  --neu-shadow-dentro: inset 5px 5px 12px #bac1ce66, inset -4px -4px 12px #ffffff;

  /* Apple Precision — listas */
  --lista-radius: 11px;
  --lista-border: 1px;
  --lista-shadow: 0 3px 12px #1a233015;

  /* Glassmorphism — modais */
  --vidro-radius: 14px;
  --vidro-border: 1px;
  --vidro-shadow: 0 18px 35px #101a422a;

  /* Bento Soft — empty states */
  --bento-radius: 22px;
  --bento-border: 1px;
  --bento-shadow: 0 8px 24px #3c456515;

  /* Modern Material — perfil de usuário */
  --perfil-radius: 13px;
  --perfil-border: 1px;
  --perfil-shadow: 0 8px 18px #164c6e21;

  /* Densidade comfortable */
  --esp-1: 4px;
  --esp-2: 8px;
  --esp-3: 12px;
  --esp-4: 16px;
  --esp-5: 24px;
  --esp-6: 32px;
  --esp-7: 48px;

  --fonte: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Arial, sans-serif;
  --fonte-num: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;

  --transicao: 160ms cubic-bezier(.3, .7, .4, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root { --transicao: 1ms linear; }
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    scroll-behavior: auto !important;
  }
}
