/* Isolated login treatment; the authenticated application keeps its own layout. */
.login-wrap.has-school-collage{width:100%;max-width:1500px;margin:auto;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.85fr);gap:0;padding:32px;box-sizing:border-box;align-items:stretch;background:#f4f7fa}
.has-school-collage .login-card{width:auto;max-width:none;min-width:0;margin:0;background:#fff;border:1px solid #e1e7ed;border-left:0;border-radius:0 24px 24px 0;box-shadow:none;padding:42px clamp(26px,4vw,64px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.has-school-collage .login-brand-mark{width:100px;height:100px;margin:0 auto}
.has-school-collage .login-brand-mark img{width:100%;height:100%;object-fit:contain}
.has-school-collage .login-card h1{font-size:clamp(25px,2.2vw,34px);line-height:1.18;letter-spacing:-.7px;margin:0 0 12px;color:#17324c}
.has-school-collage .login-card .eyebrow{display:none}
.has-school-collage .login-card input{min-height:48px;border-radius:10px}
.has-school-collage .login-card .primary{width:100%;min-height:48px;border-radius:10px}
.has-school-collage .login-card .actions{display:block}
.school-collage{position:relative;min-width:0;min-height:660px;overflow:hidden;border-radius:24px 0 0 24px;background:#142f44;padding:14px;display:flex;flex-direction:column}
.school-photo-grid{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:2.4fr 1fr 1fr;gap:10px;min-height:0}
.school-photo{margin:0;overflow:hidden;border-radius:9px;position:relative;min-width:0;min-height:0}
.school-photo img{width:100%;height:100%;display:block;object-fit:cover;position:absolute;inset:0}
.school-photo-0{grid-column:1/-1}
.school-photo-0 img{object-position:57% 50%}
.school-photo-signature{height:55px;display:flex;align-items:center;gap:18px;color:white;padding:12px 10px 0;box-sizing:border-box}
.school-photo-signature span{font:700 19px/1.2 system-ui;letter-spacing:5px}
.school-photo-signature i{height:3px;flex:1;background:linear-gradient(90deg,#1477bc 0 30%,#f22642 30% 58%,#ffe824 58% 78%,#36a852 78%)}
.school-photo-signature small{font:500 12px/1.2 system-ui;letter-spacing:2px;color:#b6c8d5}
@media(min-width:1500px){.login-wrap.has-school-collage{min-height:850px;margin-top:max(0px,calc((100svh - 850px)/2))}}
@media(max-width:850px){.login-wrap.has-school-collage{padding:18px;grid-template-columns:minmax(0,1fr);max-width:600px;min-height:100svh}.has-school-collage .login-card{grid-row:1;border:1px solid #e1e7ed;border-radius:20px 20px 0 0;padding:28px;gap:14px}.school-collage{min-height:390px;border-radius:0 0 20px 20px;padding:10px}.school-photo-grid{gap:7px;grid-template-rows:2.3fr 1fr 1fr}.school-photo-signature{height:44px}.has-school-collage .login-brand-mark{width:80px;height:80px}}
@media(prefers-reduced-motion:reduce){.school-collage *{animation:none;transition:none}}
.login-wrap.has-school-collage>.school-collage{width:100%;max-width:none;box-sizing:border-box;justify-self:stretch;margin:0}.has-school-collage .login-card .muted{font-size:15px;line-height:1.5}.has-school-collage .login-card label{font-size:14px}.has-school-collage .login-card input,.has-school-collage .login-card select,.has-school-collage .login-card button{font-size:16px}
