/* Reset and base styles */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
background:linear-gradient(180deg,#fcfcfd 0%,#f5f6fa 100%);
color:#111827;
min-height:100vh;
}

/* Login Container */
.login-container{
background:url("../assets/image/background.png");
background-size:100% auto;
background-position:center bottom;
background-repeat:no-repeat;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:24px;
}

/* Login Box */
.login-form{
background:rgba(18,20,24,0.94);
padding:40px;
border:1px solid #2f3544;
border-top:3px solid #dc2626;
width:400px;
text-align:center;
border-radius:12px;
box-shadow:0 16px 38px rgba(0,0,0,0.25);
}

.login-header{
text-align:center;
margin-bottom:20px;
}

.login-title{
color:#ffffff;
text-align:center;
margin-top:0;
margin-bottom:12px;
font-size:24px;
letter-spacing:0.2px;
}

/* Logo */
.logo{
width:180px;
display:block;
margin:0 auto 20px;
}

/* Form fields */
.form-group{
margin-bottom:20px;
text-align:left;
}

.form-group label{
color:white;
display:block;
margin-bottom:5px;
font-weight:bold;
}

.form-group input{
width:100%;
padding:12px;
border:1px solid #d2d7e0;
border-radius:8px;
font-size:15px;
transition:border-color 0.2s, box-shadow 0.2s;
}

.form-group input:focus{
outline:none;
border-color:#dc2626;
box-shadow:0 0 0 3px rgba(220,38,38,0.2);
}

/* Checkbox */
.checkbox-group{
display:flex;
align-items:center;
gap:8px;
margin-bottom:20px;
color:white;
font-size:14px;
}

.checkbox-group input{
width:16px;
height:16px;
cursor:pointer;
}

/* Button */
.login-btn{
background-color:#941919;
color:white;
padding:12px;
border:none;
border-radius:8px;
font-size:15px;
font-weight:bold;
cursor:pointer;
width:100%;
letter-spacing:0.3px;
transition:background-color 0.2s, transform 0.2s;
}

.login-btn:hover{
background-color:#b91c1c;
transform:translateY(-1px);
}

/* Error message */
.error-msg{
color:#fecaca;
margin-bottom:15px;
font-weight:bold;
background:rgba(127,29,29,0.35);
border:1px solid rgba(248,113,113,0.45);
padding:10px;
border-radius:8px;
}

/* Forgot password link */
.toggle-text{
display:block;
margin-top:15px;
text-align:center;
color:#dc2626;
font-size:13px;
font-weight:bold;
text-decoration:none;
transition:color 0.2s;
}

.toggle-text:hover{
color:#ffffff;
text-decoration:underline;
}

.form-footer{
text-align:center;
margin-top:15px;
}

@media (max-width: 600px){
.login-form{
width:100%;
padding:28px 22px;
}
}

@media (max-width: 480px){
.login-container{
align-items:center;
justify-content:center;
padding:20px;
background-size:160% auto;
background-position:center bottom;
min-height:100svh;
}

.login-form{
max-width:360px;
padding:30px 22px;
border-radius:14px;
box-shadow:0 18px 38px rgba(0,0,0,0.28);
}

.login-header img{
width:170px !important;
max-width:82%;
height:auto;
}

.login-title{
font-size:22px;
margin-bottom:16px;
}

.form-group{
margin-bottom:16px;
}

.form-group label{
font-size:13px;
margin-bottom:7px;
}

.form-group input{
min-height:46px;
font-size:16px;
padding:12px 13px;
}

.login-btn{
min-height:46px;
font-size:14px;
}

.toggle-text{
font-size:12px;
margin-top:16px;
}
}

@media (max-width: 360px){
.login-container{
padding:14px;
}

.login-form{
padding:26px 18px;
}
}
