/* === Design tokens (Campus WiFi — shadcn + maroon identity) ===
   Tokens only. Class rules removed — Tailwind utilities in HTML now.
*/
:root{
  --primary:#7b1e2b;
  --primary-dark:#5A1420;
  --primary-foreground:#ffffff;
  --gold:#C9A227;
  --ink:#14264b;
  --ink-soft:#1e2a3a;
  --muted:#64748b;
  --muted-strong:#475569;
  --line:#e2e8f0;
  --line-soft:#edf0f5;
  --surface:#ffffff;
  --surface-sunk:#f8fafc;
  --page:#f7f5f6;
  --danger:#991b1b;
  --danger-bg:#fef2f2;
  --danger-line:#fecaca;
  --success:#15803d;
  --success-bg:#f0fdf4;
  --success-line:#bbf7d0;
  --warning:#9a3412;
  --warning-bg:#fff7ed;
  --warning-line:#fed7aa;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-7:32px;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --shadow-card:0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.04);
  --shadow-focus:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
  --shared-layout-width:1280px;
  --role-super-bg:#ede9fe;
  --role-super-fg:#5b21b6;
  --role-campaign-bg:var(--danger-bg);
  --role-campaign-fg:var(--danger);
  --role-monitor-bg:var(--success-bg);
  --role-monitor-fg:var(--success);
  --background:var(--surface);
  --foreground:var(--ink);
  --card:var(--surface);
  --card-foreground:var(--ink);
  --popover:var(--surface);
  --popover-foreground:var(--ink);
  --primary-foreground:#fff;
  --secondary:#f1f5f9;
  --secondary-foreground:var(--ink-soft);
  --muted-foreground:var(--muted);
  --accent:#f8fafc;
  --accent-foreground:var(--ink-soft);
  --destructive:var(--danger);
  --destructive-foreground:#fff;
  --border:var(--line);
  --input:var(--line);
  --ring:var(--primary);
  --radius:var(--radius-md);
}

[data-theme="dark"]{
  color-scheme:dark;
  --ink:#e2e8f0;
  --ink-soft:#cbd5e1;
  --muted:#94a3b8;
  --muted-strong:#cbd5e1;
  --line:#334155;
  --line-soft:#1e293b;
  --surface:#0f172a;
  --surface-sunk:#1e293b;
  --page:#020617;
  --danger:#f87171;
  --danger-bg:rgba(239,68,68,.12);
  --danger-line:rgba(239,68,68,.35);
  --success:#4ade80;
  --success-bg:rgba(34,197,94,.12);
  --success-line:rgba(34,197,94,.35);
  --warning:#fbbf24;
  --warning-bg:rgba(251,191,36,.12);
  --warning-line:rgba(251,191,36,.35);
  --shadow-card:0 1px 2px rgba(0,0,0,.4), 0 4px 8px rgba(0,0,0,.2);
  --shadow-focus:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent);
  --secondary:#1e293b;
  --secondary-foreground:#cbd5e1;
  --muted-foreground:#94a3b8;
  --accent:#1e293b;
  --accent-foreground:#cbd5e1;
  --border:#334155;
  --input:#334155;
  --role-super-bg:rgba(167,139,250,.15);
  --role-super-fg:#c4b5fd;
  --role-campaign-bg:rgba(248,113,113,.15);
  --role-campaign-fg:#fca5a5;
  --role-monitor-bg:rgba(74,222,128,.15);
  --role-monitor-fg:#86efac;
  --shadow-tint-08:0 1px 2px rgba(0,0,0,.4), 0 4px 8px rgba(0,0,0,.2);
}