/* RESET */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

/* FONDO GENERAL */
body{
font-family:'Segoe UI',sans-serif;
height:100vh;
display:flex;
justify-content:center;
align-items:center;
background:linear-gradient(135deg,#ff6b35,#ff9f43,#ffb347);
}

/* CONTENEDOR LOGIN */
.login-container{
width:100%;
max-width:380px;
background:white;
padding:35px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
animation:fadeIn .6s ease;
}

/* LOGO */
.logo{
text-align:center;
margin-bottom:20px;
}

.logo img{
width:120px;
height:auto;
}

/* LABEL */
label{
font-weight:600;
font-size:14px;
color:#333;
margin-top:10px;
display:block;
}

/* INPUT CON ICONO */
.input-icon{
position:relative;
margin-top:5px;
margin-bottom:15px;
}

.input-icon input{
width:100%;
padding:12px 40px 12px 12px;
border-radius:8px;
border:1px solid #ddd;
font-size:14px;
transition:all .3s ease;
}

.input-icon input:focus{
outline:none;
border-color:#ff6b35;
box-shadow:0 0 0 2px rgba(255,107,53,0.15);
}

/* ICONO */
.input-icon i{
position:absolute;
right:12px;
top:50%;
transform:translateY(-50%);
color:#999;
}

/* BOTON */
button{
width:100%;
padding:12px;
border:none;
border-radius:8px;
background:linear-gradient(135deg,#ff6b35,#ff8c42);
color:white;
font-weight:600;
font-size:15px;
cursor:pointer;
transition:all .3s ease;
margin-top:10px;
}

button:hover{
background:linear-gradient(135deg,#e55a2c,#ff6b35);
transform:translateY(-1px);
}

/* MENSAJE ERROR */
.alert{
margin-top:10px;
padding:10px;
border-radius:6px;
font-size:14px;
}

/* ANIMACION */
@keyframes fadeIn{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* RESPONSIVE */

@media(max-width:480px){

.login-container{
margin:15px;
padding:25px;
}

.logo img{
width:90px;
}

}