:root{--blue:#00468c;--primary:#2563eb;--success:#10b981;--danger:#ef4444;--border:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0;font-family:'Hind Siliguri',sans-serif}body{background:#f8fafc;color:#1e293b}#login-screen{position:fixed;inset:0;background:var(--blue);display:flex;justify-content:center;align-items:center}.login-card{background:#fff;padding:40px;border-radius:12px;width:320px;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.2)}.form-control{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;outline:none;margin:4px 0;font-size:13px}.btn{background:var(--primary);color:#fff;border:0;padding:8px 16px;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer}.btn-success{background:var(--success)}.hidden{display:none!important}

/* RISHI GLASS PRISMATIC LOGIN */
#login-screen{
    isolation:isolate;
    overflow:hidden;
    padding:24px;
    background:
        linear-gradient(135deg,rgba(0,19,42,.46),rgba(13,5,35,.58)),
        url('../../rishi.png') center center/cover no-repeat fixed;
}
#login-screen::before{
    content:"";
    position:absolute;
    inset:-12%;
    z-index:-1;
    background:
        radial-gradient(circle at 18% 18%,rgba(77,238,255,.24),transparent 30%),
        radial-gradient(circle at 82% 24%,rgba(255,90,224,.22),transparent 31%),
        radial-gradient(circle at 50% 88%,rgba(134,255,171,.18),transparent 35%);
    filter:blur(18px);
    animation:prismGlow 10s ease-in-out infinite alternate;
}
.login-card{
    position:relative;
    width:min(360px,100%);
    padding:42px 38px 38px;
    overflow:hidden;
    color:#fff;
    background:
        linear-gradient(145deg,rgba(255,255,255,.25),rgba(255,255,255,.07) 46%,rgba(80,220,255,.13));
    border:1px solid rgba(255,255,255,.52);
    border-radius:24px;
    box-shadow:
        0 30px 70px rgba(0,0,0,.48),
        0 8px 20px rgba(0,0,0,.25),
        inset 1px 1px 0 rgba(255,255,255,.72),
        inset -1px -1px 0 rgba(120,210,255,.22);
    backdrop-filter:blur(22px) saturate(175%);
    -webkit-backdrop-filter:blur(22px) saturate(175%);
    transform:perspective(1000px) rotateX(1.5deg) rotateY(-1.5deg) translateZ(0);
    transition:transform .35s ease,box-shadow .35s ease;
}
.login-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(120deg,rgba(255,255,255,.42),transparent 25%,transparent 66%,rgba(103,232,249,.2)),
        linear-gradient(35deg,rgba(255,80,218,.16),transparent 38%,rgba(98,255,214,.13));
    mix-blend-mode:screen;
}
.login-card::after{
    content:"";
    position:absolute;
    top:-55%;left:-35%;
    width:55%;height:220%;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
    transform:rotate(24deg);
    animation:glassShine 7s ease-in-out infinite;
}
.login-card:hover{
    transform:perspective(1000px) rotateX(0) rotateY(0) translateY(-3px);
    box-shadow:0 36px 80px rgba(0,0,0,.52),0 0 36px rgba(92,225,255,.18),inset 1px 1px 0 rgba(255,255,255,.78);
}
.login-card h2{
    position:relative;
    z-index:1;
    color:#fff!important;
    letter-spacing:1.6px;
    text-shadow:0 3px 18px rgba(0,0,0,.6);
}
.login-card .form-control{
    position:relative;
    z-index:1;
    height:46px;
    margin:9px 0;
    color:#fff;
    background:rgba(5,20,39,.34);
    border:1px solid rgba(255,255,255,.3);
    border-radius:12px;
    box-shadow:inset 0 2px 8px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.13);
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.login-card .form-control::placeholder{color:rgba(255,255,255,.72)}
.login-card .form-control:focus{
    background:rgba(3,18,35,.48);
    border-color:rgba(127,235,255,.9);
    box-shadow:0 0 0 3px rgba(56,189,248,.2),inset 0 2px 8px rgba(0,0,0,.2);
}
.login-card .btn-success{
    position:relative;
    z-index:1;
    min-height:46px;
    margin-top:13px!important;
    border:1px solid rgba(255,255,255,.34);
    border-radius:12px;
    color:#fff;
    background:linear-gradient(135deg,rgba(16,185,129,.92),rgba(0,105,130,.92) 58%,rgba(109,40,217,.9));
    box-shadow:0 12px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.35);
    transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
.login-card .btn-success:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 16px 28px rgba(0,0,0,.34),0 0 20px rgba(45,212,191,.2)}
@keyframes glassShine{0%,58%{left:-55%;opacity:0}70%{opacity:1}88%,100%{left:130%;opacity:0}}
@keyframes prismGlow{from{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,1%,0) scale(1.06)}}
@media(max-width:480px){#login-screen{padding:18px;background-attachment:scroll}.login-card{padding:34px 24px 30px;border-radius:20px;transform:none}}
@media(prefers-reduced-motion:reduce){#login-screen::before,.login-card::after{animation:none}.login-card{transition:none}}
/* ACCOUNT RECOVERY */
.login-recovery-link,.recovery-back-link{
    position:relative;z-index:1;display:inline-block;margin-top:17px;color:rgba(224,249,255,.92);font-size:13px;font-weight:600;text-decoration:none;text-shadow:0 2px 8px rgba(0,0,0,.45)
}
.login-recovery-link:hover,.recovery-back-link:hover{color:#fff;text-decoration:underline}
.recovery-card{width:min(430px,100%);padding-top:34px;text-align:left}
.recovery-card h2{text-align:center;margin-bottom:5px}
.recovery-subtitle{position:relative;z-index:1;text-align:center;color:rgba(255,255,255,.76);font-size:13px;margin-bottom:16px}
.recovery-card label{position:relative;z-index:1;display:block;margin:9px 2px 2px;color:rgba(255,255,255,.9);font-size:12px;font-weight:600}
.recovery-alert{position:relative;z-index:1;padding:10px 12px;margin:8px 0 14px;border-radius:10px;font-size:13px;line-height:1.45}
.recovery-alert.error{color:#fff1f2;background:rgba(159,18,57,.56);border:1px solid rgba(253,164,175,.5)}
.recovery-alert.success{color:#ecfdf5;background:rgba(4,120,87,.58);border:1px solid rgba(110,231,183,.52)}
.recovery-back-link{display:block;text-align:center}
@media(max-height:760px){.recovery-card{padding-top:24px;padding-bottom:24px}.recovery-card .form-control{height:41px;margin:5px 0}.recovery-card label{margin-top:5px}}