/* =========================================================
   Impersol Design Tokens — fonte unica da verdade visual
   Extraido da auditoria de styles.css (scripts/design-audit.md)
   Paleta real: navy #1a3870 + dark #0c1222 + acentos semanticos
   ========================================================= */

:root {
  /* ---------- Marca (azul navy Impersol) ---------- */
  --imp-brand-50:   #eaf0fb;
  --imp-brand-100:  #c8d6ef;
  --imp-brand-200:  #93c5fd;
  --imp-brand-300:  #7a8bb0;
  --imp-brand-400:  #4a7fd4;   /* azul claro UI */
  --imp-brand-500:  #284d94;   /* primary */
  --imp-brand-600:  #1a3870;   /* primary-hover / titulo */
  --imp-brand-700:  #0f2550;

  /* ---------- Superficies (tema dark dominante) ---------- */
  --imp-bg:          #060913;   /* fundo app */
  --imp-bg-alt:      #090e1e;
  --imp-surface:     #0c1222;   /* cards */
  --imp-surface-alt: #0d1424;
  --imp-surface-3:   #111a2e;
  --imp-border:      #1f2a44;
  --imp-border-soft: #1a2440;

  /* ---------- Texto ---------- */
  --imp-text:        #ffffff;
  --imp-text-muted:  #94a3b8;
  --imp-text-dim:    #7a8bb0;
  --imp-text-faint:  #6b7280;
  --imp-text-invert: #0c1222;

  /* ---------- Cores semanticas ---------- */
  --imp-success:       #22c55e;
  --imp-success-soft:  #4ade80;
  --imp-success-bg:    rgba(34,197,94,.12);
  --imp-success-border:#15803d;

  --imp-warn:          #f59e0b;
  --imp-warn-soft:     #fcd34d;
  --imp-warn-bg:       rgba(245,158,11,.12);

  --imp-danger:        #ef4444;
  --imp-danger-soft:   #f87171;
  --imp-danger-bg:     rgba(239,68,68,.12);
  --imp-danger-border: #fca5a5;

  --imp-info:          #8b5cf6;
  --imp-info-soft:     #c4b5fd;
  --imp-info-bg:       rgba(139,92,246,.12);

  /* ---------- Espacamento (escala 4px) ---------- */
  --imp-space-0:  0;
  --imp-space-1:  4px;
  --imp-space-2:  8px;
  --imp-space-3:  12px;
  --imp-space-4:  16px;
  --imp-space-5:  20px;
  --imp-space-6:  24px;
  --imp-space-7:  32px;
  --imp-space-8:  40px;
  --imp-space-9:  48px;
  --imp-space-10: 64px;

  /* ---------- Tipografia ---------- */
  --imp-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --imp-text-xs:   11px;
  --imp-text-sm:   12px;
  --imp-text-md:   13px;   /* base do app — o mais usado na auditoria */
  --imp-text-lg:   14px;
  --imp-text-xl:   16px;
  --imp-text-2xl:  18px;
  --imp-text-3xl:  22px;
  --imp-text-4xl:  28px;

  --imp-weight-regular: 400;
  --imp-weight-medium:  500;
  --imp-weight-semibold:600;
  --imp-weight-bold:    700;

  --imp-leading-tight:  1.2;
  --imp-leading-normal: 1.45;
  --imp-leading-relaxed:1.6;

  /* ---------- Raios ---------- */
  --imp-radius-xs:  4px;
  --imp-radius-sm:  6px;
  --imp-radius-md:  10px;   /* dominante no app */
  --imp-radius-lg:  14px;
  --imp-radius-xl:  20px;
  --imp-radius-full:9999px;

  /* ---------- Sombras ---------- */
  --imp-shadow-xs: 0 1px 2px rgba(0,0,0,.3);
  --imp-shadow-sm: 0 2px 6px rgba(0,0,0,.35);
  --imp-shadow-md: 0 4px 14px rgba(0,0,0,.45);
  --imp-shadow-lg: 0 10px 30px rgba(0,0,0,.55);
  --imp-shadow-glow-brand:  0 0 0 3px rgba(74,127,212,.25);
  --imp-shadow-glow-danger: 0 0 0 3px rgba(239,68,68,.25);

  /* ---------- Motion ---------- */
  --imp-duration-fast:   120ms;
  --imp-duration-normal: 200ms;
  --imp-duration-slow:   320ms;
  --imp-ease-out:        cubic-bezier(.16,1,.3,1);
  --imp-ease-in-out:     cubic-bezier(.4,0,.2,1);

  /* ---------- Camadas ---------- */
  --imp-z-base:     1;
  --imp-z-dropdown: 100;
  --imp-z-sticky:   200;
  --imp-z-overlay:  900;
  --imp-z-modal:    1000;
  --imp-z-toast:    1100;

  /* ---------- Layout ---------- */
  --imp-container-sm:  640px;
  --imp-container-md:  960px;
  --imp-container-lg:  1200px;
  --imp-container-xl:  1440px;

  --imp-header-height:     56px;
  --imp-sidebar-width:     240px;
  --imp-sidebar-collapsed: 64px;
}

/* Tema claro opt-in (ainda nao usado — preparado pro futuro) */
[data-theme="light"] {
  --imp-bg:          #f8fafc;
  --imp-bg-alt:      #eef2f7;
  --imp-surface:     #ffffff;
  --imp-surface-alt: #f1f5f9;
  --imp-border:      #e2e8f0;
  --imp-text:        #0f172a;
  --imp-text-muted:  #475569;
  --imp-text-dim:    #64748b;
  --imp-text-invert: #ffffff;
}
