/* ========================================
   static/v4/css/register.css
   FORMULARIO REGISTRO CHKPOOL - EFECTOS NEON
   ======================================== */

/* Reset y Base */
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
}

/* Body principal */
body { 
    background: #000; 
    color: #fff; 
    font-family: 'Orbitron', monospace; 
    overflow: hidden; 
    position: relative; 
}

/* =======================
   PARTÍCULAS ANIMADAS
   ======================= */
.particles { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    pointer-events: none; 
    z-index: 1; 
}

.particle { 
    position: absolute; 
    width: 4px; 
    height: 4px; 
    background: #ff0040; 
    border-radius: 50%; 
    animation: float 6s ease-in-out infinite; 
    box-shadow: 0 0 10px #ff0040; 
}

.particle:nth-child(odd) { animation-delay: -2s; }
.particle:nth-child(even) { animation-delay: -4s; }

@keyframes float { 
    0%,100% { transform: translateY(0px) rotate(0deg); opacity: 0.3; } 
    50% { transform: translateY(-20px) rotate(180deg); opacity: 1; } 
}

/* ==================
   CONTENEDOR LOGIN
   ================== */
.login { 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    height: 100vh; 
    padding: 15px; 
    position: relative; 
    z-index: 10; 
}

.login__block { 
    background: rgba(0,0,0,0.85); 
    backdrop-filter: blur(20px); 
    border: 2px solid transparent; 
    background-clip: padding-box; 
    border-radius: 20px; 
    padding: 35px 25px; 
    text-align: center; 
    max-width: 400px; 
    width: 100%; 
    position: relative; 
    animation: neonPulse 3s ease-in-out infinite alternate; 
    box-shadow: 
        0 0 30px rgba(255,0,64,0.3),
        0 0 60px rgba(255,0,64,0.2),
        inset 0 0 20px rgba(255,0,64,0.1);
    border-image: linear-gradient(45deg,#ff0040,#ff4081,#ff0040) 1;
}

@keyframes neonPulse { 
    0% { 
        box-shadow: 
            0 0 30px rgba(255,0,64,0.3),
            0 0 60px rgba(255,0,64,0.2),
            inset 0 0 20px rgba(255,0,64,0.1); 
        transform: scale(1); 
    } 
    100% { 
        box-shadow: 
            0 0 40px rgba(255,0,64,0.6),
            0 0 80px rgba(255,0,64,0.4),
            inset 0 0 30px rgba(255,0,64,0.2); 
        transform: scale(1.02); 
    } 
}

/* ===============
   LOGO ANIMADO
   =============== */
.login__logo { 
    width: 100px; 
    height: auto; 
    margin: 0 auto 25px; 
    display: block; 
    filter: drop-shadow(0 0 15px #ff0040) brightness(1.2); 
    animation: 
        logoFloat 4s ease-in-out infinite,
        glowRotate 8s linear infinite; 
}

@keyframes logoFloat { 
    0%,100% { transform: translateY(0px) rotate(0deg); } 
    50% { transform: translateY(-10px) rotate(5deg); } 
}

@keyframes glowRotate { 
    0% { filter: drop-shadow(0 0 15px #ff0040) brightness(1.2); } 
    25% { filter: drop-shadow(0 0 25px #ff4081) brightness(1.3); } 
    50%,100% { filter: drop-shadow(0 0 15px #ff0040) brightness(1.2); } 
}

/* =================
   TÍTULO PRINCIPAL
   ================= */
.login__title { 
    font-size: 1.8em; 
    font-weight: 900; 
    background: linear-gradient(45deg,#ff0040,#ff4081,#ff0040); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    background-clip: text; 
    margin-bottom: 10px; 
    animation: titleGlow 2s ease-in-out infinite alternate; 
    text-shadow: 0 0 20px rgba(255,0,64,0.5); 
}

@keyframes titleGlow { 
    0% { text-shadow: 0 0 20px rgba(255,0,64,0.5); } 
    100% { text-shadow: 0 0 30px rgba(255,0,64,0.8),0 0 40px rgba(255,0,64,0.4); } 
}

/* ====================
   CAMPOS FORMULARIO
   ==================== */
.form-control { 
    background: rgba(0,0,0,0.7); 
    border: 2px solid rgba(255,0,64,0.3); 
    color: #fff; 
    border-radius: 10px; 
    padding: 12px 16px; 
    font-size: 0.95em; 
    width: 100%; 
    text-align: center; 
    transition: all 0.4s ease; 
    backdrop-filter: blur(10px); 
    margin-bottom: 15px; 
}

.form-control:focus { 
    border-color: #ff0040; 
    box-shadow: 0 0 15px rgba(255,0,64,0.5); 
    outline: none; 
}

/* ==============
   BOTONES NEON
   ============== */
.btn-theme, .btn-login { 
    background: linear-gradient(45deg,transparent,rgba(255,0,64,0.2),transparent); 
    border: 2px solid transparent; 
    border-image: linear-gradient(45deg,#ff0040,#ff4081) 1; 
    color: #fff; 
    padding: 12px 24px; 
    font-size: 0.95em; 
    font-weight: 700; 
    border-radius: 10px; 
    font-family: 'Orbitron',monospace; 
    width: 100%; 
    cursor: pointer; 
    transition: all 0.3s ease; 
    position: relative; 
    overflow: hidden; 
    backdrop-filter: blur(10px); 
    margin: 5px 0; 
    text-transform: uppercase; 
    letter-spacing: 0.8px; 
    min-height: 44px; 
    text-decoration: none; 
    display: block; 
}

.btn-theme:hover, .btn-login:hover { 
    background: linear-gradient(45deg,#ff0040,#ff4081); 
    box-shadow: 0 0 20px rgba(255,0,64,0.6); 
}

/* ===============
   LÍNEA DIVISORIA
   =============== */
hr { 
    border: none; 
    height: 2px; 
    background: linear-gradient(90deg,transparent,#ff0040,#ff4081,#ff0040,transparent); 
    margin: 20px 0; 
    border-radius: 2px; 
    animation: lineGlow 2s ease-in-out infinite alternate; 
}

@keyframes lineGlow { 
    0% { box-shadow: 0 0 5px rgba(255,0,64,0.5); } 
    100% { box-shadow: 0 0 15px rgba(255,0,64,0.8); } 
}

/* =================================
   ALERT DINÁMICO (ÉXITO/ERROR)
   ================================= */
.alert-page {
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 100vh; 
    overflow: hidden;
}

.alert-page.success { background: #000; }
.alert-page.error { background: #000; }

.alert {
    background: rgba(0,0,0,0.95); 
    backdrop-filter: blur(20px);
    padding: 50px 30px; 
    border-radius: 20px; 
    border: 3px solid;
    text-align: center; 
    max-width: 450px;
    width: 90%;
    box-shadow: 0 0 40px, inset 0 0 30px rgba(0,0,0,0.5);
    animation: pulse 2s infinite;
    border-image: inherit;
}

.alert h1 { 
    font-size: 2.2em; 
    margin-bottom: 20px; 
    text-shadow: 0 0 20px;
    background: linear-gradient(45deg, currentColor, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.alert p { 
    font-size: 1.2em; 
    margin-bottom: 30px; 
    color: #ccc; 
}

.alert a { 
    display: inline-block;
    background: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);
    border: 2px solid;
    color: #fff; 
    padding: 15px 30px; 
    text-decoration: none; 
    border-radius: 10px; 
    font-weight: bold;
    font-size: 1.1em;
    transition: all 0.3s;
    text-transform: uppercase;
    border-image: inherit;
}

.alert a:hover { 
    background: currentColor !important; 
    box-shadow: 0 0 20px currentColor; 
}

/* VERDE - ÉXITO */
.alert-page[data-color="#00ff88"] .alert {
    border-color: #00ff88;
    box-shadow: 0 0 40px #00ff88, inset 0 0 30px rgba(0,0,0,0.5);
}

.alert-page[data-color="#00ff88"] .alert h1 { text-shadow: 0 0 20px #00ff88; }
.alert-page[data-color="#00ff88"] .alert a { border-color: #00ff88; }
.alert-page[data-color="#00ff88"] .alert a:hover { 
    background: #00ff88 !important; 
    box-shadow: 0 0 20px #00ff88; 
}

/* ROJO - ERROR */
.alert-page[data-color="#ff4444"] .alert {
    border-color: #ff4444;
    box-shadow: 0 0 40px #ff4444, inset 0 0 30px rgba(0,0,0,0.5);
}

.alert-page[data-color="#ff4444"] .alert h1 { text-shadow: 0 0 20px #ff4444; }
.alert-page[data-color="#ff4444"] .alert a { border-color: #ff4444; }
.alert-page[data-color="#ff4444"] .alert a:hover { 
    background: #ff4444 !important; 
    box-shadow: 0 0 20px #ff4444; 
}

@keyframes pulse {
    0% { box-shadow: 0 0 40px, inset 0 0 30px rgba(0,0,0,0.5); transform: scale(1); }
    50% { box-shadow: 0 0 60px, inset 0 0 40px rgba(0,0,0,0.5); transform: scale(1.02); }
    100% { box-shadow: 0 0 40px, inset 0 0 30px rgba(0,0,0,0.5); transform: scale(1); }
}

/* =============
   RESPONSIVE
   ============= */
@media (max-width: 480px) {
    .login__block { padding: 25px 20px; }
    .login__title { font-size: 1.5em; }
    .alert { padding: 40px 20px; }
    .alert h1 { font-size: 1.8em; }
}