/* style.css - TEMA ELEGANTE (Versión Anti-Transparencia)
   Se han sustituido variables críticas por valores fijos en la base 
   para asegurar visibilidad inmediata en móviles.
*/

/* 1. REFUERZO DE SEGURIDAD (Carga inmediata sin depender de variables) */
html {
    background-color: #F8F9FA !important;
}

body {
    background-color: #F8F9FA !important;
    color: #2C3E50 !important;
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

/* 
   VARIABLES CSS - PALETA DE COLORES
   ==================================================
*/

:root {
    /* 
       PALETA ELEGANTE PRINCIPAL 
       -----------------------------------------------
       Colores principales para la identidad visual
    */
    --primary: #5D6D7E;          /* Gris azulado medio - Color primario principal */
    --primary-light: #85929E;    /* Gris azulado claro - Versión clara del primario */
    --primary-dark: #34495E;     /* Gris azulado oscuro - Versión oscura del primario */
    
    --secondary: #AED6F1;        /* Azul cielo claro - Color secundario */
    --secondary-light: #D6EAF8;  /* Azul cielo muy claro - Versión clara del secundario */
    --secondary-dark: #85C1E9;   /* Azul cielo medio - Versión oscura del secundario */
    
    --accent: #A3E4D7;          /* Verde azulado suave - Color de acento */
    --accent-light: #D1F2EB;    /* Verde azulado muy claro - Versión clara del acento */
    --accent-dark: #76D7C4;     /* Verde azulado medio - Versión oscura del acento */
    
    /* 
       ESCALA DE GRISES 
       -----------------------------------------------
       Gama completa de grises para texto, fondos y bordes
    */
    --dark: #2C3E50;            /* Azul grisáceo muy oscuro - Para texto y elementos oscuros */
    --dark-light: #34495E;      /* Azul grisáceo oscuro - Ligeramente más claro que --dark */
    --light: #F8F9FA;           /* Gris casi blanco - Para fondos claros */
    --white: #FFFFFF;           /* Blanco puro - Para fondos y elementos blancos */
    --black: #1C2833;           /* Negro azulado - Casi negro para texto y elementos */
    
    /* Escala de grises sistemática (50 = más claro, 900 = más oscuro) */
    --gray-50: #F7F9F9;         /* Gris muy claro - Fondo de nivel 1 */
    --gray-100: #EBEDEF;        /* Gris claro - Fondo de nivel 2 */
    --gray-200: #D5D8DC;        /* Gris medio claro - Bordes y separadores */
    --gray-300: #AAB7B8;        /* Gris medio - Texto secundario */
    --gray-400: #85929E;        /* Gris medio oscuro - Texto terciario */
    --gray-500: #5D6D7E;        /* Gris azulado - Texto principal */
    --gray-600: #34495E;        /* Gris azulado oscuro - Encabezados */
    --gray-700: #2C3E50;        /* Gris azulado muy oscuro - Encabezados principales */
    --gray-800: #1C2833;        /* Azul grisáceo casi negro - Para énfasis */
    --gray-900: #17202A;        /* Casi negro con tono azul - Para máximo contraste */
    
    /* 
       COLORES DE ESTADO
       -----------------------------------------------
       Para mensajes, alertas y estados del sistema
    */
    --success: #52BE80;         /* Verde esmeralda - Éxito, confirmación */
    --warning: #F7DC6F;         /* Amarillo suave - Advertencia, precaución */
    --danger: #EC7063;          /* Rojo coral - Error, peligro */
    --info: #5DADE2;            /* Azul cielo - Información, ayuda */
    
    /* 
       SOMBRAS
       -----------------------------------------------
       Sistema de sombras para profundidad visual
    */
    --shadow-sm: 0 1px 3px rgba(28, 40, 51, 0.12);  /* Sombra pequeña - Elevación baja */
    --shadow: 0 3px 6px rgba(28, 40, 51, 0.15);     /* Sombra estándar - Elevación media */
    --shadow-md: 0 10px 20px rgba(28, 40, 51, 0.15); /* Sombra media - Elevación alta */
    
    /* 
       BORDES
       -----------------------------------------------
       Sistema de bordes redondeados
    */
    --radius-sm: 6px;   /* Radio pequeño - Botones pequeños, badges */
    --radius: 10px;     /* Radio estándar - Tarjetas, inputs */
    --radius-lg: 14px;  /* Radio grande - Modales, secciones */
    --border-width: 1px; /* Ancho estándar de bordes */
    
    /* 
       ESPACIADO
       -----------------------------------------------
       Sistema de espaciado consistente
    */
    --space-sm: 8px;    /* Espacio pequeño - Padding interno pequeño */
    --space: 16px;      /* Espacio estándar - Padding general */
    --space-md: 24px;   /* Espacio medio - Separación entre secciones */
    --space-lg: 32px;   /* Espacio grande - Márgenes externos */

    /* 
       Z-INDEX
       -----------------------------------------------
       Sistema de niveles de apilamiento
    */
    --z-fixed: 1000;    /* Para elementos fijos como headers */
    --z-sticky: 1020;   /* Para elementos sticky superpuestos */
}

/* 
   RESET Y ESTILOS BASE
   ==================================================
*/

* {
    margin: 0;                    /* Elimina márgenes por defecto */
    padding: 0;                   /* Elimina padding por defecto */
    box-sizing: border-box;       /* Incluye padding y border en dimensiones */
    -webkit-tap-highlight-color: transparent; /* Elimina resaltado azul en móviles */
}

/*
   NOTAS DE USO DE COLORES:
   --------------------------
   - Use --primary para botones principales y elementos clave
   - Use --secondary para elementos secundarios y fondos suaves
   - Use --accent para resaltar elementos importantes
   - La escala de grises sigue una progresión lógica (50-900)
   - Los colores de estado son para feedback al usuario
   - Las sombras usan rgba con --black (1C2833) como base
*/

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) 
             env(safe-area-inset-bottom) env(safe-area-inset-left);
}

