*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,Helvetica,sans-serif;
}

body{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
padding:20px;
background:linear-gradient(135deg,#0d6efd,#091c47);
overflow:hidden;
position:relative;
}

/* Glow Background */
body::before,
body::after{
content:"";
position:absolute;
width:320px;
height:320px;
border-radius:50%;
filter:blur(90px);
opacity:.25;
z-index:0;
}

body::before{
background:#ffffff;
top:-100px;
left:-100px;
}

body::after{
background:#00ffd5;
right:-100px;
bottom:-100px;
}

.login-box{
width:100%;
max-width:500px;
padding:40px 30px;
border-radius:28px;
background:rgba(255,255,255,.12);
backdrop-filter:blur(16px);
border:1px solid rgba(255,255,255,.18);
box-shadow:0 20px 50px rgba(0,0,0,.28);
position:relative;
z-index:1;
}

.logo{
width:130px;
height:74px;
margin:0 auto 12px;
background:#fff;
border-radius:30px;
display:flex;
justify-content:center;
align-items:center;
overflow:hidden;
}

.logo img{
width:140%;
height:145%;
object-fit:contain;
}

h1{
text-align:center;
color:#fff;
font-size:32px;
margin-bottom:8px;
}

.sub{
text-align:center;
font-size:14px;
color:rgba(255,255,255,.85);
margin-bottom:28px;
line-height:1.6;
text-transform:capitalize;
}

.input-box{
margin-bottom:18px;
}

.wrap{
position:relative;
}

input{
width:100%;
padding:15px 46px 15px 14px;
border:none;
outline:none;
border-radius:14px;
font-size:16px;
background:rgba(255,255,255,.96);
color:#111;
}

.icon{
position:absolute;
right:14px;
top:50%;
transform:translateY(-50%);
font-size:18px;
cursor:pointer;
opacity:.7;
}

.row{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:18px;
font-size:14px;
color:#fff;
gap:10px;
}

.row label{
display:flex;
align-items:center;
gap:6px;
cursor:pointer;
}

.row input[type="checkbox"]{
width:auto;
}

.row a{
color:#fff;
text-decoration:none;
font-weight:bold;
}

.row a:hover{
text-decoration:underline;
}

.btn{
width:100%;
padding:15px;
border:none;
border-radius:14px;
font-size:16px;
font-weight:bold;
cursor:pointer;
transition:.3s;
}

.login{
background:#fff;
color:#0d6efd;
}

.login:hover{
transform:translateY(-2px);
box-shadow:0 10px 25px rgba(255,255,255,.2);
}

.error{
display:none;
margin-top:15px;
padding:12px;
border-radius:12px;
text-align:center;
font-size:14px;
background:rgba(255,80,80,.18);
color:#fff;
}

.bottom{
margin-top:22px;
text-align:center;
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.88);
}

.bottom a{
color:#fff;
font-weight:bold;
text-decoration:none;
}

.bottom a:hover{
text-decoration:underline;
}

/* Floating WhatsApp */
.whatsapp-float{
position:fixed;
right:20px;
bottom:20px;
width:60px;
height:60px;
border-radius:50%;
background:#25d366;
color:#fff;
display:flex;
justify-content:center;
align-items:center;
font-size:30px;
text-decoration:none;
box-shadow:0 10px 25px rgba(0,0,0,.25);
z-index:999;
transition:.3s;
}

.whatsapp-float:hover{
transform:scale(1.08);
background:#1ebe5d;
}

/* Mobile Responsive */
@media(max-width:520px){

body{
padding:12px;
align-items:flex-start;
}

.login-box{
padding:22px 16px;
border-radius:20px;
margin-top:20px;
margin-bottom:20px;
}

.logo{
width:95px;
height:54px;
}

h1{
font-size:24px;
}

.sub{
font-size:12px;
margin-bottom:22px;
}

input{
padding:13px 42px 13px 12px;
font-size:16px;
border-radius:12px;
}

.btn{
padding:13px;
font-size:15px;
border-radius:12px;
}

.row{
font-size:12px;
display:flex;
flex-direction:row;
justify-content:space-between;
align-items:center;
gap:10px;
width:100%;
}

.bottom{
font-size:12px;
}

.whatsapp-float{
width:52px;
height:52px;
font-size:24px;
right:14px;
bottom:14px;
}

}
