/* Tokens globais do design system (base: FormularioMilho, calibrado mais espaçoso).
   Use as variaveis `--brand`, `--surface`, `--text`, `--border`, `--shadow-*`, `--radius-*`, `--space-*` e `--motion-*` como fonte unica de valores visuais. */

/* =======================
   Base / Tokens Globais
======================= */
@font-face {
  font-family: "IBM Plex Sans";
  src: url("../fonts/IBMPlex/IBMPlexSans-Regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../fonts/IBMPlex/IBMPlexSans-SemiBold.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("../fonts/IBMPlex/IBMPlexSans-Bold.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/IBMPlex/IBMPlexMono-Medium.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("../fonts/IBMPlex/IBMPlexMono-SemiBold.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

:root {
  --brand: #0b3d2e;
  --brand-strong: #06291f;
  --brand-soft: #e7f0ed;
  --accent: #c8a100;
  --accent-soft: #fbf3cf;
  --danger: #9e2a2b;
  --danger-soft: #f8e6e6;
  --warning: #a76200;
  --warning-soft: #fff0d8;
  --info: #255f85;
  --info-soft: #e7f0f6;
  --violet: #60498a;
  --violet-soft: #eee9f6;
  --surface: #e7edf0;
  --surface-raised: #ffffff;
  --surface-muted: #f8fafb;
  --surface-line: #dde4e8;
  --surface-zebra: #fbfcfd;
  --text: #14202b;
  --text-soft: #374a5c;
  --muted: #6a7b8b;
  --border: #d8e0e5;
  --border-strong: #c3ced7;
  --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
  --shadow-xs: 0 1px 3px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 16px 40px rgba(15, 23, 42, 0.12);
  /* Raios suaves, sem chegar a arredondamentos exagerados. */
  --radius-xs: 4px;
  --radius-sm: 7px;
  --radius-md: 10px;
  /* Escala de espaçamento ampliada (~1.4x) para telas mais respiráveis. */
  --space-1: 6px;
  --space-2: 12px;
  --space-3: 18px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 44px;
  --z-header: 50;
  --z-modal: 100;
  --z-toast: 120;
  --motion-fast: 140ms;
  --motion-base: 220ms;
  --motion-slow: 360ms;
  --easing-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --max-page: 1480px;
  --transition: var(--motion-fast) var(--easing-standard);
  --font-scale: 1;
  /* Tipografia com mais respiro entre linhas. */
  --line-height-base: 1.6;
}
