/* ===========================================
   ConnectSoft Design System - Design Tokens
   Version: 1.0.0
   
   This file contains all design tokens extracted from Figma.
   Update these values when design files are provided.
   =========================================== */

:root {
    /* ===========================================
       COLOR TOKENS
       =========================================== */
    
    /* Brand Colors - Primary */
    --color-primary-50: 239 246 255;   /* #eff6ff */
    --color-primary-100: 219 234 254;  /* #dbeafe */
    --color-primary-200: 191 219 254;  /* #bfdbfe */
    --color-primary-300: 147 197 253;  /* #93c5fd */
    --color-primary-400: 96 165 250;   /* #60a5fa */
    --color-primary-500: 59 130 246;   /* #3b82f6 - Main brand color */
    --color-primary-600: 37 99 235;    /* #2563eb */
    --color-primary-700: 29 78 216;    /* #1d4ed8 */
    --color-primary-800: 30 64 175;    /* #1e40af */
    --color-primary-900: 30 58 138;    /* #1e3a8a */
    --color-primary-950: 23 37 84;     /* #172554 */
    
    /* Brand Colors - Secondary (Teal/Cyan) */
    --color-secondary-50: 236 254 255;  /* #ecfeff */
    --color-secondary-100: 207 250 254; /* #cffafe */
    --color-secondary-200: 165 243 252; /* #a5f3fc */
    --color-secondary-300: 103 232 249; /* #67e8f9 */
    --color-secondary-400: 34 211 238;  /* #22d3ee */
    --color-secondary-500: 6 182 212;   /* #06b6d4 */
    --color-secondary-600: 8 145 178;   /* #0891b2 */
    --color-secondary-700: 14 116 144;  /* #0e7490 */
    --color-secondary-800: 21 94 117;   /* #155e75 */
    --color-secondary-900: 22 78 99;    /* #164e63 */
    --color-secondary-950: 8 51 68;     /* #083344 */
    
    /* Accent Colors - Success (Green) */
    --color-success-50: 240 253 244;   /* #f0fdf4 */
    --color-success-100: 220 252 231;  /* #dcfce7 */
    --color-success-200: 187 247 208;  /* #bbf7d0 */
    --color-success-300: 134 239 172;  /* #86efac */
    --color-success-400: 74 222 128;   /* #4ade80 */
    --color-success-500: 34 197 94;    /* #22c55e */
    --color-success-600: 22 163 74;    /* #16a34a */
    --color-success-700: 21 128 61;    /* #15803d */
    --color-success-800: 22 101 52;    /* #166534 */
    --color-success-900: 20 83 45;     /* #14532d */
    --color-success-950: 5 46 22;      /* #052e16 */
    
    /* Accent Colors - Warning (Amber) */
    --color-warning-50: 255 251 235;   /* #fffbeb */
    --color-warning-100: 254 243 199;  /* #fef3c7 */
    --color-warning-200: 253 230 138;  /* #fde68a */
    --color-warning-300: 252 211 77;   /* #fcd34d */
    --color-warning-400: 251 191 36;   /* #fbbf24 */
    --color-warning-500: 245 158 11;   /* #f59e0b */
    --color-warning-600: 217 119 6;    /* #d97706 */
    --color-warning-700: 180 83 9;     /* #b45309 */
    --color-warning-800: 146 64 14;    /* #92400e */
    --color-warning-900: 120 53 15;    /* #78350f */
    --color-warning-950: 69 26 3;      /* #451a03 */
    
    /* Accent Colors - Error (Red) */
    --color-error-50: 254 242 242;    /* #fef2f2 */
    --color-error-100: 254 226 226;   /* #fee2e2 */
    --color-error-200: 254 202 202;   /* #fecaca */
    --color-error-300: 252 165 165;   /* #fca5a5 */
    --color-error-400: 248 113 113;   /* #f87171 */
    --color-error-500: 239 68 68;     /* #ef4444 */
    --color-error-600: 220 38 38;     /* #dc2626 */
    --color-error-700: 185 28 28;     /* #b91c1c */
    --color-error-800: 153 27 27;     /* #991b1b */
    --color-error-900: 127 29 29;     /* #7f1d1d */
    --color-error-950: 69 10 10;      /* #450a0a */
    
    /* Neutral Colors (Gray) */
    --color-neutral-50: 249 250 251;  /* #f9fafb */
    --color-neutral-100: 243 244 246; /* #f3f4f6 */
    --color-neutral-200: 229 231 235; /* #e5e7eb */
    --color-neutral-300: 209 213 219; /* #d1d5db */
    --color-neutral-400: 156 163 175; /* #9ca3af */
    --color-neutral-500: 107 114 128; /* #6b7280 */
    --color-neutral-600: 75 85 99;    /* #4b5563 */
    --color-neutral-700: 55 65 81;    /* #374151 */
    --color-neutral-800: 31 41 55;    /* #1f2937 */
    --color-neutral-900: 17 24 39;    /* #111827 */
    --color-neutral-950: 3 7 18;      /* #030712 */
    
    /* Surface Colors */
    --color-surface-light: 255 255 255;      /* #ffffff */
    --color-surface-light-alt: 249 250 251;  /* #f9fafb */
    --color-surface-dark: 17 24 39;          /* #111827 */
    --color-surface-dark-alt: 31 41 55;      /* #1f2937 */
    
    /* Text Colors */
    --color-text-primary-light: 17 24 39;    /* #111827 */
    --color-text-secondary-light: 75 85 99;  /* #4b5563 */
    --color-text-muted-light: 156 163 175;   /* #9ca3af */
    --color-text-primary-dark: 249 250 251;  /* #f9fafb */
    --color-text-secondary-dark: 209 213 219;/* #d1d5db */
    --color-text-muted-dark: 156 163 175;    /* #9ca3af */
    
    /* ===========================================
       TYPOGRAPHY TOKENS
       =========================================== */
    
    /* Font Families */
    --font-family-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-family-hebrew: 'Heebo', 'Segoe UI', 'Arial Hebrew', Tahoma, Arial, sans-serif;
    --font-family-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
    
    /* Font Sizes - Using fluid typography scale */
    --font-size-xs: 0.75rem;     /* 12px */
    --font-size-sm: 0.875rem;    /* 14px */
    --font-size-base: 1rem;      /* 16px */
    --font-size-lg: 1.125rem;    /* 18px */
    --font-size-xl: 1.25rem;     /* 20px */
    --font-size-2xl: 1.5rem;     /* 24px */
    --font-size-3xl: 1.875rem;   /* 30px */
    --font-size-4xl: 2.25rem;    /* 36px */
    --font-size-5xl: 3rem;       /* 48px */
    --font-size-6xl: 3.75rem;    /* 60px */
    --font-size-7xl: 4.5rem;     /* 72px */
    
    /* Line Heights */
    --line-height-none: 1;
    --line-height-tight: 1.25;
    --line-height-snug: 1.375;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;
    --line-height-loose: 2;
    
    /* Font Weights */
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    
    /* Letter Spacing */
    --letter-spacing-tighter: -0.05em;
    --letter-spacing-tight: -0.025em;
    --letter-spacing-normal: 0em;
    --letter-spacing-wide: 0.025em;
    --letter-spacing-wider: 0.05em;
    --letter-spacing-widest: 0.1em;
    
    /* ===========================================
       SPACING TOKENS
       =========================================== */
    
    --spacing-0: 0;
    --spacing-px: 1px;
    --spacing-0-5: 0.125rem;  /* 2px */
    --spacing-1: 0.25rem;     /* 4px */
    --spacing-1-5: 0.375rem;  /* 6px */
    --spacing-2: 0.5rem;      /* 8px */
    --spacing-2-5: 0.625rem;  /* 10px */
    --spacing-3: 0.75rem;     /* 12px */
    --spacing-3-5: 0.875rem;  /* 14px */
    --spacing-4: 1rem;        /* 16px */
    --spacing-5: 1.25rem;     /* 20px */
    --spacing-6: 1.5rem;      /* 24px */
    --spacing-7: 1.75rem;     /* 28px */
    --spacing-8: 2rem;        /* 32px */
    --spacing-9: 2.25rem;     /* 36px */
    --spacing-10: 2.5rem;     /* 40px */
    --spacing-11: 2.75rem;    /* 44px */
    --spacing-12: 3rem;       /* 48px */
    --spacing-14: 3.5rem;     /* 56px */
    --spacing-16: 4rem;       /* 64px */
    --spacing-20: 5rem;       /* 80px */
    --spacing-24: 6rem;       /* 96px */
    --spacing-28: 7rem;       /* 112px */
    --spacing-32: 8rem;       /* 128px */
    --spacing-36: 9rem;       /* 144px */
    --spacing-40: 10rem;      /* 160px */
    --spacing-44: 11rem;      /* 176px */
    --spacing-48: 12rem;      /* 192px */
    --spacing-52: 13rem;      /* 208px */
    --spacing-56: 14rem;      /* 224px */
    --spacing-60: 15rem;      /* 240px */
    --spacing-64: 16rem;      /* 256px */
    --spacing-72: 18rem;      /* 288px */
    --spacing-80: 20rem;      /* 320px */
    --spacing-96: 24rem;      /* 384px */
    
    /* ===========================================
       BORDER RADIUS TOKENS
       =========================================== */
    
    --radius-none: 0;
    --radius-sm: 0.125rem;    /* 2px */
    --radius-default: 0.25rem; /* 4px */
    --radius-md: 0.375rem;    /* 6px */
    --radius-lg: 0.5rem;      /* 8px */
    --radius-xl: 0.75rem;     /* 12px */
    --radius-2xl: 1rem;       /* 16px */
    --radius-3xl: 1.5rem;     /* 24px */
    --radius-full: 9999px;
    
    /* ===========================================
       SHADOW TOKENS
       =========================================== */
    
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-default: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --shadow-none: 0 0 #0000;
    
    /* ===========================================
       TRANSITION TOKENS
       =========================================== */
    
    --transition-duration-fast: 150ms;
    --transition-duration-default: 200ms;
    --transition-duration-slow: 300ms;
    --transition-duration-slower: 500ms;
    
    --transition-timing-default: cubic-bezier(0.4, 0, 0.2, 1);
    --transition-timing-linear: linear;
    --transition-timing-in: cubic-bezier(0.4, 0, 1, 1);
    --transition-timing-out: cubic-bezier(0, 0, 0.2, 1);
    --transition-timing-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    
    /* ===========================================
       Z-INDEX TOKENS
       =========================================== */
    
    --z-index-dropdown: 1000;
    --z-index-sticky: 1020;
    --z-index-fixed: 1030;
    --z-index-modal-backdrop: 1040;
    --z-index-modal: 1050;
    --z-index-popover: 1060;
    --z-index-tooltip: 1070;
    --z-index-toast: 1080;
    
    /* ===========================================
       BREAKPOINT TOKENS (for reference only)
       =========================================== */
    
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
    --breakpoint-2xl: 1536px;
    
    /* ===========================================
       CONTAINER TOKENS
       =========================================== */
    
    --container-max-width: 1280px;
    --container-padding-x: var(--spacing-4);
    --container-padding-x-md: var(--spacing-6);
    --container-padding-x-lg: var(--spacing-8);
}

