/* ==========================================================================
   Vortex CRM — Design tokens
   Paleta derivada del logo (azul eléctrico → violeta).
   ========================================================================== */

:root {
  /* Marca / acento — Vortex */
  --color-primary-50: #eef0ff;
  --color-primary-100: #dde2ff;
  --color-primary-200: #c0c8ff;
  --color-primary-300: #97a3ff;
  --color-primary-400: #7080f5;
  --color-primary-500: #5b63f0;
  --color-primary-600: #4a3fd4;
  --color-primary-700: #3d32b0;
  --color-primary-800: #322a8a;
  --color-primary-900: #2a246e;

  --color-accent-blue: #4f7df0;
  --color-accent-violet: #8b5cf6;
  --color-accent-lavender: #c4b5fd;
  --gradient-brand: linear-gradient(135deg, #4f7df0 0%, #6d4ef2 45%, #8b5cf6 100%);
  --gradient-brand-soft: linear-gradient(135deg, rgba(79, 125, 240, 0.18), rgba(139, 92, 246, 0.12));

  /* Neutros */
  --color-neutral-0: #ffffff;
  --color-neutral-50: #f6f7fb;
  --color-neutral-100: #eceef5;
  --color-neutral-200: #d8dbe8;
  --color-neutral-300: #b5bad0;
  --color-neutral-400: #8b91ab;
  --color-neutral-500: #6b7289;
  --color-neutral-600: #4f556c;
  --color-neutral-700: #373d52;
  --color-neutral-800: #1e2333;
  --color-neutral-900: #111522;
  --color-neutral-950: #07090f;

  /* Semánticos */
  --color-success: #10b981;
  --color-success-bg: #d1fae5;
  --color-warning: #f59e0b;
  --color-warning-bg: #fef3c7;
  --color-danger: #ef4444;
  --color-danger-bg: #fee2e2;
  --color-info: #4f7df0;
  --color-info-bg: #dbe7ff;

  /* Superficies — default oscuro (marca Vortex) */
  --surface-bg: #07090f;
  --surface-card: #111522;
  --surface-sidebar: #05060b;
  --surface-border: #232839;
  --surface-hover: #1a2030;

  --text-primary: #f3f4f8;
  --text-secondary: #9aa3b8;
  --text-inverse: #07090f;
  --text-on-sidebar: #9aa3b8;
  --text-on-sidebar-active: #ffffff;

  /* Tipografía */
  --font-display: 'Sora', 'Plus Jakarta Sans', sans-serif;
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.8125rem;
  --font-size-base: 0.9375rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: 1.875rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Espaciado (base 4px) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;

  /* Radios y sombras */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 999px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.45);
  --shadow-focus: 0 0 0 3px rgba(91, 99, 240, 0.4);
  --shadow-glow: 0 0 40px rgba(109, 78, 242, 0.35);

  --sidebar-width: 248px;
  --topbar-height: 64px;
  --transition-fast: 150ms ease;
  --transition-base: 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

:root[data-theme='light'] {
  --surface-bg: var(--color-neutral-50);
  --surface-card: var(--color-neutral-0);
  --surface-sidebar: #0c0e16;
  --surface-border: var(--color-neutral-200);
  --surface-hover: var(--color-neutral-100);

  --text-primary: var(--color-neutral-900);
  --text-secondary: var(--color-neutral-500);
  --text-inverse: var(--color-neutral-0);

  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.12);
  --color-success-bg: #d1fae5;
  --color-warning-bg: #fef3c7;
  --color-danger-bg: #fee2e2;
  --color-info-bg: #dbe7ff;
}

:root[data-theme='dark'] {
  --surface-bg: #07090f;
  --surface-card: #111522;
  --surface-sidebar: #05060b;
  --surface-border: #232839;
  --surface-hover: #1a2030;

  --text-primary: #f3f4f8;
  --text-secondary: #9aa3b8;
}
