:root {
    /* Institutional Alabaster Palette: High-Density Financial Design Tokens */
    --bg-obsidian: #fcfcfd; /* Alabaster White */
    --card-graphite: #fcfcfd; /* Pure White */
    --foundation-blue: #2563eb; /* Deep Foundation Blue */
    --foundation-blue-muted: #60a5fa; /* Muted Blue */
    --foundation-blue-hover: #1e40af;
    /* Admin/architect blue — a deeper shade of the foundation blue so ADMIN_LOGIN reads as a
       distinct-but-related blue vs member LOGIN. Computed from --foundation-blue, so it tracks
       any chroma palette automatically. Light mode darkens; dark mode (below) lightens. */
    --admin-blue: color-mix(in srgb, var(--foundation-blue) 66%, #000 34%);
    --border-silver: #d1d5db; /* Crisp Light Grey */
    --border-accent: rgba(37, 99, 235, 0.4);
    --text-main: #111827; /* Charcoal */
    --text-muted: #6b7280; /* Slate Grey */
    --terminal-recess: #edf2f7; /* Very Light Grey for Inputs */

    /* Dynamic Status Colors - Light Mode (600 Grade for Contrast) */
    --status-green: #16a34a;
    --status-red: #dc2626;
    --status-amber: #d97706;
    --status-purple: #8b5cf6;
    --status-orange: #ea580c;
    --status-teal: #0891b2; /* Gate-user funnel — cool, far from warm amber (activity log) */

    /* Dynamic UI Elements */
    --header-bg: transparent;
    --card-highlight: rgba(37, 99, 235, 0.04);
    --bg-green-muted: #f0fdf4;
    --bg-amber-muted: #fffbeb;
    --table-th-bg: #ffffff; /* Solid white for header anchor */
    --table-td-border: rgba(0, 0, 0, 0.04);
    --table-tr-hover: rgba(37, 99, 235, 0.04);
    --table-stripe: rgba(0, 0, 0, 0.03);
    --nav-btn-hover: #eff6ff;
    --nav-active-base: var(--foundation-blue);
    --nav-active-fill: var(--foundation-blue-hover);
    --shimmer-wave: rgba(37, 99, 235, 0.15);
}

/* One-frame transition kill during theme toggle: lets the palette swap apply instantly
   (no per-element color fade / "bleed") while KEEPING hover/interaction transitions the
   rest of the time. Added/removed around the dark-mode flip in toggleTheme(). */
body.no-transitions * { transition: none !important; }
.dark-mode {
    /* Institutional Terminal Palette: Deep Obsidian Overrides */
    --bg-obsidian: #161a23;
    --card-graphite: #161a23;
    --foundation-blue: #00a0dc;
    --foundation-blue-muted: #155e75;
    --foundation-blue-hover: #007eb3;
    /* Dark mode: lighten the foundation blue instead of darkening, so ADMIN_LOGIN stays readable on the obsidian bg. */
    --admin-blue: color-mix(in srgb, var(--foundation-blue) 70%, #fff 30%);
    --border-silver: #2d3748;
    --border-accent: rgba(0, 160, 220, 0.4);
    --text-main: #94a3b8;
    --text-muted: #64748b;
    --terminal-recess: #0a0c10;

    /* Dynamic Status Colors - Dark Mode (400 Grade Neon for High Pulse) */
    --status-green: #15803d;
    --status-red: #ef4444;
    --status-amber: #d97706;
    --status-purple: #a78bfa;
    --status-orange: #f97316;
    --status-teal: #22d3ee; /* Gate-user funnel — 400-grade neon (activity log) */

    /* Dynamic UI Elements */
    --header-bg: transparent;
    --card-highlight: rgba(0, 160, 220, 0.05);
    --bg-green-muted: rgba(22, 163, 74, 0.2);
    --bg-amber-muted: rgba(217, 119, 6, 0.2);
    --table-th-bg: var(--card-graphite);
    --table-td-border: rgba(255, 255, 255, 0.05);
    --table-tr-hover: rgba(0, 160, 220, 0.05);
    --table-stripe: rgba(255, 255, 255, 0.02);
    --nav-btn-hover: rgba(0, 160, 220, 0.1);
    --nav-active-base: var(--foundation-blue);
    --nav-active-fill: var(--foundation-blue-hover);
    --shimmer-wave: rgba(0, 160, 220, 0.15);
}
