/* ────────────────────────────────────────────────────────────────
   Centro Sul Agro — Design Tokens
   Sistema "Expo-inspired" adaptado para o setor agrícola.
   Single source of truth de cores, tipografia, spacing, motion.
   ──────────────────────────────────────────────────────────── */

:root {
  /* ─── CORES :: tinta e canvas ─── */
  --canvas:           #FFFFFF;  /* fundo principal */
  --canvas-soft:      #FAFAFA;  /* banda alternada */
  --surface-card:     #FFFFFF;  /* cards padrão */
  --surface-strong:   #F0F0F3;  /* badges, ecosystem tiles */
  --surface-dark:     #0D47A1;  /* bands invertidas (azul autoridade, não preto) */
  --surface-dark-elev:#1565C0;  /* nível dentro de surface-dark */

  /* ─── CORES :: texto ─── */
  --ink:              #171717;  /* display + body emphasis */
  --body:             #60646C;  /* texto corrido neutro */
  --body-strong:      #171717;  /* alias de ink */
  --muted:            #999999;  /* subtítulos */
  --muted-soft:       #CCCCCC;  /* desabilitado */
  --on-primary:       #FFFFFF;  /* texto sobre primary */
  --on-dark:          #FFFFFF;  /* texto sobre surface-dark */
  --on-dark-soft:     #B0BEC5;  /* texto secundário sobre dark */

  /* ─── CORES :: marca Centro Sul Agro ─── */
  --primary:          #0D47A1;  /* CTA principal (azul autoridade) */
  --primary-hover:    #1565C0;  /* hover */
  --primary-active:   #0A3D8F;  /* pressed */
  --primary-soft:     #E3F2FD;  /* surface card de destaque */

  --accent:           #1976D2;  /* link inline, accent secundário */
  --accent-hover:     #1E88E5;
  --accent-soft:      #64B5F6;  /* uso decorativo */

  /* ─── CORES :: hairlines ─── */
  --hairline:         #F0F0F3;  /* divisor padrão 1px */
  --hairline-soft:    #F5F5F7;  /* divisor mais leve */
  --hairline-strong:  #DCDEE0;  /* contorno de cards */

  /* ─── CORES :: semânticas ─── */
  --success:          #16A34A;
  --success-soft:     #DCFCE7;
  --warning:          #CA8A04;
  --warning-soft:     #FEF9C3;
  --danger:           #DC2626;
  --danger-soft:      #FEE2E2;
  --info:             #1976D2;
  --info-soft:        #E3F2FD;

  /* ─── CORES :: gradiente atmosférico (hero) ─── */
  --gradient-sky-light:  #CFE7FF;  /* topo do hero */
  --gradient-sky-mid:    #DCEBFF;  /* meio do gradiente */
  --gradient-warm:       #FFF5D4;  /* base, sugere campo dourado */

  /* ─── TIPOGRAFIA :: famílias ─── */
  --font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  /* ─── TIPOGRAFIA :: escala (base 16px) ─── */
  --text-xxs:   11px;   /* caption uppercase / micro labels */
  --text-xs:    13px;   /* caption / code */
  --text-sm:    14px;   /* body small, nav, button */
  --text-base:  16px;   /* body default */
  --text-md:    18px;   /* title-md */
  --text-lg:    22px;   /* display-sm / card group */
  --text-xl:    28px;   /* display-md / sub-section */
  --text-2xl:   36px;   /* display-lg / section heads */
  --text-3xl:   48px;   /* display-xl / subsidiary heroes */
  --text-4xl:   64px;   /* display-mega / homepage hero */

  /* ─── TIPOGRAFIA :: pesos ─── */
  --weight-regular: 400;
  --weight-medium:  500;
  --weight-semibold: 600;

  /* ─── TIPOGRAFIA :: line-heights ─── */
  --lh-mega:    1.05;   /* hero h1 */
  --lh-display: 1.1;
  --lh-heading: 1.2;
  --lh-tight:   1.3;
  --lh-base:    1.5;
  --lh-loose:   1.65;

  /* ─── TIPOGRAFIA :: letter-spacing ─── */
  --ls-mega:    -0.03em;
  --ls-display: -0.02em;
  --ls-heading: -0.015em;
  --ls-tight:   -0.01em;
  --ls-base:    0;
  --ls-wide:    0.04em;
  --ls-caps:    0.08em;

  /* ─── SPACING :: base 4px ─── */
  --space-xxs:  4px;
  --space-xs:   8px;
  --space-sm:   12px;
  --space-base: 16px;
  --space-md:   20px;
  --space-lg:   24px;
  --space-xl:   32px;
  --space-2xl:  48px;
  --space-3xl:  64px;
  --space-section: 96px;
  --space-section-lg: 128px;

  /* ─── RADIUS ─── */
  --radius-xs:   4px;   /* inline tags */
  --radius-sm:   6px;   /* compact rows */
  --radius-md:   8px;   /* botões, inputs */
  --radius-lg:   12px;  /* cards padrão */
  --radius-xl:   16px;  /* cards atmosféricos / hero card */
  --radius-2xl:  24px;  /* large feature cards (raro) */
  --radius-pill: 9999px;

  /* ─── ELEVAÇÃO :: sombras ─── */
  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.08);
  --shadow-xl: 0 24px 60px rgba(0, 0, 0, 0.12);
  --shadow-focus: 0 0 0 3px rgba(13, 71, 161, 0.15);

  /* ─── MOTION ─── */
  --motion-instant: 100ms;
  --motion-fast:    180ms;
  --motion-base:    240ms;
  --motion-slow:    320ms;
  --easing-default: cubic-bezier(0.4, 0, 0.2, 1);
  --easing-out:     cubic-bezier(0.16, 1, 0.3, 1);

  /* ─── LAYOUT ─── */
  --container-sm:  640px;
  --container-md:  768px;
  --container-lg:  1024px;
  --container-xl:  1200px;
  --container-2xl: 1280px;

  --nav-height:    72px;
  --nav-height-mobile: 64px;

  /* ─── Z-INDEX ─── */
  --z-base:     1;
  --z-elevated: 10;
  --z-sticky:   100;
  --z-overlay:  500;
  --z-modal:    1000;
  --z-toast:    2000;
}

/* ────────────────────────────────────────────────────────────────
   Modo de impressão (laudos podem ser impressos pelo cliente)
   ──────────────────────────────────────────────────────────── */
@media print {
  :root {
    --canvas: #FFFFFF;
    --ink: #000000;
  }
}
