/* ========================================
   MUSLOOK — Design Tokens & CSS Variables
   ======================================== */

/* Light Mode (default) */
:root,
:root[data-theme="light"] {
  /* Colors */
  --bg-primary: #f8fafc; /* Clean off-white slate */
  --bg-secondary: #f1f5f9; /* Slate 100 */
  --bg-surface: #ffffff;
  --bg-card: var(--bg-surface);
  --bg-input: rgba(255, 255, 255, 0.8);
  
  /* Glassmorphism */
  --glass-bg: rgba(255, 255, 255, 0.55);
  --glass-border: rgba(255, 255, 255, 0.6);
  --glass-blur: blur(24px);

  /* Text colors */
  --text-primary: #0f172a; /* Slate 900 */
  --text-secondary: #475569; /* Slate 600 */
  --text-muted: #94a3b8; /* Slate 400 */

  /* Borders */
  --border-color: rgba(15, 23, 42, 0.08);
  --border-light: rgba(15, 23, 42, 0.04);

  /* Accents (Strict Palette) */
  --accent-primary: #1d4ed8; /* Muslook Blue */
  --accent-primary-hover: #1e40af;
  --accent-primary-rgb: 29, 78, 216;
  
  --accent-secondary: #10b981; /* Emerald Green */
  --accent-secondary-rgb: 16, 185, 129;
  
  --accent-success: #10b981;
  --accent-success-rgb: 16, 185, 129;
  
  --accent-danger: #ef4444; /* Alert Red */
  --accent-danger-rgb: 239, 68, 68;
  
  --accent-warning: #64748b; /* Slate Gray for warnings */
  --accent-warning-rgb: 100, 116, 139;
  
  --accent-info: #1d4ed8;
  --accent-info-rgb: 29, 78, 216;

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #10b981 0%, #059669 100%);
  --gradient-accent: linear-gradient(135deg, #10b981 0%, #059669 100%);
  --gradient-warm: linear-gradient(135deg, #64748b 0%, #475569 100%);
  
  /* Shadows - Premium and multi-layered */
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.03);
  --shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.05), 0 2px 4px -1px rgba(15, 23, 42, 0.03);
  --shadow-lg: 0 20px 25px -5px rgba(15, 23, 42, 0.05), 0 10px 10px -5px rgba(15, 23, 42, 0.02);
  --shadow-card: 0 10px 30px -5px rgba(15, 23, 42, 0.03), inset 0 1px 0 0 rgba(255, 255, 255, 0.6);
  --shadow-glow: 0 0 24px rgba(29, 78, 216, 0.1);

  /* Sidebar & Topbar */
  --sidebar-bg: rgba(255, 255, 255, 0.65);
  --sidebar-active-bg: rgba(29, 78, 216, 0.06);
  --topbar-bg: rgba(248, 250, 252, 0.65);

  /* Logo filter */
  --logo-filter: none;
}

/* Dark Mode */
:root[data-theme="dark"] {
  /* Colors */
  --bg-primary: #050811; /* Very deep rich obsidian black */
  --bg-secondary: #0b111e;
  --bg-surface: #0f172a;
  --bg-card: var(--bg-surface);
  --bg-input: #090d16;

  /* Glassmorphism */
  --glass-bg: rgba(11, 17, 30, 0.65);
  --glass-border: rgba(255, 255, 255, 0.05);
  --glass-blur: blur(28px);

  /* Text colors */
  --text-primary: #f8fafc;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;

  /* Borders */
  --border-color: rgba(255, 255, 255, 0.06);
  --border-light: rgba(255, 255, 255, 0.03);

  /* Accents */
  --accent-primary: #3b82f6;
  --accent-primary-hover: #60a5fa;
  --accent-primary-rgb: 59, 130, 246;
  
  --accent-secondary: #10b981;
  --accent-secondary-rgb: 16, 185, 129;
  
  --accent-success: #34d399;
  --accent-success-rgb: 52, 211, 153;
  
  --accent-warning: #94a3b8;
  --accent-warning-rgb: 148, 163, 184;
  
  --accent-danger: #f87171;
  --accent-danger-rgb: 248, 113, 113;
  
  --accent-info: #60a5fa;
  --accent-info-rgb: 96, 165, 250;

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
  --gradient-accent: linear-gradient(135deg, #059669 0%, #10b981 100%);
  --gradient-warm: linear-gradient(135deg, #334155 0%, #475569 100%);
  
  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.4);
  --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.3), inset 0 1px 0 0 rgba(255, 255, 255, 0.05);
  --shadow-glow: 0 0 24px rgba(59, 130, 246, 0.15);

  /* Sidebar & Topbar */
  --sidebar-bg: rgba(5, 8, 17, 0.7);
  --sidebar-active-bg: rgba(59, 130, 246, 0.08);
  --topbar-bg: rgba(5, 8, 17, 0.7);

  /* Logo filter */
  --logo-filter: brightness(0) invert(1) drop-shadow(0 0 1px rgba(255,255,255,0.8));
}

/* Spacing & Typography Shared Tokens */
:root {
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;

  /* Fonts */
  --font-display: 'Outfit', 'Plus Jakarta Sans', sans-serif;
  --font-body: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Border Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 26px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 280ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 450ms cubic-bezier(0.4, 0, 0.2, 1);

  /* Z-index */
  --z-sidebar: 100;
  --z-topbar: 90;
  --z-dropdown: 200;
  --z-modal: 300;
  --z-toast: 400;

  /* Widths & Dimensions */
  --sidebar-width: 270px;
  --sidebar-collapsed-width: 80px;
  --topbar-height: 72px;
  --touch-target-min: 44px;
}
