*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Inter, Arial, sans-serif;
background:linear-gradient(135deg,#1f2937,#0f172a);
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:20px;
}

/* PANEL */

.login-container{
background:#fff;
width:100%;
max-width:420px;
padding:40px;
border-radius:16px;
box-shadow:0 25px 60px rgba(0,0,0,0.35);
text-align:center;
}

/* LOGO */

.logo{
font-weight:800;
font-size:28px;
margin-bottom:4px;
}

.subtitle{
font-size:14px;
color:#666;
margin-bottom:24px;
}

/* INPUT */

.login-container input{
width:100%;
padding:14px 16px;
margin-bottom:14px;
border-radius:10px;
border:1px solid #ddd;
font-size:16px;
}

/* BUTTON */

.login-container button{
width:100%;
padding:14px;
background:#111;
color:#fff;
border:none;
border-radius:10px;
font-size:16px;
cursor:pointer;
}

.login-container button:hover{
background:#333;
}

/* BACK */

.back-home{
display:block;
margin-top:12px;
padding:12px;
border-radius:10px;
background:#e5e7eb;
text-decoration:none;
color:#111;
font-size:14px;
}

.error{
color:#e11d48;
margin-top:10px;
font-size:14px;
}

/* ===== MOBILE ===== */

@media (max-width:600px){

body{
padding:0;
}

.login-container{
width:92%;
max-width:none;
padding:50px 30px;
border-radius:20px;
}

.logo{
font-size:36px;
}

.subtitle{
font-size:18px;
margin-bottom:30px;
}

.login-container h2{
font-size:28px;
margin-bottom:24px;
}

.login-container input{
font-size:20px;
padding:18px;
margin-bottom:18px;
}

.login-container button{
font-size:20px;
padding:18px;
}

.back-home{
font-size:18px;
padding:16px;
margin-top:16px;
}

}