/* ===========================================
   SEMANTIC COLOR ALIASES
   These map design tokens to semantic purposes
   =========================================== */

:root {
    /* Interactive elements */
    --color-link: rgb(var(--color-primary-600));
    --color-link-hover: rgb(var(--color-primary-700));
    --color-link-visited: rgb(var(--color-primary-800));
    
    /* Focus states */
    --color-focus-ring: rgb(var(--color-primary-500));
    --color-focus-ring-offset: rgb(var(--color-surface-light));
    
    /* Borders */
    --color-border-default: rgb(var(--color-neutral-200));
    --color-border-hover: rgb(var(--color-neutral-300));
    --color-border-focus: rgb(var(--color-primary-500));
    
    /* Backgrounds */
    --color-bg-page: rgb(var(--color-neutral-50));
    --color-bg-card: rgb(var(--color-surface-light));
    --color-bg-input: rgb(var(--color-surface-light));
    --color-bg-hover: rgb(var(--color-neutral-100));
    --color-bg-active: rgb(var(--color-neutral-200));
}

/* Dark mode semantic overrides */
.dark {
    --color-link: rgb(var(--color-primary-400));
    --color-link-hover: rgb(var(--color-primary-300));
    --color-link-visited: rgb(var(--color-primary-500));
    
    --color-focus-ring-offset: rgb(var(--color-surface-dark));
    
    --color-border-default: rgb(var(--color-neutral-700));
    --color-border-hover: rgb(var(--color-neutral-600));
    
    --color-bg-page: rgb(var(--color-neutral-900));
    --color-bg-card: rgb(var(--color-surface-dark-alt));
    --color-bg-input: rgb(var(--color-neutral-800));
    --color-bg-hover: rgb(var(--color-neutral-800));
    --color-bg-active: rgb(var(--color-neutral-700));
}
