/* ==========================================================================
   DYNAMIC THEME & ACCENT VARIABLES (ZERO CSS DUPLICATION)
   ========================================================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  /* Default Theme: Light Mode */
  --bg-primary: #f8fafc;
  --bg-secondary: #ffffff;
  --bg-card: #ffffff;
  --bg-hover: #f1f5f9;
  --bg-input: #f8fafc;
  
  --border-color: #e2e8f0;
  --border-light: #cbd5e1;
  --border-subtle: #f1f5f9;
  
  --text-main: #0f172a;
  --text-muted: #475569;
  --text-subtle: #94a3b8;
  
  /* Primary Accent Defaults (Indigo) */
  --accent-primary: #6366f1;
  --accent-hover: #4f46e5;
  --accent-light: rgba(99, 102, 241, 0.12);
  --accent-border: rgba(99, 102, 241, 0.25);
  --accent-glow: rgba(99, 102, 241, 0.35);
  
  /* Status Colors */
  --color-success: #10b981;
  --bg-success-light: rgba(16, 185, 129, 0.12);
  --color-warning: #f59e0b;
  --bg-warning-light: rgba(245, 158, 11, 0.12);
  --color-danger: #ef4444;
  --bg-danger-light: rgba(239, 68, 68, 0.12);
  --color-info: #3b82f6;
  --bg-info-light: rgba(59, 130, 246, 0.12);
  
  /* Glassmorphism & Elevation Tokens */
  --glass-bg: rgba(255, 255, 255, 0.85);
  --glass-border: rgba(255, 255, 255, 0.2);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
  --shadow-md: 0 4px 14px -1px rgba(0, 0, 0, 0.06), 0 2px 6px -1px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 12px 32px -4px rgba(15, 23, 42, 0.08), 0 4px 12px -2px rgba(15, 23, 42, 0.04);
  --shadow-glow: 0 0 20px var(--accent-glow);

  /* Layout Sizing & Curves */
  --sidebar-width: 260px;
  --sidebar-collapsed: 80px;
  --header-height: 70px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-smooth: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Dark Mode Overrides */
[data-theme="dark"] {
  --bg-primary: #0b0f19;
  --bg-secondary: #151d2a;
  --bg-card: #151d2a;
  --bg-hover: #1e293b;
  --bg-input: #0f172a;
  
  --border-color: #1e293b;
  --border-light: #334155;
  --border-subtle: #1e293b;
  
  --text-main: #f8fafc;
  --text-muted: #94a3b8;
  --text-subtle: #64748b;
  
  --glass-bg: rgba(21, 29, 42, 0.85);
  --glass-border: rgba(255, 255, 255, 0.08);
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 16px 36px rgba(0, 0, 0, 0.5);
}

/* Primary Color Accent Options */
[data-accent="emerald"] {
  --accent-primary: #10b981;
  --accent-hover: #059669;
  --accent-light: rgba(16, 185, 129, 0.12);
  --accent-border: rgba(16, 185, 129, 0.25);
  --accent-glow: rgba(16, 185, 129, 0.35);
}

[data-accent="blue"] {
  --accent-primary: #2563eb;
  --accent-hover: #1d4ed8;
  --accent-light: rgba(37, 99, 235, 0.12);
  --accent-border: rgba(37, 99, 235, 0.25);
  --accent-glow: rgba(37, 99, 235, 0.35);
}

[data-accent="purple"] {
  --accent-primary: #8b5cf6;
  --accent-hover: #7c3aed;
  --accent-light: rgba(139, 92, 246, 0.12);
  --accent-border: rgba(139, 92, 246, 0.25);
  --accent-glow: rgba(139, 92, 246, 0.35);
}

[data-accent="amber"] {
  --accent-primary: #f59e0b;
  --accent-hover: #d97706;
  --accent-light: rgba(245, 158, 11, 0.12);
  --accent-border: rgba(245, 158, 11, 0.25);
  --accent-glow: rgba(245, 158, 11, 0.35);
}
