:root{--login-wine:#751731;--login-wine-dark:#430b20;--login-rose:#b92754;--login-gold:#e3bd68;--login-ink:#20283b;--login-muted:#778197;--login-line:#e6e8ef;--login-surface:#fff}
*{box-sizing:border-box}
html,body.login-modern-page{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--login-ink)}
body.login-modern-page{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(ellipse at 14% 10%,#f8e8ed 0,transparent 37%),radial-gradient(ellipse at 90% 90%,#f0dfe5 0,transparent 35%),#f5f6fa}
.login-modern-page button,.login-modern-page input{font:inherit}
.login-layout{width:min(1120px,100%);min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:27px;box-shadow:0 28px 80px rgba(54,14,31,.17),0 4px 16px rgba(40,32,50,.05)}
.login-brand-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:43px 42px 27px;color:#fff;background:linear-gradient(145deg,#922449 0%,#71162f 44%,#43091e 100%)}
.login-brand-panel:before{content:"";position:absolute;z-index:-1;width:500px;height:500px;right:-300px;top:-280px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.02)}
.login-brand-panel:after{content:"";position:absolute;z-index:-1;width:300px;height:300px;left:-205px;bottom:-210px;border:1px solid rgba(231,190,103,.25);border-radius:50%;box-shadow:0 0 0 28px rgba(231,190,103,.035),0 0 0 62px rgba(231,190,103,.025)}
.brand-panel-top{position:relative;z-index:1}
.login-logo-wrap{width:94px;height:94px;display:grid;place-items:center;padding:7px;margin-bottom:26px;background:#fff;border:2px solid rgba(231,190,103,.85);border-radius:50%;box-shadow:0 8px 22px rgba(23,4,12,.16)}
.login-logo-wrap img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.brand-overline{margin-bottom:9px;color:#f4d98e;font-size:10px;font-weight:800;letter-spacing:1.75px;text-transform:uppercase}
.school-name{margin:0;color:#fff;font-size:clamp(24px,2.55vw,34px);line-height:1.2;font-weight:850;letter-spacing:-.7px}
.school-name span{color:#ffe3a0}
.school-motto{margin:15px 0 0;color:rgba(255,255,255,.86);font-size:13px;line-height:1.75;font-weight:450}
.brand-divider{display:flex;align-items:center;gap:7px;width:100%;margin:25px 0 20px}
.brand-divider span{height:1px;flex:1;background:rgba(255,255,255,.2)}
.brand-divider i{width:6px;height:6px;display:block;border-radius:50%;background:var(--login-gold)}
.school-contact-list{display:grid;gap:10px;position:relative;z-index:1}
.school-contact-item{display:flex;gap:13px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.contact-icon{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:10px;background:rgba(255,255,255,.1);color:#f5d78a}
.contact-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.school-contact-item small{display:block;margin-bottom:4px;color:#f1d68e;font-size:9px;font-weight:800;letter-spacing:1.25px}
.school-contact-item p{margin:0;color:#fff;font-size:12px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}
.brand-panel-footer{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:21px;color:rgba(255,255,255,.63);font-size:9px;font-weight:750;letter-spacing:1.05px}
.footer-dot{width:6px;height:6px;border-radius:50%;background:#edcf7b;box-shadow:0 0 0 4px rgba(237,207,123,.11)}
.brand-orbit{position:absolute;z-index:-1;pointer-events:none;border:1px solid rgba(255,255,255,.075);border-radius:50%}
.brand-orbit-one{width:330px;height:330px;top:-190px;right:-130px}
.brand-orbit-two{width:170px;height:170px;bottom:-135px;right:22px;border-color:rgba(255,255,255,.06)}
.login-form-panel{display:flex;align-items:center;justify-content:center;padding:56px 58px;background:linear-gradient(150deg,#fff 0%,#fff 68%,#fdf9fa 100%)}
.login-form-inner{width:min(100%,390px);margin:auto}
.form-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--login-rose);font-size:9px;font-weight:850;letter-spacing:1.55px}
.eyebrow-line{width:23px;height:2px;background:var(--login-gold);border-radius:4px}
.login-form-inner h2{margin:0;color:#282034;font-size:32px;line-height:1.2;letter-spacing:-.8px;font-weight:820}
.login-intro{margin:11px 0 29px;color:var(--login-muted);font-size:12px;line-height:1.8}
.login-modern-form{display:flex;flex-direction:column}
.login-modern-form label{margin:0 0 8px;color:#4e5364;font-size:10px;font-weight:800;letter-spacing:1.15px}
.login-input-wrap{position:relative;display:flex;align-items:center;margin-bottom:20px}
.login-input-wrap>svg{position:absolute;left:15px;width:18px;height:18px;fill:none;stroke:#8d94a5;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.login-input-wrap input{width:100%;height:51px;padding:0 45px 0 44px;border:1px solid #dfe2eb;border-radius:12px;outline:none;background:#fff;color:#21283b;font-size:13px;box-shadow:0 2px 5px rgba(35,30,46,.025);transition:border-color .16s,box-shadow .16s}
.login-input-wrap input::placeholder{color:#a0a6b4}
.login-input-wrap input:focus{border-color:#b43b5f;box-shadow:0 0 0 4px rgba(180,59,95,.1)}
.password-toggle{position:absolute;right:8px;top:7px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#777f91;cursor:pointer}
.password-toggle:hover{background:#f7edf0;color:var(--login-wine)}
.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-security-note{display:flex;align-items:center;gap:7px;margin:-3px 0 21px;color:#848a99;font-size:10px}
.security-lock svg{display:block;width:13px;height:13px;fill:none;stroke:#a17b31;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:51px;padding:0 18px;border:1px solid #7b1a38;border-radius:12px;background:linear-gradient(100deg,#9f2a4d,#76142f 75%);color:#fff;font-size:12px;font-weight:850;letter-spacing:.65px;box-shadow:0 9px 19px rgba(113,18,48,.2);cursor:pointer;transition:transform .16s,box-shadow .16s,filter .16s}
.login-submit:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 12px 23px rgba(113,18,48,.24)}
.login-submit:active{transform:translateY(0)}
.login-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-notice{display:flex;align-items:flex-start;gap:9px;margin:-10px 0 18px;padding:11px 12px;border-radius:10px;font-size:11px;line-height:1.55}
.login-notice-success{border:1px solid #b9ead1;background:#effbf4;color:#176b43}
.login-notice-error{border:1px solid #f2c7d1;background:#fff3f5;color:#9c2442}
.notice-symbol{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;border-radius:50%;background:currentColor;color:#fff;font-size:12px;font-weight:800}
.login-notice-success .notice-symbol{background:#1e9a64}.login-notice-error .notice-symbol{background:#c43759}
.login-form-foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:26px;padding-top:17px;border-top:1px solid #ececf1;color:#9a8a91;font-size:8px;font-weight:750;letter-spacing:.72px;text-align:center}
.login-form-foot span:first-child{color:#9b2849}
.login-form-foot i{width:3px;height:3px;border-radius:50%;background:var(--login-gold)}
@media(max-width:900px){body.login-modern-page{padding:18px}.login-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1fr);min-height:600px}.login-brand-panel{padding:33px 28px 24px}.login-form-panel{padding:42px 34px}.school-name{font-size:27px}.login-logo-wrap{width:80px;height:80px}.school-contact-item{padding:10px}.school-contact-item p{font-size:11px}}
@media(max-width:680px){body.login-modern-page{display:block;padding:12px;background:#f4f4f8}.login-layout{width:100%;grid-template-columns:1fr;border-radius:20px;min-height:0}.login-brand-panel{padding:24px 22px 18px}.login-logo-wrap{width:67px;height:67px;margin-bottom:15px}.brand-overline{font-size:9px}.school-name{font-size:24px}.school-motto{margin-top:9px;font-size:12px}.brand-divider{margin:16px 0 13px}.school-contact-list{grid-template-columns:1fr;gap:7px}.school-contact-item{padding:9px 11px}.contact-icon{width:31px;height:31px;flex-basis:31px}.school-contact-item p{font-size:11px}.brand-panel-footer{margin-top:17px;padding-top:0;font-size:8px}.login-form-panel{padding:32px 24px 28px}.login-form-inner h2{font-size:29px}.login-intro{margin-bottom:24px}.login-form-foot{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.login-modern-page *{transition:none!important}}
