/* ============================================================
   ALP Design Tokens — variables.css
   Premium Enterprise Cybersecurity Design System
   ============================================================ */

:root {
  color-scheme: dark;
  /* ── Colour: Backgrounds ────────────────────────────────── */
  --bg-base:        #000000;
  --bg-primary:     #000000;
  --bg-secondary:   #040404;
  --bg-tertiary:    #080808;
  --bg-hover:       #121212;
  --bg-active:      #1a1a1a;
  --bg-elevated:    #080808;
  --bg-overlay:     rgba(0, 0, 0, 0.85);
  --bg-glass:       rgba(0, 0, 0, 0.95);
  --bg-input:       #050505;

  /* ── Colour: Borders ────────────────────────────────────── */
  --border-primary: #1e1e1e;
  --border-hover:   #2a2a2a;
  --border-active:  #333333;
  --border-focus:   #D4AF37;
  --border-subtle:  rgba(255, 255, 255, 0.04);
  --border-gold:    rgba(212, 175, 55, 0.25);

  /* ── Colour: Text ───────────────────────────────────────── */
  --text-primary:   #e8e8e8;
  --text-secondary: #999999;
  --text-tertiary:  #777777;
  --text-muted:     #555555;
  --text-inverse:   #0a0a0a;
  --text-placeholder:#4a4a4a;

  /* ── Colour: Accent / Brand (Gold) ──────────────────────── */
  --accent-primary:       #D4AF37;
  --accent-primary-hover: #E8C547;
  --accent-primary-muted: rgba(212, 175, 55, 0.10);
  --accent-primary-ring:  rgba(212, 175, 55, 0.20);

  /* ── Colour: Semantic ───────────────────────────────────── */
  --color-success:        #22c55e;
  --color-success-muted:  rgba(34, 197, 94, 0.12);
  --color-success-hover:  #4ade80;

  --color-warning:        #f59e0b;
  --color-warning-muted:  rgba(245, 158, 11, 0.12);
  --color-warning-hover:  #fbbf24;

  --color-danger:         #ef4444;
  --color-danger-muted:   rgba(239, 68, 68, 0.12);
  --color-danger-hover:   #f87171;

  --color-info:           #3b82f6;
  --color-info-muted:     rgba(59, 130, 246, 0.12);
  --color-info-hover:     #60a5fa;

  /* ── Gradients ──────────────────────────────────────────── */
  --gradient-primary:   linear-gradient(135deg, #D4AF37, #B8962E);
  --gradient-accent:    linear-gradient(135deg, #D4AF37 0%, #E8C547 50%, #D4AF37 100%);
  --gradient-success:   linear-gradient(135deg, #22c55e, #4ade80);
  --gradient-danger:    linear-gradient(135deg, #ef4444, #f87171);
  --gradient-surface:   linear-gradient(145deg, rgba(212, 175, 55, 0.02) 0%, transparent 50%);
  --gradient-glow:      radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(212, 175, 55, 0.03), transparent 40%);
  --gradient-login-bg:  #000000;
  --gradient-mesh:      radial-gradient(at 0% 0%, rgba(212, 175, 55, 0.04) 0px, transparent 50%),
                        radial-gradient(at 100% 0%, rgba(212, 175, 55, 0.02) 0px, transparent 50%),
                        radial-gradient(at 100% 100%, rgba(212, 175, 55, 0.02) 0px, transparent 50%),
                        radial-gradient(at 0% 100%, rgba(212, 175, 55, 0.03) 0px, transparent 50%);

  /* ── Shadows ────────────────────────────────────────────── */
  --shadow-xs:    0 1px 2px  rgba(0, 0, 0, 0.40);
  --shadow-sm:    0 2px 6px  rgba(0, 0, 0, 0.45);
  --shadow-md:    0 4px 16px rgba(0, 0, 0, 0.50);
  --shadow-lg:    0 8px 32px rgba(0, 0, 0, 0.55);
  --shadow-xl:    0 20px 60px rgba(0, 0, 0, 0.60);
  --shadow-glow:  0 0 20px rgba(212, 175, 55, 0.10);
  --shadow-card-hover: 0 8px 30px rgba(0, 0, 0, 0.50), 0 0 0 1px rgba(212, 175, 55, 0.12);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.03);

  /* ── Border Radius ──────────────────────────────────────── */
  --radius-xs:    4px;
  --radius-sm:    6px;
  --radius-md:    8px;
  --radius-lg:    10px;
  --radius-xl:    14px;
  --radius-2xl:   18px;
  --radius-pill:  9999px;
  --radius-card:  10px;
  --radius-input: 8px;

  /* ── Typography ─────────────────────────────────────────── */
  --font-sans:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', 'SF Mono', 'Cascadia Code', Consolas, monospace;

  --text-xs:      0.75rem;    /* 12px */
  --text-sm:      0.8125rem;  /* 13px */
  --text-base:    0.875rem;   /* 14px */
  --text-md:      1rem;       /* 16px */
  --text-lg:      1.125rem;   /* 18px */
  --text-xl:      1.25rem;    /* 20px */
  --text-2xl:     1.5rem;     /* 24px */
  --text-3xl:     1.875rem;   /* 30px */
  --text-4xl:     2.25rem;    /* 36px */

  --leading-tight:    1.25;
  --leading-normal:   1.5;
  --leading-relaxed:  1.625;

  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.03em;

  --font-normal:   400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;

  /* ── Spacing Scale ──────────────────────────────────────── */
  --space-0:   0;
  --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 */

  /* ── Transitions ────────────────────────────────────────── */
  --duration-fast:    100ms;
  --duration-normal:  200ms;
  --duration-slow:    300ms;
  --duration-slower:  500ms;
  --ease-out:         cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:      cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring:      cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-bounce:      cubic-bezier(0.68, -0.55, 0.27, 1.55);
  --transition-base:  var(--duration-normal) var(--ease-out);
  --transition-fast:  var(--duration-fast) var(--ease-out);
  --transition-slow:  var(--duration-slow) var(--ease-out);

  /* ── Z-index Scale ──────────────────────────────────────── */
  --z-base:       0;
  --z-dropdown:   100;
  --z-sticky:     200;
  --z-header:     300;
  --z-sidebar:    400;
  --z-overlay:    500;
  --z-modal:      600;
  --z-toast:      700;
  --z-tooltip:    800;
  --z-max:        9999;

  /* ── Layout ─────────────────────────────────────────────── */
  --sidebar-width:          260px;
  --sidebar-collapsed:      72px;
  --header-height:          64px;
  --content-max-width:      1400px;
  --page-padding:           var(--space-6);
  --page-padding-mobile:    var(--space-4);
}

/* ============================================================
   Light Theme Overrides
   ============================================================ */
[data-theme='light'] {
  color-scheme: light;
  --bg-base:        #f5f5f0;
  --bg-primary:     #fafaf8;
  --bg-secondary:   #ffffff;
  --bg-tertiary:    #f0f0ec;
  --bg-hover:       #e8e8e2;
  --bg-active:      #deded8;
  --bg-elevated:    #ffffff;
  --bg-overlay:     rgba(10, 10, 10, 0.25);
  --bg-glass:       rgba(255, 255, 255, 0.80);
  --bg-input:       #ffffff;

  --border-primary: #e0e0dc;
  --border-hover:   #d0d0ca;
  --border-active:  #b0b0a8;
  --border-subtle:  rgba(10, 10, 10, 0.04);

  --text-primary:   #1a1a1a;
  --text-secondary: #555555;
  --text-tertiary:  #777777;
  --text-muted:     #999999;
  --text-inverse:   #e8e8e8;
  --text-placeholder:#999999;

  --accent-primary-muted: rgba(212, 175, 55, 0.08);
  --accent-primary-ring:  rgba(212, 175, 55, 0.15);

  --color-success-muted: rgba(34, 197, 94, 0.08);
  --color-warning-muted: rgba(245, 158, 11, 0.08);
  --color-danger-muted:  rgba(239, 68, 68, 0.08);
  --color-info-muted:    rgba(59, 130, 246, 0.08);

  --gradient-surface: linear-gradient(145deg, rgba(212, 175, 55, 0.02) 0%, transparent 50%);
  --gradient-glow:    radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(212, 175, 55, 0.02), transparent 40%);
  --gradient-login-bg: linear-gradient(135deg, #fafaf8 0%, #f0ead6 50%, #fafaf8 100%);

  --shadow-xs:    0 1px 2px  rgba(0, 0, 0, 0.04);
  --shadow-sm:    0 2px 4px  rgba(0, 0, 0, 0.05);
  --shadow-md:    0 4px 12px rgba(0, 0, 0, 0.06);
  --shadow-lg:    0 8px 24px rgba(0, 0, 0, 0.08);
  --shadow-xl:    0 16px 48px rgba(0, 0, 0, 0.10);
  --shadow-glow:  0 0 16px rgba(212, 175, 55, 0.06);
  --shadow-card-hover: 0 6px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(212, 175, 55, 0.10);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.60);
}
