/* ZEHNOX EduCloud — design tokens (light-first SaaS on the ZEHNOX palette) */
:root {
  /* Brand */
  --cobalt: #021b8c;         /* primary action (readable on light) */
  --cobalt-600: #0a2bb0;
  --cobalt-700: #041a75;
  --cobalt-050: #eef1fb;     /* tint surface */
  --cobalt-100: #dbe1f6;
  --lime: #cefd21;           /* ZEHNOX signature highlight (sparingly) */
  --lime-ink: #38430a;       /* readable text on lime */
  --ink: #13101f;            /* primary text */
  --paper: #f2f4f5;          /* app background */

  /* Neutrals */
  --white: #ffffff;
  --surface: #ffffff;
  --surface-2: #f7f8fa;
  --surface-3: #eef0f3;
  --border: #e4e7ec;
  --border-strong: #d0d5dd;
  --text: #13101f;
  --text-2: #4a4d57;         /* secondary */
  --text-3: #7a7d89;         /* muted */
  --text-inv: #ffffff;

  /* Semantic */
  --success: #129a5b;
  --success-bg: #e7f6ee;
  --warning: #b5730a;
  --warning-bg: #fbf1e0;
  --danger: #d63b3b;
  --danger-bg: #fbe9e9;
  --info: var(--cobalt);
  --info-bg: var(--cobalt-050);

  /* Role accents (for badges / dashboards) */
  --role-admin: #6d3bd6;
  --role-faculty: #0a7ea4;
  --role-student: #0f8a4d;
  --role-finance: #b5730a;

  /* Chart palette */
  --c1: #021b8c; --c2: #0a7ea4; --c3: #129a5b; --c4: #b5730a;
  --c5: #6d3bd6; --c6: #d63b3b; --c7: #7a7d89; --c8: #9fbf1e;

  /* Typography */
  --font-sans: 'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --fs-xs: 11.5px; --fs-sm: 12.5px; --fs-md: 14px; --fs-lg: 16px;
  --fs-xl: 19px; --fs-2xl: 23px; --fs-3xl: 29px;

  /* Spacing (4px base) */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px;
  --s6: 24px; --s7: 32px; --s8: 40px; --s9: 56px;
  /* aliases used by some modules (keep in sync with the scale above) */
  --sp-1: var(--s1); --sp-2: var(--s2); --sp-3: var(--s3); --sp-4: var(--s4); --sp-5: var(--s5); --sp-6: var(--s6);
  --accent: var(--cobalt);

  /* Radius */
  --r-sm: 6px; --r-md: 9px; --r-lg: 12px; --r-xl: 16px; --r-full: 999px;

  /* Elevation */
  --sh-1: 0 1px 2px rgba(16, 18, 27, .06), 0 1px 3px rgba(16, 18, 27, .05);
  --sh-2: 0 4px 12px rgba(16, 18, 27, .08), 0 2px 4px rgba(16, 18, 27, .04);
  --sh-3: 0 12px 32px rgba(16, 18, 27, .16), 0 4px 10px rgba(16, 18, 27, .08);
  --ring: 0 0 0 3px rgba(2, 27, 140, .18);

  /* Layout */
  --sidebar-w: 244px;
  --sidebar-w-collapsed: 68px;
  --topbar-h: 60px;
  --content-max: 1320px;

  --transition: 160ms cubic-bezier(.4, 0, .2, 1);
}
