/* ==========================================================================
   HASCHED - Design Tokens
   Fuente única de verdad para el sistema de diseño
   ========================================================================== */

:root {
  /* ========================================
     COLORES
     ======================================== */
  
  /* Primario - Amarillo/Lima Hasched */
  --color-primary: #d4d82c;
  --color-primary-dark: #b8bc24;
  --color-primary-light: #e0e350;
  --color-primary-rgb: 212, 216, 44;
  
  /* Secundarios */
  --color-secondary: #f5f5f5;
  --color-secondary-dark: #e0e0e0;
  
  /* Azul del cintillo superior */
  --color-topbar: #1e3a8a;
  --color-topbar-dark: #1e3a8a;
  --color-topbar-light: #2563eb;
  
  /* Texto */
  --color-heading: #1f2937;
  --color-text: #4b5563;
  --color-text-muted: #9ca3af;
  --color-text-inverse: #ffffff;
  
  /* Fondos */
  --color-bg: #ffffff;
  --color-bg-alt: #f9fafb;
  --color-bg-dark: #111827;
  
  /* UI */
  --color-border: #e5e7eb;
  --color-border-input: #d1d5db;
  
  /* Estados */
  --color-success: #22c55e;
  --color-error: #ef4444;
  --color-warning: #f59e0b;
  --color-info: #3b82f6;
  
  /* ========================================
     TIPOGRAFÍA
     ======================================== */
  
  /* Familias */
  --font-primary: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading: var(--font-primary);
  
  /* Tamaños - Mobile First (base 16px) */
  --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: 2.5rem;     /* 40px */
  
  /* Pesos */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  
  /* Line heights */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;
  
  /* ========================================
     ESPACIADO (escala consistente)
     ======================================== */
  
  --space-xs: 0.25rem;    /* 4px */
  --space-sm: 0.5rem;     /* 8px */
  --space-md: 1rem;       /* 16px */
  --space-lg: 1.5rem;     /* 24px */
  --space-xl: 2rem;       /* 32px */
  --space-2xl: 3rem;      /* 48px */
  --space-3xl: 4rem;      /* 64px */
  --space-4xl: 6rem;      /* 96px */
  
  /* ========================================
     BORDES Y RADIOS
     ======================================== */
  
  --radius-sm: 0.25rem;   /* 4px */
  --radius-md: 0.5rem;    /* 8px */
  --radius-lg: 0.75rem;   /* 12px */
  --radius-xl: 1rem;      /* 16px */
  --radius-full: 9999px;
  
  --border-width: 1px;
  --border-width-thick: 2px;
  
  /* ========================================
     SOMBRAS
     ======================================== */
  
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  
  /* ========================================
     TRANSICIONES
     ======================================== */
  
  --transition-fast: 150ms ease;
  --transition-normal: 300ms ease;
  --transition-slow: 500ms ease;
  
  /* ========================================
     LAYOUT
     ======================================== */
  
  --container-max: 1200px;
  --container-padding: var(--space-md);
  
  /* Header */
  --header-topbar-height: 2.5rem;     /* 40px */
  --header-navbar-height: 5rem;       /* 80px */
  --header-total-height: 7.5rem;      /* 120px */
  
  /* Z-index */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-tooltip: 1060;
}

/* Ajustes para tablet y desktop */
@media (min-width: 768px) {
  :root {
    --container-padding: var(--space-lg);
    
    /* Ajuste de tamaños para pantallas más grandes */
    --text-3xl: 2rem;       /* 32px */
    --text-4xl: 2.5rem;     /* 40px */
    --text-5xl: 3rem;       /* 48px */
  }
}

@media (min-width: 1024px) {
  :root {
    --container-padding: var(--space-xl);
  }
}