/* 3. CONTENEDORES Y TARJETAS (Fondo blanco forzado) */
.container, .section {
    background-color: transparent; /* El fondo lo da el body */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space);
}

.card {
    background-color: #FFFFFF !important; /* Forzado para evitar transparencia */
    border-radius: var(--radius);
    border: var(--border-width) solid var(--gray-200);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: var(--space);
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.card-body {
    padding: var(--space-md);
    background-color: #FFFFFF !important;
}

/* 4. CABECERA Y NAVEGACIÓN */
.mobile-header {
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
    background-color: #FFFFFF !important;
    padding: 16px 20px;
    border-bottom: var(--border-width) solid var(--gray-200);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #FFFFFF !important;
    border-top: var(--border-width) solid var(--gray-200);
    padding: 12px 20px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    display: flex;
    justify-content: space-around;
    z-index: var(--z-fixed);
}

/* 5. BOTONES */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: var(--radius);
    font-weight: 500;
    cursor: pointer;
    transition: 0.3s;
    border: 1px solid transparent;
    text-decoration: none;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary-light), var(--primary));
    color: white !important;
}

.btn-secondary {
    background: linear-gradient(135deg, var(--secondary-light), var(--secondary));
    color: var(--dark) !important;
}

/* 6. FORMULARIOS */
.form-control {
    width: 100%;
    padding: 14px;
    border: var(--border-width) solid var(--gray-300);
    border-radius: var(--radius);
    background-color: #FFFFFF !important;
    color: var(--gray-700);
    font-size: 16px; /* Evita zoom automático en iPhone */
}

/* 7. UTILIDADES DE COLOR */
.bg-white { background-color: #FFFFFF !important; }
.bg-light { background-color: #F8F9FA !important; }
.text-primary { color: var(--primary); }
.text-muted { color: var(--gray-500); }

/* 8. GRID */
.grid {
    display: grid;
    gap: var(--space);
}

@media (min-width: 600px) {
    .grid-2 { grid-template-columns: repeat(2, 1fr); }
    .grid-3 { grid-template-columns: repeat(3, 1fr); }
}

/* 9. TABLAS */
.table-container {
    overflow-x: auto;
    background: white;
    border-radius: var(--radius);
}

.table {
    width: 100%;
    border-collapse: collapse;
    background-color: #FFFFFF !important;
}

.table td, .table th {
    padding: 12px;
    border-bottom: 1px solid var(--gray-100);
}