
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Segoe UI", sans-serif;
}

body{
    height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    background: linear-gradient(135deg, #1e3a8a, #3b82f6);
    overflow:hidden;
}

/* ANIMACIÓN FONDO */
body::before{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    background:rgba(255,255,255,0.1);
    border-radius:50%;
    top:-100px;
    left:-100px;
    animation: float 6s infinite alternate;
}

@keyframes float{
    from{transform:translateY(0);}
    to{transform:translateY(40px);}
}

/* CARD */
.login-container{
    background:white;
    padding:40px;
    border-radius:15px;
    width:350px;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    animation: fadeIn 0.8s ease;
}

@keyframes fadeIn{
    from{opacity:0; transform:translateY(20px);}
    to{opacity:1; transform:translateY(0);}
}

.login-container h2{
    text-align:center;
    margin-bottom:10px;
    color:#1e3a8a;
}

.login-container p{
    text-align:center;
    font-size:14px;
    color:#666;
    margin-bottom:20px;
}

/* INPUTS */
.input-group{
    position:relative;
    margin-bottom:15px;
}

.input-group input{
    width:100%;
    padding:12px 40px 12px 10px;
    border:1px solid #ddd;
    border-radius:8px;
    outline:none;
    transition:0.3s;
}

.input-group input:focus{
    border-color:#3b82f6;
    box-shadow:0 0 5px rgba(59,130,246,0.3);
}

.input-group span{
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    color:#888;
}

/* BOTÓN */
button{
    width:100%;
    padding:12px;
    border:none;
    border-radius:8px;
    background:#3b82f6;
    color:white;
    font-weight:bold;
    cursor:pointer;
    transition:0.3s;
}

button:hover{
    background:#1e3a8a;
}

/* ERROR */
.error{
    background:#fee2e2;
    color:#b91c1c;
    padding:10px;
    border-radius:6px;
    margin-bottom:10px;
    text-align:center;
    font-size:14px;
}

/* RESPONSIVE */
@media(max-width:400px){
    .login-container{
        width:90%;
        padding:25px;
    }
}


/*parte del link*/
.link{
    text-align:center;
    margin-top:10px;
}

a{
    color:#2563eb;
    text-decoration:none;
}

.error{
    color:red;
    text-align:center;
}