.auth-page{--ink:#123b54;--wash:#edf2f4;background:var(--wash);color:#1a303b;font-family:system-ui,"Noto Sans Bengali","Bangla Sangam MN",sans-serif;line-height:1.55}
.student-auth{--ink:#143d33;--wash:#f5f2ea}
.auth-skip{position:absolute;left:-9999px}.auth-skip:focus{left:1rem;top:1rem;z-index:10;background:white;padding:.6rem 1rem}
.auth-shell{min-height:100svh;display:grid}
.auth-side{background:var(--ink);color:#f8f6ee;padding:1.3rem 1.5rem;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.auth-side:before,.auth-side:after{content:"";position:absolute;border:1px solid #ffffff2c;border-radius:50%;width:32rem;height:32rem;right:-16rem;bottom:-19rem;pointer-events:none}
.auth-side:after{width:24rem;height:24rem;right:-12rem;bottom:-15rem}
.auth-brand{display:flex;gap:.75rem;align-items:center;color:inherit;text-decoration:none;font-weight:800;line-height:1.3;position:relative;z-index:1;max-width:26rem}
.auth-brand:hover{text-decoration:underline}.auth-brand-icon{height:2.85rem;width:2.85rem;display:grid;place-items:center;border:1px solid #d8bc8d;border-radius:.75rem;color:#eacb91;font-family:Georgia,serif;font-size:1.6rem}
.auth-brand img{flex:none}.auth-side-copy,.auth-side-footer{display:none}
.auth-main{width:100%;max-width:none;min-height:0;margin:0;padding:1.25rem;display:flex;flex-direction:column;justify-content:center}
.auth-topbar{display:flex;justify-content:space-between;gap:1rem;font-size:.84rem;font-weight:700;max-width:470px;width:100%;margin:0 auto 2rem}
.auth-topbar a{text-decoration:none;color:#326454}.auth-page:not(.student-auth) .auth-topbar a{color:#326080}.auth-topbar a:hover{text-decoration:underline}
.auth-card{width:100%;max-width:470px;margin:0 auto;background:#fff;border:1px solid #e1e6e2;border-radius:1.3rem;padding:1.6rem;box-shadow:0 22px 60px #183f4520}
.auth-eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#936d3c;margin:0 0 .8rem}
.auth-card h2{font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.03em;line-height:1.2;margin:0 0 .5rem}
.auth-subtitle{color:#64747a;margin:0 0 1.6rem}.student-auth .auth-subtitle{color:#607368}
.auth-card form{background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:0}
.auth-card label{display:block;font-size:.88rem;font-weight:750;margin:0 0 1rem}.auth-card label span{display:block;margin-bottom:.4rem}
.auth-card input{display:block;width:100%;max-width:none;min-height:3.2rem;border:1px solid #bbc8c9;border-radius:.68rem;background:#fbfcfb;color:#182d32;padding:.75rem .9rem}
.auth-card input:focus{border-color:#397865;outline:3px solid #39786533}
.auth-card button{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:none;min-height:3.2rem;border:0;border-radius:.68rem;padding:.8rem 1.1rem;margin-top:.6rem;background:var(--ink);color:#fff;font-weight:800}
.auth-card button:hover{background:#235c53}.auth-page:not(.student-auth) .auth-card button:hover{background:#205471}
.auth-help{font-size:.78rem;color:#6a797c;margin:1.3rem 0 0;padding-top:1.1rem;border-top:1px solid #e5ebe8}
.auth-mobile-footer{text-align:center;margin:1.5rem auto;color:#758685;font-size:.78rem}
.auth-divider{width:4rem;height:3px;background:#c0985e;margin:1.8rem 0}
@media(min-width:840px){.auth-shell{grid-template-columns:minmax(330px,44%) minmax(0,1fr)}.auth-side{padding:2.2rem clamp(2rem,5vw,6rem)}.auth-side-copy,.auth-side-footer{display:block;position:relative;z-index:1}.auth-side-copy{max-width:34rem}.auth-side-copy h1{font-size:clamp(2.8rem,4.1vw,5rem);line-height:1.14;letter-spacing:-.04em;margin:.3rem 0 1.3rem}.auth-side-copy>p:not(.auth-eyebrow){font-size:1.12rem;color:#dce7e3;max-width:40ch}.auth-side-copy .auth-side-note{font-size:.9rem!important;color:#f2d7a9!important}.auth-side-footer{font-size:.8rem;color:#b6d0c6}.auth-main{padding:2rem 5vw}.auth-topbar{margin-bottom:3rem}.auth-card{padding:2.4rem}.auth-mobile-footer{display:none}}
@media(max-width:420px){.auth-card{padding:1.35rem}.auth-main{padding:1.1rem}.auth-side{padding:1.1rem}.auth-topbar{margin-bottom:1.25rem}}
@media print{.auth-side,.auth-topbar,.auth-card button{display:none}}
