/* ============================================================================
 * SISTEMA DE DESIGN — a única fonte de verdade do aspeto do site.
 * ----------------------------------------------------------------------------
 * Nenhuma outra folha de estilo deve escrever cores, espaços ou raios à mão:
 * usa sempre estas variáveis. Mudar aqui muda o site inteiro de forma coerente.
 *
 * Três cores, como pedido: branco, cinzentos e o vermelho da casa.
 * ========================================================================== */

:root {
  /* --- Marca ------------------------------------------------------------ */
  --brand: #e20a03;
  --brand-dark: #b30802;   /* hover de botões */
  --brand-deep: #8a0601;   /* pressionado / gradientes */
  --brand-tint: #fff1f0;   /* fundos muito suaves */
  --brand-soft: rgba(226, 10, 3, 0.09);

  /* --- Neutros (a espinha dorsal: muito branco e cinzentos claros) ------ */
  --ink: #14161a;          /* texto principal */
  --ink-2: #454b54;        /* texto secundário */
  --ink-3: #5c636d;        /* legendas */
  /* O cinzento mais claro que ainda cumpre 4.5:1 sobre os três fundos que
     usamos (branco, --surface-2 e --surface-3). Não clarear mais: é usado em
     compatibilidades, contagens e preços antigos — informação que tem de se
     ler, não decoração. */
  --ink-4: #696d73;        /* texto ténue */
  --surface: #ffffff;
  --surface-2: #f7f8fa;    /* fundo de secção */
  --surface-3: #eef0f4;    /* estados hover, chips */
  --border: #e4e7ec;
  --border-strong: #d3d8e0;

  /* --- Semânticas ------------------------------------------------------- */
  --ok: #0f7b46;
  --ok-bg: #e8f6ee;
  --warn: #9a6400;
  --warn-bg: #fff8e6;
  --info: #1a4fa0;
  --info-bg: #eef4ff;

  /* --- Escala de espaço (múltiplos de 4) -------------------------------- */
  --s1: 4px;
  --s2: 8px;
  --s3: 12px;
  --s4: 16px;
  --s5: 20px;
  --s6: 24px;
  --s7: 32px;
  --s8: 40px;
  --s9: 56px;
  --s10: 72px;
  --s11: 96px;

  /* --- Raios ------------------------------------------------------------ */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-2xl: 28px;
  --r-full: 999px;

  /* --- Sombras (suaves, nunca duras) ------------------------------------ */
  --sh-xs: 0 1px 2px rgba(16, 24, 40, 0.05);
  --sh-sm: 0 1px 3px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
  --sh-md: 0 4px 12px rgba(16, 24, 40, 0.07), 0 2px 4px rgba(16, 24, 40, 0.04);
  --sh-lg: 0 12px 28px rgba(16, 24, 40, 0.10), 0 4px 8px rgba(16, 24, 40, 0.05);
  --sh-xl: 0 24px 56px rgba(16, 24, 40, 0.14), 0 8px 16px rgba(16, 24, 40, 0.06);
  --sh-brand: 0 8px 22px rgba(226, 10, 3, 0.26);

  /* --- Movimento (discreto: nada salta ao olho) ------------------------- */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast: 0.15s;
  --t-base: 0.24s;
  --t-slow: 0.4s;

  /* --- Estrutura -------------------------------------------------------- */
  --page: 1240px;          /* largura máxima do conteúdo */
  --page-pad: 20px;
  --header-h: 72px;

  /* --- Tipografia ------------------------------------------------------- */
  --font: "Inter", "Inter var", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Escala tipográfica fluida — cresce com o ecrã sem saltos. */
  --fs-xs: 0.75rem;
  --fs-sm: 0.8125rem;
  --fs-base: 0.9375rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --fs-2xl: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
  --fs-3xl: clamp(1.875rem, 1.4rem + 2.2vw, 2.75rem);
  --fs-4xl: clamp(2.25rem, 1.5rem + 3.4vw, 3.5rem);

  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-base: 1.6;

  --track-tight: -0.02em;   /* títulos grandes respiram melhor apertados */
  --track-wide: 0.04em;     /* maiúsculas pequenas */
}

@media (min-width: 768px) {
  :root {
    --page-pad: 32px;
    --header-h: 80px;
  }
}

/* Modo escuro do assistente e do dashboard herda estes valores; ver
   diagnostico.css, que redefine só o que precisa. */
