@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    --color-bg-dark: #12101e; 
    --color-panel-bg: rgba(26, 28, 50, 0.85);
    --color-primary-gradient-start: #8b5cf6;
    --color-primary-gradient-end: #ec4899; 
    --color-text-main: #ffffff;
    --color-text-muted: #a1a1aa;
    --color-glass-border: rgba(255, 255, 255, 0.05);    
    --color-input-background: rgba(255, 255, 255, 0.05);
    --color-input-text: #ffffff; 
    --color-placeholder: rgba(255, 255, 255, 0.4);
    --fuente-principal: 'Poppins', sans-serif;

    --tablet: 768px;
    --mobile: 480px;
}

[data-theme="light"] {
    --color-bg-dark: #f0f2f5; 
    --color-panel-bg: rgba(255, 255, 255, 0.9);
    --color-text-main: #1e293b;
    --color-text-muted: #64748b;
    --color-glass-border: rgba(0, 0, 0, 0.08);    
    --color-input-background: #f1f5f9;
    --color-input-text: #1e293b;
    --color-placeholder: #64748b; 
}

* {
    margin: 0; padding: 0;
    box-sizing: border-box;
    font-family: var(--fuente-principal);
}

body {
    color: var(--color-text-main);
    background-color: var(--color-bg-dark);
    min-height: 100vh;
    transition: background-color 0.4s ease, color 0.4s ease;
}

/* Clases de Utilidad Responsiva Global */
@media (max-width: 768px) {
    .hide-mobile { display: none !important; }
    .full-width-mobile { width: 100% !important; border-radius: 0 !important; }
}

/* ========================================== */
/* ESTILOS DINÁMICOS PARA ALERTAS SWEETALERT2 */
/* ========================================== */

body:not([data-theme="light"]) .swal2-popup {
    background-color: var(--color-panel-bg) !important;
    color: var(--color-text-main) !important;
    border: 1px solid var(--color-glass-border);
    backdrop-filter: blur(10px);
}

body:not([data-theme="light"]) .swal2-title,
body:not([data-theme="light"]) .swal2-html-container {
    color: var(--color-text-main) !important;
}

body:not([data-theme="light"]) .swal2-icon.swal2-success [class^="swal2-success-line"] {
    background-color: #22c55e !important;
}
body:not([data-theme="light"]) .swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(34, 197, 94, 0.3) !important;
}
body:not([data-theme="light"]) .swal2-icon.swal2-error [class^="swal2-x-mark-line"] {
    background-color: #ef4444 !important;
}
/* Asegurar que las alertas salgan SIEMPRE por encima de los modales */
.swal2-container {
    z-index: 10000 !important;
}