/* ============================================================
   CorePal Design Tokens
   Single source of truth for all design decisions.
   ============================================================ */

:root {
  /* ── Color Palette ───────────────────────────────────────── */
  --color-primary-50:  #ECF3FF;
  --color-primary-100: #C5D9FF;
  --color-primary-200: #84B3FF;
  --color-primary-300: #5395F6;
  --color-primary-500: #1447E6;
  --color-primary-600: #0148B0;
  --color-primary-700: #013A8A;
  --color-primary-900: #010F2E;

  --color-accent:      #F45F59;
  --color-accent-dark: #D94540;

  --color-neutral-0:   #FFFFFF;
  --color-neutral-50:  #F4F5F8;
  --color-neutral-100: #E8EAEF;
  --color-neutral-200: #D0D3DC;
  --color-neutral-400: #8E93A8;
  --color-neutral-600: #5A5F74;
  --color-neutral-800: #1E2030;
  --color-neutral-900: #12131A;
  --color-neutral-950: #0A0A0A;

  /* ── Semantic Colors ─────────────────────────────────────── */
  --color-bg-body:        var(--color-neutral-0);
  --color-bg-subtle:      var(--color-neutral-50);
  --color-bg-dark:        var(--color-primary-600);
  --color-bg-darker:      var(--color-neutral-900);
  --color-bg-darkest:     var(--color-neutral-950);

  --color-text-primary:   var(--color-neutral-950);
  --color-text-secondary: var(--color-neutral-600);
  --color-text-invert:    var(--color-neutral-0);
  --color-text-brand:     var(--color-primary-500);
  --color-text-muted:     var(--color-neutral-400);

  --color-border:         var(--color-neutral-100);
  --color-border-dark:    rgba(255, 255, 255, 0.15);

  --color-success:        #1E8E5A;
  --color-success-bg:     #E8F6EF;
  --color-error:          var(--color-accent-dark);
  --color-error-bg:       #FDECEC;

  /* ── Typography ──────────────────────────────────────────── */
  --font-family-base: 'Montserrat', 'Red Hat Display', system-ui, sans-serif;
  --font-family-mono: 'Menlo', monospace;

  /* Scale: 1.25 Major Third */
  --font-size-xs:   0.75rem;   /* 12px */
  --font-size-sm:   0.875rem;  /* 14px */
  --font-size-base: 1rem;      /* 16px */
  --font-size-lg:   1.125rem;  /* 18px */
  --font-size-xl:   1.25rem;   /* 20px */
  --font-size-2xl:  1.5rem;    /* 24px */
  --font-size-3xl:  1.875rem;  /* 30px */
  --font-size-4xl:  2.25rem;   /* 36px */
  --font-size-5xl:  3rem;      /* 48px */
  --font-size-6xl:  3.75rem;   /* 60px */

  --font-weight-regular:   400;
  --font-weight-medium:    500;
  --font-weight-semibold:  600;
  --font-weight-bold:      700;
  --font-weight-black:     900;

  --line-height-tight:  1.1;
  --line-height-snug:   1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed:1.65;

  --letter-spacing-tight:  -0.03em;
  --letter-spacing-normal:  0;
  --letter-spacing-wide:    0.05em;
  --letter-spacing-wider:   0.1em;
  --letter-spacing-label:   0.08em;

  /* ── Spacing (8px 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 */

  /* ── Section Padding ─────────────────────────────────────── */
  --section-py: var(--space-20);
  --section-px: var(--space-6);

  /* ── Layout ──────────────────────────────────────────────── */
  --container-max:   1280px;
  --container-inner: 1140px;
  --nav-height:      72px;

  /* ── Border Radius ───────────────────────────────────────── */
  --radius-sm:   0.25rem;   /* 4px  */
  --radius-md:   0.5rem;    /* 8px  */
  --radius-lg:   1rem;      /* 16px */
  --radius-xl:   1.25rem;   /* 20px */
  --radius-2xl:  1.5rem;    /* 24px */
  --radius-full: 9999px;

  /* ── Shadows ─────────────────────────────────────────────── */
  --shadow-sm:  0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md:  0 4px 16px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.06);
  --shadow-lg:  0 10px 40px rgba(0,0,0,.15), 0 4px 12px rgba(0,0,0,.08);
  --shadow-card:0 2px 12px rgba(20,71,230,.10);

  /* ── Alpha Overlays ─────────────────────────────────────── */
  --color-alpha-dark-90: rgba(0, 0, 0, 0.09);
  --color-alpha-dark-10: rgba(0, 0, 0, 0.01);

  /* ── Card Gradient Tokens ───────────────────────────────── */
  --color-blue-50:          var(--color-primary-50);   /* #ECF3FF */
  --bg-card-gradient-end:   var(--color-neutral-0);    /* #FFF    */
  --color-border-blue:      #9BB3FB;

  /* ── Transitions ─────────────────────────────────────────── */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;

  /* ── Z-index ─────────────────────────────────────────────── */
  --z-nav:     100;
  --z-overlay: 200;
  --z-modal:   300;
}
