/* Variables CSS para el sistema de colores */
:root {
  /* Variables principales */
  --color-primary-50: #eff6ff;
  --color-primary-100: #dbeafe;
  --color-primary-200: #bfdbfe;
  --color-primary-300: #93c5fd;
  --color-primary-400: #60a5fa;
  --color-primary-500: #3b82f6;
  --color-primary-600: #2563eb;
  --color-primary-700: #1d4ed8;
  --color-primary-800: #1e40af;
  --color-primary-900: #1e3a8a;
  
  /* Variables de acento */
  --color-accent-50: #fefce8;
  --color-accent-100: #fef9c3;
  --color-accent-200: #fef08a;
  --color-accent-300: #fde047;
  --color-accent-400: #facc15;
  --color-accent-500: #eab308;
  --color-accent-600: #ca8a04;
  --color-accent-700: #a16207;
  --color-accent-800: #854d0e;
  --color-accent-900: #713f12;
  
  /* Variables neutras */
  --color-neutral-50: #f8fafc;
  --color-neutral-100: #f1f5f9;
  --color-neutral-200: #e2e8f0;
  --color-neutral-300: #cbd5e1;
  --color-neutral-400: #94a3b8;
  --color-neutral-500: #64748b;
  --color-neutral-600: #475569;
  --color-neutral-700: #334155;
  --color-neutral-800: #1e293b;
  --color-neutral-900: #0f172a;
  
  /* Variables de estado */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  
  /* Variables específicas del layout */
  --color-gradient-start: #1e40af;    /* Azul oscuro para gradiente superior */
  --color-gradient-end: #bfdbfe;      /* Azul claro para gradiente superior */
  --color-banner-bg: #facc15;         /* Amarillo para banner */
  --color-banner-text: #0f172a;       /* Texto negro para banner */
  --color-button-primary: #facc15;    /* Amarillo para botones principales */
  --color-button-text: #0f172a;       /* Texto negro para botones */
  --color-card-bg: #ffffff;           /* Fondo blanco para tarjetas */
  --color-text-primary: #0f172a;      /* Texto principal */
  --color-text-secondary: #475569;    /* Texto secundario */
  --color-border: #e2e8f0;            /* Bordes */
  --color-input-bg: #f8fafc;          /* Fondo de inputs */
  --color-input-border: #cbd5e1;      /* Bordes de inputs */
  --color-input-focus: #3b82f6;       /* Color de focus en inputs */
}

/* Clases de utilidad para colores */
.bg-gradient-primary {
  background: linear-gradient(135deg, var(--color-gradient-start) 0%, var(--color-gradient-end) 100%);
}

.bg-banner {
  background-color: var(--color-banner-bg);
  color: var(--color-banner-text);
}

.bg-card {
  background-color: var(--color-card-bg);
}

.text-primary {
  color: var(--color-text-primary);
}

.text-secondary {
  color: var(--color-text-secondary);
}

.border-custom {
  border-color: var(--color-border);
}

.bg-input {
  background-color: var(--color-input-bg);
  border-color: var(--color-input-border);
}

.focus-input:focus {
  border-color: var(--color-input-focus);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.btn-primary {
  background-color: var(--color-button-primary);
  color: var(--color-button-text);
}

.btn-primary:hover {
  background-color: var(--color-accent-500);
}
