:root {
  /* Tipografia (Geist é servida localmente em /assets/fonts — nada de CDN) */
  --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --font-serif: 'Source Serif 4', Georgia, serif;
  --font-legible: 'Atkinson Hyperlegible', system-ui, sans-serif;

  /* Superfícies */
  --bg: #F4F5F7;
  --surface: #FFFFFF;
  --surface-2: #FAFBFC;
  --surface-hover: #F7F8FA;
  --sunken: #F0F1F4;
  --sunken-2: #ECEEF1;
  --nav-hover: #ECEEF2;
  --ghost-hover: #F0F2F5;

  /* Texto */
  --text: #111318;
  --text-body: #1F232B;
  --text-2: #2A2E37;
  --text-3: #3B404B;
  --muted: #5B616E;
  --subtle: #8A909C;
  --faint: #A3A8B2;

  /* Bordas */
  --border: #E6E8EC;
  --border-field: #DADDE3;
  --border-btn: #E0E3E8;
  --border-hover: #C9CEDA;
  --divider: #EEF0F3;

  /* Destaque */
  --accent: #2B4FD8;
  --accent-hover: #1E3BAE;
  --accent-text: #1E3BAE;
  --accent-soft: #EEF2FF;
  --accent-soft-2: #F5F7FF;
  --accent-edit: #F8F9FF;
  --accent-border: #D6DCF5;
  --on-accent: #FFFFFF;
  --focus-ring: 0 0 0 3px rgba(43, 79, 216, .14);

  /* Semânticas */
  --success: #1E8A5A;  --success-text: #146B44;  --success-soft: #E8F5EE;  --success-border: #CDE9D9;
  --danger: #D93A30;   --danger-strong: #C1302A; --danger-text: #A8241D;  --danger-text-2: #8F1F19;
  --danger-soft: #FDF0EF; --danger-border: #F6D4D1; --danger-menu: #B42318;
  --warning: #C26A0A;  --warning-text: #8F4A00;  --warning-icon: #B25E04;
  --warning-soft: #FFF4E5; --warning-soft-2: #FFF7EC;
  --pin: #C1302A;
  --lock: #7A5C00;
  --ink: #111318;

  /* Sombras (cartões em repouso NÃO têm sombra) */
  --shadow-seg: 0 1px 2px rgba(17, 19, 24, .12);
  --shadow-hover: 0 2px 8px rgba(17, 19, 24, .06);
  --shadow-menu: 0 12px 32px rgba(17, 19, 24, .16);
  --shadow-modal: 0 24px 64px rgba(17, 19, 24, .28);
  --overlay: rgba(17, 19, 24, .55);

  /* Raios */
  --r-xs: 4px; --r-sm: 6px; --r-md: 8px; --r-nav: 9px; --r-lg: 10px;
  --r-xl: 12px; --r-2xl: 14px; --r-3xl: 16px; --r-modal: 20px; --r-pill: 999px;

  /* Espaçamento */
  --s-1: 2px; --s-2: 4px; --s-3: 6px; --s-4: 8px; --s-5: 10px; --s-6: 12px; --s-7: 14px;
  --s-8: 16px; --s-9: 18px; --s-10: 20px; --s-12: 24px; --s-14: 28px; --s-16: 32px; --s-20: 40px; --s-24: 48px;

  /* Alturas de controles */
  --h-xs: 22px;
  --h-sm: 26px;
  --h-icon-sm: 28px; --h-chip: 32px; --h-icon: 34px; --h-btn-sm: 36px; --h-btn-md: 38px;
  --h-field: 40px;
  --h-btn: 42px;
  --h-field-lg: 44px;
  --h-search: 48px;

  /* Layout */
  --sidebar-w: 264px;
  --container: 1120px;
  --container-crud: 1040px;
  --container-wide: 1440px;
  --modal-w: 1080px;
  --modal-w-sm: 960px;

  /* Movimento */
  --dur-instant: 80ms; --dur-fast: 120ms; --dur-base: 150ms; --dur-slow: 200ms; --dur-bar: 300ms;
  --ease: cubic-bezier(.2, 0, 0, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-in: cubic-bezier(.4, 0, 1, 1);

  /* Escala de texto (preferência "Tamanho do texto": 80–140%) */
  --text-scale: 1;

  /* Zonas de treino (Z1 cinza-azulado, Z2 verde, Z3 amarelo, Z4 laranja, Z5 vermelho).
     A cor forte vai em bolinhas e barras; texto usa a variante -text sobre o fundo -soft. */
  --z1: #6B7A99; --z1-soft: #EEF0F5; --z1-text: #3F4B66;
  --z2: #1E8A5A; --z2-soft: #E8F5EE; --z2-text: #146B44;
  --z3: #C99A06; --z3-soft: #FBF3D9; --z3-text: #7A5C00;
  --z4: #D9690F; --z4-soft: #FDEBDC; --z4-text: #8F4A00;
  --z5: #D93A30; --z5-soft: #FDF0EF; --z5-text: #A8241D;

  /* Safe areas do iOS */
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --tabbar-h: 60px;
}
