/*
 * Site TTODOBOM UI Design System v1.2
 * Tokens transcritos do PDF fornecido pelo utilizador.
 * Tokens v1.2 aditivos; preservar os valores consumidos pelas páginas existentes.
 */
:root {
  color-scheme: light;

  /* Cores semânticas — azul profundo, superfícies claras e contraste reforçado. */
  --color-bg: #F3F7FA;
  --color-surface: #FFFFFF;
  --color-text: #123047;
  --color-text-muted: #587087;
  --color-border: #D4E0EA;
  --color-primary: #0B5F8A;
  --color-primary-hover: #084B70;
  --color-primary-active: #063A57;
  --color-success: #08705D;
  --color-warning: #A85D00;
  --color-danger: #B42338;
  --color-neutral-soft: #EDF3F7;
  --color-neutral-on-soft: #415B70;
  --color-info-soft: #E7F2F8;
  --color-info-on-soft: #084B70;
  --color-success-soft: #E6F5F0;
  --color-success-on-soft: #075B4C;
  --color-warning-soft: #FFF3DF;
  --color-warning-on-soft: #7D4300;
  --color-danger-soft: #FFF0F2;
  --color-danger-on-soft: #8C1B2A;

  /* Identidade própria da homepage: cores de acento, não fundos de ação. */
  --color-portal-green: #22C55E;
  --color-portal-cyan: #38BDF8;

  /* Botões: estados semânticos; primário D mantém os valores já aprovados. */
  --button-primary-bg: var(--color-primary);
  --button-primary-hover: var(--color-primary-hover);
  --button-primary-active: var(--color-primary-active);
  --button-primary-text: #FFFFFF;
  --button-neutral-bg: #FFFFFF;
  --button-neutral-hover: #F3F4F6;
  --button-neutral-active: #E5E7EB;
  --button-neutral-border: #D1D5DB;
  --button-neutral-text: #1F2937;
  --button-success-bg: #15803D;
  --button-success-hover: #166534;
  --button-success-active: #14532D;
  --button-success-text: #FFFFFF;
  --button-danger-bg: #DC2626;
  --button-danger-hover: #B91C1C;
  --button-danger-active: #991B1B;
  --button-danger-text: #FFFFFF;

  /* Portal: superfície clara e cantos médios; nunca altera os card-link existentes. */
  --button-portal-bg: rgba(249, 250, 251, 0.9);
  --button-portal-hover-bg: rgba(255, 255, 255, 0.98);
  --button-portal-border: rgba(148, 163, 184, 0.7);
  --button-portal-border-hover: rgba(148, 163, 184, 0.9);
  --button-portal-text: #111827;
  --button-portal-shadow: 0 10px 22px rgba(148, 163, 184, 0.4);
  --button-portal-shadow-hover: 0 16px 36px rgba(148, 163, 184, 0.6), 0 0 0 1px rgba(148, 163, 184, 0.9);
  --button-radius-portal: 12px;

  /* Alturas completas com a tipografia-base atual (24 px de linha + padding e borda). */
  --button-height-compact: 36px;
  --button-height-default: 44px;
  --button-height-touch: 48px;
  --button-height-emphasis: 52px;
  --button-padding-y-compact: 5px;
  --button-padding-x-compact: 12px;
  --button-padding-y-default: 9px;
  --button-padding-x-default: 14px;
  --button-padding-y-touch: 11px;
  --button-padding-x-touch: 16px;
  --button-padding-y-emphasis: 13px;
  --button-padding-x-emphasis: 18px;

  /* Tipografia */
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.35rem;
  --font-size-kpi: 1.8rem;
  --font-size-2xl: 2rem;

  /* Espaçamento */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  /* Forma e elevação */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 9999px;
  --shadow-card: 0 2px 8px rgb(0 0 0 / 4%);

  /* Interação */
  /* Foco visível azul profundo, com halo claro. */
  --focus-ring: 3px solid #0B5F8A;
  --focus-ring-offset: 5px;
  --focus-ring-halo: 0 0 0 8px #D9EBF5;
  --content-width: 1400px;
}
