/* ═══════════════════════════════════════════════════════════════════════════
   TRUESOFT UNIFIED DESIGN SYSTEM - DESIGN TOKENS
   Modern, Premium, SaaS-oriented Design Language
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  /* ─────────────────────────────────────────────────────────────────────
     COLOR PALETTE - Primary Brand Colors
     ───────────────────────────────────────────────────────────────────── */
  
  /* Primaries */
  --ts-primary-900: #0f1729;      /* Deep Tech Blue - Darkest */
  --ts-primary-800: #1a2d4a;      /* Deep Tech Blue - Dark */
  --ts-primary-700: #2543a5;      /* Deep Tech Blue - Primary */
  --ts-primary-600: #3a56d4;      /* Indigo - Mid */
  --ts-primary-500: #4a7eff;      /* Indigo - Light */
  --ts-primary-400: #6ba3ff;      /* Blue - Lighter */
  --ts-primary-300: #8fbfff;      /* Blue - Very Light */
  --ts-primary-200: #c4deff;      /* Blue - Pale */
  --ts-primary-100: #e6f0ff;      /* Blue - Ultra Pale */
  
  /* Secondary - Neon Cyan Accent */
  --ts-secondary-900: #0a4d5c;    /* Cyan - Dark */
  --ts-secondary-600: #00d9f0;    /* Neon Cyan - Vibrant */
  --ts-secondary-400: #4dfff8;    /* Cyan - Light */
  --ts-secondary-200: #b3fffa;    /* Cyan - Very Light */
  
  /* Neutrals */
  --ts-neutral-900: #0d0f14;      /* Near Black */
  --ts-neutral-800: #1a1d26;      /* Dark Gray */
  --ts-neutral-700: #2d3139;      /* Charcoal */
  --ts-neutral-600: #4a4d57;      /* Gray */
  --ts-neutral-500: #7a7d89;      /* Gray - Mid */
  --ts-neutral-400: #a8acb8;      /* Gray - Light */
  --ts-neutral-300: #d1d5e0;      /* Gray - Lighter */
  --ts-neutral-200: #e8eaef;      /* Gray - Pale */
  --ts-neutral-100: #f5f6fa;      /* Gray - Ultra Pale */
  --ts-neutral-50: #fafbfc;       /* Almost White */
  
  /* Semantic Colors */
  --ts-success: #10b981;          /* Green */
  --ts-success-light: #d1fae5;    /* Green - Light */
  --ts-warning: #f59e0b;          /* Amber */
  --ts-warning-light: #fef3c7;    /* Amber - Light */
  --ts-danger: #ef4444;           /* Red */
  --ts-danger-light: #fee2e2;     /* Red - Light */
  --ts-info: #3b82f6;             /* Blue */
  --ts-info-light: #dbeafe;       /* Blue - Light */
  
  /* Gradients */
  --ts-gradient-primary: linear-gradient(135deg, #2543a5 0%, #4a7eff 100%);
  --ts-gradient-secondary: linear-gradient(135deg, #00d9f0 0%, #4dfff8 100%);
  --ts-gradient-dark: linear-gradient(135deg, #0f1729 0%, #1a2d4a 100%);
  --ts-gradient-neon: linear-gradient(135deg, #2543a5 0%, #00d9f0 100%);
  
  /* ─────────────────────────────────────────────────────────────────────
     TYPOGRAPHY - Font Families and Scales
     ───────────────────────────────────────────────────────────────────── */
  
  /* Font Families */
  --ts-font-primary: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ts-font-secondary: 'Cairo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ts-font-mono: 'IBM Plex Mono', monospace;
  
  /* Font Sizes */
  --ts-size-2xs: 0.625rem;        /* 10px */
  --ts-size-xs: 0.75rem;          /* 12px */
  --ts-size-sm: 0.875rem;         /* 14px */
  --ts-size-base: 1rem;           /* 16px */
  --ts-size-lg: 1.125rem;         /* 18px */
  --ts-size-xl: 1.25rem;          /* 20px */
  --ts-size-2xl: 1.5rem;          /* 24px */
  --ts-size-3xl: 1.875rem;        /* 30px */
  --ts-size-4xl: 2.25rem;         /* 36px */
  --ts-size-5xl: 3rem;            /* 48px */
  --ts-size-6xl: 3.75rem;         /* 60px */
  
  /* Font Weights */
  --ts-weight-light: 300;
  --ts-weight-regular: 400;
  --ts-weight-medium: 500;
  --ts-weight-semibold: 600;
  --ts-weight-bold: 700;
  --ts-weight-extrabold: 800;
  
  /* Line Heights */
  --ts-leading-tight: 1.2;
  --ts-leading-snug: 1.375;
  --ts-leading-normal: 1.5;
  --ts-leading-relaxed: 1.625;
  --ts-leading-loose: 2;
  
  /* Letter Spacing */
  --ts-tracking-tight: -0.02em;
  --ts-tracking-normal: 0;
  --ts-tracking-wide: 0.025em;
  --ts-tracking-wider: 0.05em;
  
  /* ─────────────────────────────────────────────────────────────────────
     SPACING - Consistent Spacing Scale
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-space-0: 0;
  --ts-space-1: 0.25rem;          /* 4px */
  --ts-space-2: 0.5rem;           /* 8px */
  --ts-space-3: 0.75rem;          /* 12px */
  --ts-space-4: 1rem;             /* 16px */
  --ts-space-5: 1.25rem;          /* 20px */
  --ts-space-6: 1.5rem;           /* 24px */
  --ts-space-8: 2rem;             /* 32px */
  --ts-space-10: 2.5rem;          /* 40px */
  --ts-space-12: 3rem;            /* 48px */
  --ts-space-16: 4rem;            /* 64px */
  --ts-space-20: 5rem;            /* 80px */
  --ts-space-24: 6rem;            /* 96px */
  
  /* ─────────────────────────────────────────────────────────────────────
     BORDER RADIUS - Consistent Rounding
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-radius-none: 0;
  --ts-radius-xs: 0.25rem;        /* 4px */
  --ts-radius-sm: 0.5rem;         /* 8px */
  --ts-radius-base: 0.75rem;      /* 12px */
  --ts-radius-md: 1rem;           /* 16px */
  --ts-radius-lg: 1.5rem;         /* 24px */
  --ts-radius-xl: 2rem;           /* 32px */
  --ts-radius-2xl: 3rem;          /* 48px */
  --ts-radius-full: 9999px;       /* Full/Pill */
  
  /* ─────────────────────────────────────────────────────────────────────
     SHADOWS - Depth and Elevation
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-shadow-xs: 0 1px 2px 0 rgba(15, 23, 41, 0.05);
  --ts-shadow-sm: 0 1px 3px 0 rgba(15, 23, 41, 0.1), 0 1px 2px -1px rgba(15, 23, 41, 0.1);
  --ts-shadow-base: 0 4px 6px -1px rgba(15, 23, 41, 0.1), 0 2px 4px -2px rgba(15, 23, 41, 0.1);
  --ts-shadow-md: 0 10px 15px -3px rgba(15, 23, 41, 0.1), 0 4px 6px -4px rgba(15, 23, 41, 0.1);
  --ts-shadow-lg: 0 20px 25px -5px rgba(15, 23, 41, 0.1), 0 8px 10px -6px rgba(15, 23, 41, 0.1);
  --ts-shadow-xl: 0 25px 50px -12px rgba(15, 23, 41, 0.25);
  --ts-shadow-2xl: 0 25px 50px -12px rgba(15, 23, 41, 0.4);
  
  /* Glow Effects */
  --ts-glow-primary: 0 0 20px rgba(74, 126, 255, 0.3);
  --ts-glow-secondary: 0 0 20px rgba(0, 217, 240, 0.3);
  --ts-glow-danger: 0 0 15px rgba(239, 68, 68, 0.2);
  
  /* ─────────────────────────────────────────────────────────────────────
     TRANSITIONS & ANIMATIONS
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-duration-75: 75ms;
  --ts-duration-100: 100ms;
  --ts-duration-150: 150ms;
  --ts-duration-200: 200ms;
  --ts-duration-300: 300ms;
  --ts-duration-500: 500ms;
  --ts-duration-700: 700ms;
  --ts-duration-1000: 1000ms;
  
  --ts-timing-linear: linear;
  --ts-timing-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ts-timing-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ts-timing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ts-timing-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  
  /* ─────────────────────────────────────────────────────────────────────
     Z-INDEX SCALE
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-z-hide: -1;
  --ts-z-base: 0;
  --ts-z-dropdown: 100;
  --ts-z-sticky: 20;
  --ts-z-fixed: 1020;
  --ts-z-modal-backdrop: 1040;
  --ts-z-modal: 1050;
  --ts-z-popover: 1060;
  --ts-z-tooltip: 1070;
  
  /* ─────────────────────────────────────────────────────────────────────
     BREAKPOINTS (as CSS variables for JavaScript access)
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-breakpoint-xs: 0;
  --ts-breakpoint-sm: 576px;
  --ts-breakpoint-md: 768px;
  --ts-breakpoint-lg: 992px;
  --ts-breakpoint-xl: 1200px;
  --ts-breakpoint-2xl: 1400px;
  
  /* ─────────────────────────────────────────────────────────────────────
     GLASS MORPHISM & SOFT UI TOKENS
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-glass-light: rgba(255, 255, 255, 0.1);
  --ts-glass-medium: rgba(255, 255, 255, 0.15);
  --ts-glass-dark: rgba(15, 23, 41, 0.1);
  --ts-glass-blur: blur(20px);
  --ts-glass-backdrop: rgba(255, 255, 255, 0.8);
  
  /* ─────────────────────────────────────────────────────────────────────
     INTERACTIVE STATES
     ───────────────────────────────────────────────────────────────────── */
  
  --ts-transition-default: all var(--ts-duration-300) var(--ts-timing-ease-in-out);
  --ts-transition-fast: all var(--ts-duration-150) var(--ts-timing-ease-in-out);
  --ts-transition-slow: all var(--ts-duration-700) var(--ts-timing-ease-in-out);
}

/* ─────────────────────────────────────────────────────────────────────────
   DARK MODE OVERRIDES
   ───────────────────────────────────────────────────────────────────────── */

@media (prefers-color-scheme: dark) {
  :root {
    --ts-bg-primary: var(--ts-neutral-900);
    --ts-bg-secondary: var(--ts-neutral-800);
    --ts-bg-tertiary: var(--ts-neutral-700);
    --ts-text-primary: var(--ts-neutral-50);
    --ts-text-secondary: var(--ts-neutral-300);
    --ts-text-tertiary: var(--ts-neutral-400);
    --ts-border-color: var(--ts-neutral-700);
  }
}

@media (prefers-color-scheme: light) {
  :root {
    --ts-bg-primary: var(--ts-neutral-50);
    --ts-bg-secondary: white;
    --ts-bg-tertiary: var(--ts-neutral-100);
    --ts-text-primary: var(--ts-neutral-900);
    --ts-text-secondary: var(--ts-neutral-600);
    --ts-text-tertiary: var(--ts-neutral-500);
    --ts-border-color: var(--ts-neutral-200);
  }
}
