/*
 * portal-tokens.css
 * Shared CSS design tokens for the master portal and all child exam platforms.
 * Each exam platform may extend or override these tokens in its own stylesheet.
 *
 * Load order: portal-tokens.css → exam-theme.css → component.css
 */

:root {
  /* ── Brand colours ──────────────────────────────────────── */
  --portal-brand-primary:   #1a56db;
  --portal-brand-secondary: #0e9f6e;
  --portal-brand-accent:    #ff5a1f;
  --portal-text-primary:    #111827;
  --portal-text-muted:      #6b7280;
  --portal-bg-page:         #f9fafb;
  --portal-bg-card:         #ffffff;
  --portal-border:          #e5e7eb;

  /* ── Category accent colours ────────────────────────────── */
  --cat-state-exams:        #1a56db;   /* blue   */
  --cat-college-entrance:   #7e3af2;   /* purple */
  --cat-private-school:     #0e9f6e;   /* green  */
  --cat-language-exams:     #ff5a1f;   /* orange */
  --cat-diagnostic:         #6b7280;   /* gray   */

  /* ── Spacing scale ──────────────────────────────────────── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* ── Typography ─────────────────────────────────────────── */
  --font-sans:   'Inter', 'Segoe UI', system-ui, sans-serif;
  --font-size-sm:   0.875rem;
  --font-size-base: 1rem;
  --font-size-lg:   1.125rem;
  --font-size-xl:   1.25rem;
  --font-size-2xl:  1.5rem;
  --font-size-3xl:  1.875rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* ── Radius & shadow ────────────────────────────────────── */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,.08);
  --shadow-lg: 0 8px 24px rgba(0,0,0,.10);

  /* ── Z-index ladder ─────────────────────────────────────── */
  --z-base:    0;
  --z-card:    10;
  --z-sticky:  100;
  --z-modal:   500;
  --z-toast:   900;
}
