/*==================================================
        WOLFSTORE REGISTRO V4 (Optimizado y Compacto)
==================================================*/

:root{
    --bg:#05070c;
    --card:#111827;
    --border:rgba(255,255,255,.08);
    --text:#ffffff;
    --muted:#9ca3af;
    --input:#1a2434;
    --red:#ff1744;
    --blue:#00b8ff;
    --radius:22px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html, body{
    width:100%;
    height:100%;
    font-family:'Segoe UI',sans-serif;
    color:var(--text);
    background:#05070c;
}

body{
    background-image:url("../image/login/fondo.jpeg");
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
}

.login-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.05);
    backdrop-filter:blur(.2px);
    -webkit-backdrop-filter:blur(.2px);
}

.login-page{
    position:relative;
    width:100%;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    background:transparent;
    padding: 20px 0;
    overflow-y: auto;
}

/* Tarjeta optimizada para registro (más compacta y fluida) */
.login-card{
    position:relative;
    width:100%;
    max-width:480px;
    padding:18px 28px;
    border-radius:24px;
    overflow:hidden;
    background:rgba(18,22,35,.75);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    box-shadow:
        0 0 18px rgba(255,80,120,.30),
        0 0 18px rgba(0,220,255,.30);
    animation:fadeUp .6s ease;
}

.login-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:24px;
    background:linear-gradient(
        90deg,
        rgba(255,70,120,.14) 0%,
        rgba(255,70,120,.05) 25%,
        rgba(0,0,0,0) 50%,
        rgba(0,220,255,.05) 75%,
        rgba(0,220,255,.14) 100%
    );
    opacity:.75;
    pointer-events:none;
}

.top-line{
    position:absolute;
    top:0;
    left:35px;
    right:35px;
    height:2px;
    background:linear-gradient(90deg, transparent, var(--red), var(--blue), transparent);
}

.glass{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.05), transparent 30%, transparent 70%, rgba(255,255,255,.02));
    pointer-events:none;
}

.neon-red{
    position:absolute;
    width:150px;
    height:150px;
    background:var(--red);
    filter:blur(100px);
    top:-70px;
    left:-70px;
    opacity:.12;
}

.neon-blue{
    position:absolute;
    width:150px;
    height:150px;
    background:var(--blue);
    filter:blur(100px);
    right:-70px;
    bottom:-70px;
    opacity:.18;
}

.login-header{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:4px;
}

.login-logo{
    width:220px;
    max-width:100%;
    display:block;
    transition:.35s;
    margin:0 auto;
}

.login-slogan{
    text-align:center;
    color:#dbe5ef;
    font-size:13px;
    font-weight:400;
    margin-bottom:12px;
    letter-spacing:.2px;
}

.login-body{
    position:relative;
    z-index:2;
}

/* Formularios más compactos */
.form-group{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:10px;
}

.form-group label{
    color:#dbe5ef;
    font-size:12px;
    font-weight:600;
    letter-spacing:.3px;
}

.input-control{
    position:relative;
    display:flex;
    align-items:center;
    height:44px;
    background:#182335;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    transition:.30s;
}

.input-control:hover{
    border-color:rgba(0,184,255,.45);
}

.input-control:focus-within{
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(0,184,255,.10);
}

.input-control i{
    width:45px;
    text-align:center;
    color:#9fb0c6;
    font-size:18px;
}

.input-control input{
    flex:1;
    height:100%;
    border:none;
    outline:none;
    background:transparent;
    color:#fff;
    font-size:14px;
    padding-right:15px;
}

.input-control input::placeholder{
    color:#8293aa;
}

.login-errors{
    min-height:18px;
    margin-bottom:4px;
    font-size:12px;
}

/* Botón de Registro */
.btn-login{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    text-shadow:0 0 8px rgba(255,255,255,.55);
    width:100%;
    height:46px;
    margin-top:4px;
    border:none;
    border-radius:12px;
    cursor:pointer;
    color:#fff;
    font-size:15px;
    font-weight:700;
    background:linear-gradient(90deg, var(--red), var(--blue));
    transition:.30s;
}

.btn-login:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(0,184,255,.25), 0 10px 25px rgba(255,23,68,.20);
}

.separator{
    display:flex;
    align-items:center;
    margin:12px 0;
}

.separator::before,
.separator::after{
    content:"";
    flex:1;
    height:1px;
    background:rgba(255,255,255,.10);
}

.separator span{
    padding:0 10px;
    color:#9ca3af;
    font-size:12px;
}

/* Botones inferiores ajustados */
.login-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.btn-outline{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    height:40px;
    border-radius:10px;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    transition:.30s;
}

.btn-red{
    border:2px solid #ff3b5c;
    background:rgba(255,59,92,.08);
    color:#fff;
}
.btn-red:hover{
    border-color:#ff1744;
    background:rgba(255,23,68,.18);
    box-shadow:0 0 15px rgba(255,23,68,.40);
    color:#fff;
}

.btn-blue{
    border:2px solid #20d7ff;
    background:rgba(32,215,255,.08);
    color:#fff;
}
.btn-blue:hover{
    border-color:#00c8ff;
    background:rgba(0,200,255,.18);
    box-shadow:0 0 15px rgba(0,200,255,.40);
    color:#fff;
}

.login-footer{
    position:relative;
    z-index:2;
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
    text-align:center;
}

.login-footer small{
    color:#ffffff;
    font-size:11px;
    display:block;
}

.login-footer span{
    color:#8d9caf;
    font-size:10px;
}

@keyframes fadeUp{
    from{ opacity:0; transform:translateY(20px); }
    to{ opacity:1; transform:translateY(0); }
}

@media(max-width:576px){
    .login-card{
        padding:16px;
        max-width:100%;
    }
    .login-logo{
        width:180px;
    }
    .login-actions{
        grid-template-columns:1fr;
    }
}