/* ============================================================
   ABS Information Systems — Design Tokens
   Color scheme: Corporate Navy + Sky accent on neutral slate
   ============================================================ */

:root {

  /* ── BRAND — vivid electric indigo (InfoTek style) ────── */
  --brand-950: #0E1340;
  --brand-900: #1A1F66;
  --brand-800: #2A30A6;
  --brand-700: #2E3FD1;     /* primary hover */
  --brand-600: #3957FF;     /* PRIMARY */
  --brand-500: #5B6EFF;
  --brand-400: #818CFF;
  --brand-300: #A6ADFF;
  --brand-200: #C9CDFF;
  --brand-100: #E4E7FF;
  --brand-50:  #F2F4FF;

  /* Aliases kept so existing --navy-* references still resolve cleanly */
  --navy-950: var(--brand-950);
  --navy-900: var(--brand-900);
  --navy-800: var(--brand-700);
  --navy-700: var(--brand-600);
  --navy-600: var(--brand-500);
  --navy-500: var(--brand-500);
  --navy-400: var(--brand-400);
  --navy-300: var(--brand-300);
  --navy-200: var(--brand-200);
  --navy-100: var(--brand-100);
  --navy-50:  var(--brand-50);

  /* ── DECORATIVE ACCENT (orange/coral dot clusters) ──── */
  --accent-600: #FF6B3D;
  --accent-500: #FB923C;
  --accent-400: #FDBA74;
  --accent-100: #FFEDD5;

  /* ── SKY ACCENT (glow, underlines, highlights) ──────────── */
  --sky-700: #0369A1;
  --sky-600: #0284C7;
  --sky-500: #0EA5E9;
  --sky-400: #38BDF8;
  --sky-300: #7DD3FC;
  --sky-200: #BAE6FD;
  --sky-100: #E0F2FE;
  --sky-50:  #F0F9FF;

  /* ── DARK SLATE (structural / neutral ink) ─────────────── */
  --slate-950: #020617;
  --slate-900: #0F172A;
  --slate-800: #1E293B;
  --slate-700: #334155;
  --slate-600: #475569;
  --slate-500: #64748B;
  --slate-400: #94A3B8;
  --slate-300: #CBD5E1;
  --slate-200: #E2E8F0;
  --slate-100: #F1F5F9;
  --slate-50:  #F8FAFC;

  /* ── SEMANTIC (status colors — not brand) ──────────────── */
  --green-500: #10B981;
  --green-100: #D1FAE5;
  --amber-600: #D97706;
  --amber-500: #F59E0B;   /* warning badge */
  --amber-100: #FEF3C7;
  --red-600:   #DC2626;   /* error/destructive only */
  --red-100:   #FEE2E2;

  /* ── SEMANTIC ALIASES ──────────────────────────────────── */
  --color-primary:        var(--brand-600);
  --color-primary-hover:  var(--brand-700);
  --color-primary-light:  var(--brand-100);
  --color-accent:         var(--sky-500);
  --color-accent-soft:    var(--sky-100);
  --color-warm:           var(--accent-500);
  --color-dark:           var(--slate-900);
  --color-dark-2:         var(--slate-800);
  --color-body:           var(--slate-700);
  --color-muted:          var(--slate-500);
  --color-border:         var(--slate-200);
  --color-bg:             var(--slate-50);
  --color-bg-soft:        var(--navy-50);
  --color-white:          #FFFFFF;

  /* ── TYPOGRAPHY ────────────────────────────────────────── */
  --font-display: 'Plus Jakarta Sans', 'Segoe UI', system-ui, sans-serif;
  --font-body:    'Inter', 'Segoe UI', system-ui, sans-serif;

  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-md:   1.125rem;   /* 18px */
  --text-lg:   1.25rem;    /* 20px */
  --text-xl:   1.5rem;     /* 24px */
  --text-2xl:  1.875rem;   /* 30px */
  --text-3xl:  2.25rem;    /* 36px */
  --text-4xl:  3rem;       /* 48px */
  --text-5xl:  3.75rem;    /* 60px */
  --text-6xl:  4.5rem;     /* 72px */
  --text-7xl:  5.25rem;    /* 84px */

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

  --leading-none:    1;
  --leading-tight:   1.2;
  --leading-snug:    1.35;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  --tracking-tight:   -0.025em;
  --tracking-tighter: -0.04em;
  --tracking-wide:    0.05em;
  --tracking-widest:  0.12em;

  /* ── SPACING (4px base) ────────────────────────────────── */
  --space-1:  0.25rem;   /* 4px  */
  --space-2:  0.5rem;    /* 8px  */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */

  /* ── BORDER RADIUS ─────────────────────────────────────── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-3xl:  32px;
  --radius-full: 9999px;

  /* ── SHADOWS ───────────────────────────────────────────── */
  --shadow-xs:    0 1px 2px rgba(15,23,42,0.05);
  --shadow-sm:    0 2px 4px rgba(15,23,42,0.06), 0 1px 2px rgba(15,23,42,0.04);
  --shadow-md:    0 4px 12px rgba(15,23,42,0.08), 0 2px 4px rgba(15,23,42,0.05);
  --shadow-lg:    0 8px 24px rgba(15,23,42,0.10), 0 4px 8px rgba(15,23,42,0.06);
  --shadow-xl:    0 16px 48px rgba(15,23,42,0.14), 0 8px 16px rgba(15,23,42,0.08);
  --shadow-navy:  0 12px 32px rgba(57,87,255,0.22), 0 4px 12px rgba(57,87,255,0.18);
  --shadow-brand: 0 12px 32px rgba(57,87,255,0.30), 0 4px 12px rgba(57,87,255,0.18);
  --shadow-glow:  0 0 0 6px rgba(91,110,255,0.15), 0 12px 36px rgba(57,87,255,0.25);
  --shadow-focus: 0 0 0 3px rgba(57,87,255,0.30);

  /* ── LAYOUT ────────────────────────────────────────────── */
  --container-max:    1200px;
  --container-wide:   1400px;
  --container-px:     1.5rem;
  --nav-height:       72px;

  /* ── TRANSITIONS ───────────────────────────────────────── */
  --t-fast:   150ms ease;
  --t-base:   220ms ease;
  --t-slow:   350ms ease;
  --t-spring: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-INDEX ───────────────────────────────────────────── */
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
}
