/* Consumer Coach - Design System Variables - 2026 Modern */
:root {
  /* ===========================================
     COLOR PALETTE - Green/Teal Brand Colors
     =========================================== */

  /* Primary - Emerald Green */
  --color-primary-50: #ECFDF5;
  --color-primary-100: #D1FAE5;
  --color-primary-200: #A7F3D0;
  --color-primary-300: #6EE7B7;
  --color-primary-400: #34D399;
  --color-primary-500: #10B981;
  --color-primary-600: #059669;
  --color-primary-700: #047857;
  --color-primary-800: #065F46;
  --color-primary-900: #064E3B;
  --color-primary-950: #022C22;

  /* Secondary - Teal */
  --color-secondary-50: #F0FDFA;
  --color-secondary-100: #CCFBF1;
  --color-secondary-200: #99F6E4;
  --color-secondary-300: #5EEAD4;
  --color-secondary-400: #2DD4BF;
  --color-secondary-500: #14B8A6;
  --color-secondary-600: #0D9488;
  --color-secondary-700: #0F766E;
  --color-secondary-800: #115E59;
  --color-secondary-900: #134E4A;

  /* Accent Colors */
  --color-accent: #34D399;
  --color-accent-light: #6EE7B7;

  /* Neutral - Cool Gray */
  --color-gray-50: #F9FAFB;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-300: #D1D5DB;
  --color-gray-400: #9CA3AF;
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;
  --color-gray-950: #030712;

  /* Semantic Colors */
  --color-success: #10B981;
  --color-success-light: #D1FAE5;
  --color-warning: #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-danger: #EF4444;
  --color-danger-light: #FEE2E2;
  --color-info: #06B6D4;
  --color-info-light: #CFFAFE;

  /* Surface Colors */
  --color-surface: #FFFFFF;
  --color-surface-elevated: #FAFAFA;
  --color-surface-sunken: #F5F5F5;
  --color-surface-overlay: rgba(0, 0, 0, 0.5);

  /* Text Colors */
  --color-text: #1F2937;
  --color-text-secondary: #4B5563;
  --color-text-muted: #6B7280;
  --color-text-light: #9CA3AF;
  --color-text-inverse: #FFFFFF;

  /* Brand Aliases */
  --primary: var(--color-primary-600);
  --primary-dark: var(--color-primary-700);
  --primary-light: var(--color-primary-500);
  --primary-rgb: 5, 150, 105;

  --secondary: var(--color-secondary-500);
  --secondary-dark: var(--color-secondary-600);
  --secondary-light: var(--color-secondary-400);
  --secondary-rgb: 20, 184, 166;

  --dark: var(--color-primary-950);
  --dark-light: var(--color-primary-900);

  /* Background Colors */
  --bg-light: var(--color-primary-50);
  --bg-white: #FFFFFF;
  --bg-green: var(--color-secondary-50);
  --bg-gradient: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-secondary-500) 100%);
  --bg-gradient-dark: linear-gradient(135deg, var(--color-primary-900) 0%, var(--color-secondary-800) 100%);

  /* ===========================================
     GLASSMORPHISM - 2026 Modern
     =========================================== */

  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-bg-dark: rgba(2, 44, 34, 0.85);
  --glass-border: rgba(255, 255, 255, 0.18);
  --glass-border-dark: rgba(5, 150, 105, 0.2);
  --glass-blur: blur(12px);
  --glass-blur-heavy: blur(20px);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  --glass-shadow-colored: 0 8px 32px rgba(5, 150, 105, 0.15);

  /* ===========================================
     TYPOGRAPHY
     =========================================== */

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  --font-heading: 'Plus Jakarta Sans', 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  /* Type Scale */
  --text-xs: 0.75rem;      /* 12px */
  --text-sm: 0.875rem;     /* 14px */
  --text-base: 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 */
  --text-5xl: 3rem;        /* 48px */
  --text-6xl: 3.75rem;     /* 60px */
  --text-7xl: 4.5rem;      /* 72px */

  /* Line Heights */
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;

  /* Font Weights */
  --font-thin: 100;
  --font-extralight: 200;
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --font-black: 900;

  /* Letter Spacing */
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;

  /* ===========================================
     SPACING
     =========================================== */

  --space-0: 0;
  --space-px: 1px;
  --space-0-5: 0.125rem;   /* 2px */
  --space-1: 0.25rem;      /* 4px */
  --space-1-5: 0.375rem;   /* 6px */
  --space-2: 0.5rem;       /* 8px */
  --space-2-5: 0.625rem;   /* 10px */
  --space-3: 0.75rem;      /* 12px */
  --space-3-5: 0.875rem;   /* 14px */
  --space-4: 1rem;         /* 16px */
  --space-5: 1.25rem;      /* 20px */
  --space-6: 1.5rem;       /* 24px */
  --space-7: 1.75rem;      /* 28px */
  --space-8: 2rem;         /* 32px */
  --space-9: 2.25rem;      /* 36px */
  --space-10: 2.5rem;      /* 40px */
  --space-11: 2.75rem;     /* 44px */
  --space-12: 3rem;        /* 48px */
  --space-14: 3.5rem;      /* 56px */
  --space-16: 4rem;        /* 64px */
  --space-20: 5rem;        /* 80px */
  --space-24: 6rem;        /* 96px */
  --space-28: 7rem;        /* 112px */
  --space-32: 8rem;        /* 128px */

  /* ===========================================
     SIZING
     =========================================== */

  --size-0: 0;
  --size-px: 1px;
  --size-1: 0.25rem;
  --size-2: 0.5rem;
  --size-3: 0.75rem;
  --size-4: 1rem;
  --size-5: 1.25rem;
  --size-6: 1.5rem;
  --size-8: 2rem;
  --size-10: 2.5rem;
  --size-12: 3rem;
  --size-16: 4rem;
  --size-20: 5rem;
  --size-24: 6rem;
  --size-32: 8rem;
  --size-40: 10rem;
  --size-48: 12rem;
  --size-56: 14rem;
  --size-64: 16rem;

  --size-full: 100%;
  --size-screen: 100vw;
  --size-min: min-content;
  --size-max: max-content;
  --size-fit: fit-content;

  /* ===========================================
     BORDERS & RADIUS
     =========================================== */

  --border-width: 1px;
  --border-width-2: 2px;
  --border-width-4: 4px;

  --border-color: var(--color-gray-200);
  --border-color-light: var(--color-gray-100);
  --border-color-dark: var(--color-gray-300);

  --radius-none: 0;
  --radius-sm: 0.375rem;    /* 6px */
  --radius: 0.5rem;         /* 8px */
  --radius-md: 0.75rem;     /* 12px */
  --radius-lg: 1rem;        /* 16px */
  --radius-xl: 1.5rem;      /* 24px */
  --radius-2xl: 2rem;       /* 32px */
  --radius-3xl: 2.5rem;     /* 40px */
  --radius-full: 9999px;

  /* ===========================================
     SHADOWS - Enhanced for 2026
     =========================================== */

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

  /* Colored Shadows */
  --shadow-green: 0 4px 14px rgba(5, 150, 105, 0.25);
  --shadow-green-lg: 0 10px 40px rgba(5, 150, 105, 0.2);
  --shadow-teal: 0 4px 14px rgba(20, 184, 166, 0.25);
  --shadow-glow: 0 0 40px rgba(5, 150, 105, 0.15);
  --shadow-glow-lg: 0 0 60px rgba(5, 150, 105, 0.2);

  /* ===========================================
     TRANSITIONS & ANIMATIONS
     =========================================== */

  /* Easing Functions */
  --ease-linear: linear;
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-snap: cubic-bezier(0.2, 0, 0, 1);

  /* Durations */
  --duration-75: 75ms;
  --duration-100: 100ms;
  --duration-150: 150ms;
  --duration-200: 200ms;
  --duration-300: 300ms;
  --duration-500: 500ms;
  --duration-700: 700ms;
  --duration-1000: 1000ms;

  /* Default Transition */
  --transition-fast: all 150ms var(--ease-out);
  --transition-normal: all 300ms var(--ease-out);
  --transition-slow: all 500ms var(--ease-out);

  /* ===========================================
     Z-INDEX SCALE
     =========================================== */

  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-fixed: 30;
  --z-modal-backdrop: 40;
  --z-modal: 50;
  --z-popover: 60;
  --z-tooltip: 70;
  --z-toast: 80;
  --z-max: 9999;

  /* ===========================================
     BREAKPOINTS (for reference in media queries)
     =========================================== */

  --breakpoint-xs: 320px;
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;

  /* ===========================================
     CONTAINER SIZES
     =========================================== */

  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;
  --container-2xl: 1536px;

  /* ===========================================
     COMPONENT SPECIFIC
     =========================================== */

  /* Header */
  --header-height: 80px;
  --header-height-mobile: 64px;
  --topbar-height: 40px;

  /* Sidebar */
  --sidebar-width: 280px;
  --sidebar-collapsed-width: 80px;

  /* Cards */
  --card-padding: var(--space-6);
  --card-radius: var(--radius-xl);

  /* Buttons */
  --btn-height-sm: 32px;
  --btn-height: 40px;
  --btn-height-lg: 48px;
  --btn-height-xl: 56px;

  /* Forms */
  --input-height: 48px;
  --input-height-sm: 40px;
  --input-padding-x: var(--space-4);
  --input-padding-y: var(--space-3);

  /* Safe Areas (for mobile) */
  --safe-area-top: env(safe-area-inset-top, 0px);
  --safe-area-bottom: env(safe-area-inset-bottom, 0px);
  --safe-area-left: env(safe-area-inset-left, 0px);
  --safe-area-right: env(safe-area-inset-right, 0px);
}

/* ===========================================
   DARK MODE VARIABLES
   =========================================== */

[data-theme="dark"],
.dark {
  --color-surface: #0f1419;
  --color-surface-elevated: #192734;
  --color-surface-sunken: #0a1018;
  --color-surface-overlay: rgba(0, 0, 0, 0.7);

  --color-text: #e7e9ea;
  --color-text-secondary: #8b98a5;
  --color-text-muted: #6e767d;
  --color-text-light: #4a5568;

  --border-color: #38444d;
  --border-color-light: #2f3942;

  --bg-light: #192734;
  --bg-white: #0f1419;
  --bg-green: #1a2f23;

  --glass-bg: rgba(15, 20, 25, 0.8);
  --glass-border: rgba(255, 255, 255, 0.1);

  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
}