/* NEXAM UI 3.1 — redesigned admin/student login, isolated from legacy themes. */
html body.login-page.nxlogin-page{min-height:100vh!important;height:auto!important;margin:0!important;display:block!important;background:radial-gradient(ellipse at 8% 0%,#d3e5ff 0%,transparent 39%),radial-gradient(ellipse at 100% 100%,#def4fa 0%,transparent 37%),#f3f7fc!important;color:#132947!important;font-family:Inter,'Segoe UI',system-ui,sans-serif!important;color-scheme:light!important}
body.nxlogin-page *,body.nxlogin-page *:before,body.nxlogin-page *:after{box-sizing:border-box}
body.nxlogin-page .nx3-guest-language{top:clamp(16px,3vw,30px);right:clamp(16px,3vw,34px);border:1px solid #d9e6f6;background:rgba(255,255,255,.95);box-shadow:0 10px 28px rgba(21,49,96,.08)}
.nxlogin-shell{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:76px 20px 42px}
.nxlogin-frame{width:min(1060px,100%);min-height:608px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.96fr);background:#fff;border:1px solid #e4ebf6;border-radius:28px;box-shadow:0 27px 90px rgba(20,53,108,.13),0 4px 15px rgba(20,53,108,.04);overflow:hidden}
.nxlogin-showcase{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:35px clamp(30px,4.5vw,56px);color:#fff;background:linear-gradient(145deg,#113375 0%,#1f56c4 54%,#138cbd 110%);isolation:isolate}
.nxlogin-showcase:before{content:'';position:absolute;width:390px;height:390px;right:-220px;top:-180px;border:60px solid rgba(255,255,255,.055);border-radius:50%;z-index:-1}
.nxlogin-showcase:after{content:'';position:absolute;width:370px;height:370px;left:-255px;bottom:-165px;border:56px solid rgba(255,255,255,.045);border-radius:50%;z-index:-1}
.nxlogin-brand{display:inline-flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none;width:max-content;max-width:100%}
.nxlogin-brandmark{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:13px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.21);font-size:20px}
.nxlogin-brandtitle{font-size:23px;font-weight:900;line-height:1.1;letter-spacing:-.04em}
.nxlogin-brandtitle small{display:block;font-size:9px;font-weight:750;letter-spacing:.14em;color:#bfd6ff;margin-top:5px}
.nxlogin-showcase-main{margin:auto 0;position:relative;padding:45px 0 12px}
.nxlogin-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#bee3ff}
.nxlogin-eyebrow i{font-size:13px;color:#79e9ba}
.nxlogin-showcase h1{max-width:420px;font-size:clamp(35px,3.4vw,49px);font-weight:850;line-height:1.1;letter-spacing:-.045em;color:#fff!important;margin:18px 0 16px}
.nxlogin-showcase-main>p{max-width:350px;font-size:15px;line-height:1.75;color:#dceaff;margin:0}
.nxlogin-showcase-foot{display:flex;align-items:center;gap:9px;margin-top:28px;color:#d4e6ff;font-size:12px;font-weight:700}
.nxlogin-showcase-foot i{color:#89f0c6}
.nxlogin-illustration{height:140px;position:relative;margin-top:28px;display:flex;align-items:center;justify-content:center}
.nxlogin-visual-card{height:112px;width:220px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.26);border-radius:21px;box-shadow:0 20px 45px rgba(0,27,80,.15);display:flex;align-items:center;gap:18px;padding:20px;transform:rotate(-5deg);backdrop-filter:blur(10px)}
.nxlogin-visual-icon{width:55px;height:55px;display:grid;place-items:center;flex:0 0 55px;border-radius:16px;background:#fff;color:#2465cf;font-size:24px}
.nxlogin-visual-lines{flex:1;display:flex;flex-direction:column;gap:9px}.nxlogin-visual-lines i{height:7px;width:100%;border-radius:8px;background:rgba(255,255,255,.65)}.nxlogin-visual-lines i:nth-child(2){width:75%;opacity:.7}.nxlogin-visual-lines i:nth-child(3){width:52%;opacity:.5}
.nxlogin-visual-tick{position:absolute;right:-15px;top:-17px;display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:#50d8b0;color:#053c44;transform:rotate(5deg);box-shadow:0 7px 18px rgba(6,52,80,.2)}
.nxlogin-visual-orbit{position:absolute;width:12px;height:12px;border-radius:50%;background:#65dcef;left:14%;top:27%;opacity:.65}.nxlogin-visual-orbit.orbit-two{width:7px;height:7px;left:auto;right:12%;top:75%;background:#fff;opacity:.55}
.nxlogin-auth{display:flex;align-items:center;justify-content:center;padding:44px clamp(25px,4.6vw,62px);min-width:0}
.nxlogin-auth-inner{width:100%;max-width:390px;min-width:0}
.nxlogin-school{display:flex;align-items:center;gap:12px;max-width:100%;min-height:52px;margin-bottom:43px;color:#143665;font-size:16px;line-height:1.1;font-weight:900;letter-spacing:-.02em}
.nxlogin-school img{display:block;max-width:152px;max-height:65px;object-fit:contain;object-position:left center;width:auto;height:auto}
.nxlogin-school img+span{border-left:1px solid #dce5f2;padding-left:12px}
.nxlogin-school small{display:block;font-size:9px;font-weight:750;letter-spacing:.12em;color:#7a8ca5;margin-top:5px}
.nxlogin-school-placeholder{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:linear-gradient(145deg,#174fbd,#35a1d3);color:#fff;font-size:20px}
.nxlogin-role{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#2861c8;background:#eef5ff;border:1px solid #e2edff;padding:7px 11px;border-radius:8px;margin-bottom:14px}
.nxlogin-formtitle h2{font-size:clamp(22px,2.5vw,29px);font-weight:850;letter-spacing:-.035em;margin:0 0 9px;color:#10294b!important;line-height:1.22}
.nxlogin-formtitle p{font-size:13px;line-height:1.65;color:#687b93;margin:0 0 26px}
.nxlogin-form{display:flex;flex-direction:column;gap:18px}
.nxlogin-field label{display:block;font-size:12px;font-weight:800;color:#334861;margin:0 0 8px}
.nxlogin-inputwrap{display:flex;align-items:center;position:relative;min-width:0}
.nxlogin-inputwrap>i{position:absolute;left:16px;z-index:1;font-size:14px;color:#90a1b7;pointer-events:none}
body.nxlogin-page .nxlogin-inputwrap input.form-control{display:block;min-height:50px;width:100%;padding:13px 47px 13px 44px!important;background:#f8fafd!important;border:1px solid #dce6f2!important;color:#172e4b!important;-webkit-text-fill-color:#172e4b!important;border-radius:12px!important;font-size:13px!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s,background .2s}
body.nxlogin-page .nxlogin-inputwrap input.form-control::placeholder{color:#8b9db3!important;-webkit-text-fill-color:#8b9db3!important;opacity:1}
body.nxlogin-page .nxlogin-inputwrap input.form-control:focus{outline:none!important;background:#fff!important;border-color:#3878de!important;box-shadow:0 0 0 4px rgba(41,100,211,.12)!important}
body.nxlogin-page .nxlogin-inputwrap input:-webkit-autofill{-webkit-text-fill-color:#172e4b!important;-webkit-box-shadow:0 0 0 1000px #f8fafd inset!important}
.nxlogin-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#778ba4;cursor:pointer;z-index:2}
.nxlogin-eye:hover,.nxlogin-eye:focus-visible{background:#e8f0ff;color:#275bcc}
body.nxlogin-page button.nxlogin-submit{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:6px;min-height:52px;border:0!important;border-radius:12px!important;background:linear-gradient(105deg,#2759d2,#1c88c2)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:14px!important;font-weight:800!important;padding:12px 19px!important;box-shadow:0 9px 22px rgba(40,93,202,.2);transition:filter .2s,transform .2s}
body.nxlogin-page button.nxlogin-submit:hover{filter:brightness(1.07);transform:translateY(-1px)}
body.nxlogin-page :is(a,button,input):focus-visible{outline:3px solid #71affb;outline-offset:3px}
.nxlogin-secondary{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 0;color:#2d60c3;font-size:12px;font-weight:750;text-decoration:none}
.nxlogin-extra-links{display:flex;flex-wrap:wrap;gap:14px 18px;margin:21px 0 0}.nxlogin-extra-links a{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#2b64bf;font-weight:750;text-decoration:none}.nxlogin-extra-links a:hover,.nxlogin-secondary:hover{text-decoration:underline}
.nxlogin-error{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;margin:0 0 18px;border:1px solid #f5c6cf;border-radius:11px;background:#fff3f3;color:#a62937;font-size:12px;font-weight:700;line-height:1.5}
.nxlogin-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e9eef6;margin-top:30px;padding-top:17px;color:#8392a6;font-size:10px;line-height:1.6}.nxlogin-foot #enc{min-width:0;overflow-wrap:anywhere}
html.dark-mode body.login-page.nxlogin-page{color-scheme:light!important}
@media(max-width:860px){.nxlogin-frame{grid-template-columns:1fr;max-width:545px;min-height:0}.nxlogin-showcase{padding:23px 28px 24px}.nxlogin-showcase-main{padding:24px 0 0}.nxlogin-showcase h1{font-size:29px;margin:9px 0}.nxlogin-showcase-main>p{font-size:12px}.nxlogin-showcase-foot,.nxlogin-illustration{display:none}.nxlogin-auth{padding:27px 30px 35px}.nxlogin-school{margin-bottom:27px}.nxlogin-shell{padding-top:82px}}
@media(max-width:480px){.nxlogin-shell{padding:65px 11px 22px;align-items:flex-start}.nxlogin-frame{border-radius:19px}.nxlogin-showcase{padding:20px 21px}.nxlogin-brandmark{width:36px;height:36px;flex-basis:36px;font-size:16px}.nxlogin-brandtitle{font-size:20px}.nxlogin-showcase h1{font-size:26px}.nxlogin-auth{padding:24px 20px 27px}.nxlogin-school{margin-bottom:24px}.nxlogin-formtitle h2{font-size:23px}.nxlogin-foot{margin-top:22px}.nxlogin-extra-links{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){.nxlogin-submit,.nxlogin-inputwrap input{transition:none!important}}
