/* V28: scene and native controls matching the supplied login reference. */
body.nr-login-page,html.nr-neon body.nr-login-page{margin:0!important;padding:0!important;min-height:100svh;background:#031a3c!important;color:#c9e8ff!important}
body.nr-login-page::before{display:none!important}
body.nr-login-page>.v22-top,body.nr-login-page>.v22-profile,body.nr-login-page>.nr-bar,body.nr-login-page .nr-profile-menu-holder,body.nr-login-page .v22-context,body.nr-login-page footer,body.nr-login-page .nr-menu-toggle{display:none!important}
body.nr-login-page .wrap,body.nr-login-page .nr-main,body.nr-login-page main,body.nr-login-page .app{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important}
body.nr-login-page #home{display:block!important;margin:0!important;padding:0!important}
.nr-login-scene{min-height:100svh;width:100%;box-sizing:border-box;background:linear-gradient(90deg,#00153130,transparent 60%),url('/assets/login-classroom-v28.png') center/cover no-repeat;display:flex;align-items:center;padding:clamp(36px,8vh,90px) 6.7vw 32px}
.nr-login-panel{box-sizing:border-box;width:min(710px,46vw);border:1px solid #00baff;border-radius:30px;padding:32px 28px 20px;background:linear-gradient(140deg,#0a2f62bd,#041e49b8 80%);box-shadow:0 0 15px #0084ff55,inset 0 0 24px #006fff22;backdrop-filter:blur(3px);text-align:center}
body.nr-login-page .nr-login-panel h1{font-size:clamp(26px,2.9vw,49px);font-weight:850;line-height:1.1;letter-spacing:-.04em;margin:0 0 14px;color:#e3f3ff!important;white-space:nowrap}
.nr-login-wordmark{white-space:nowrap;letter-spacing:-.05em}.nr-login-wordmark>span{color:#00baff!important}
body.nr-login-page .nr-login-panel .nr-login-intro{font-size:clamp(16px,1.35vw,24px);line-height:1.4;margin:0 auto 18px;color:#c9e8ff!important;font-weight:400}
.nr-login-avatar{display:grid;place-items:center;width:92px;height:92px;margin:0 auto 18px;border-radius:50%;border:2px solid #00c8ff;background:linear-gradient(135deg,#00a6ff,#004bfa);box-shadow:0 0 16px #007cff33;color:#e3f3ff}
.nr-login-avatar svg{width:62px;height:62px;fill:currentColor;stroke:currentColor;stroke-width:1}
.nr-login-form{display:grid;gap:12px;width:82%;margin:auto}
.nr-login-field{position:relative;display:flex;align-items:center;gap:14px;border:1px solid #c9e8ff;border-radius:15px;padding:0 16px;height:54px;background:linear-gradient(110deg,#061d46bb,#0a3372a1);color:#c9e8ff;box-sizing:border-box}
.nr-login-field>svg{width:24px;height:24px;flex-shrink:0}
body.nr-login-page .nr-login-field input{width:100%;min-width:0;background:transparent!important;border:0!important;outline:0;padding:12px 0!important;font:400 18px/1.2 system-ui;color:#c9e8ff!important;box-shadow:none!important;border-radius:0!important}
body.nr-login-page .nr-login-field input::placeholder{color:#c9e8ff!important;opacity:1}
.nr-login-field:focus-within{outline:2px solid #00c8ff;outline-offset:3px}
.nr-login-eye{display:grid;place-items:center;flex-shrink:0;width:30px;height:36px;background:transparent;border:0;color:#c9e8ff;cursor:pointer;padding:0}.nr-login-eye svg{width:26px;height:26px}
.nr-login-eye[aria-pressed=true]{color:#27d8ff}
.nr-login-submit{display:flex;justify-content:center;align-items:center;gap:16px;min-height:56px;margin-top:4px;border:1px solid #00dcff;border-radius:14px;background:linear-gradient(105deg,#00b8eb,#0099f3);box-shadow:0 0 22px #00a7ff77,inset 0 1px 0 #5be9ff55;font:700 21px system-ui;color:#e3f3ff;cursor:pointer}.nr-login-submit span{font-size:28px}.nr-login-submit:disabled{opacity:.7;cursor:wait}
.nr-login-forgot{width:82%;margin:14px auto 18px;font-size:16px}.nr-login-forgot summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px;color:#36baff!important;font-weight:400!important}.nr-login-forgot summary::-webkit-details-marker{display:none}
body.nr-login-page .nr-login-forgot p{color:#c9e8ff!important;font-size:14px;line-height:1.5;margin:12px 0}
.nr-login-other{display:grid;gap:7px;padding-top:17px;border-top:1px solid #1665a366;width:100%;box-sizing:border-box}
.nr-login-other>a,.nr-login-other>button{display:flex;align-items:center;justify-content:center;gap:18px;width:74%;margin:auto;min-height:52px;padding:8px 12px;box-sizing:border-box;border:1px solid #00c8ff;border-radius:13px;background:#002153a1;color:#c9e8ff!important;font:400 18px system-ui;text-decoration:none;cursor:pointer}
.nr-login-other svg{width:26px;height:26px;flex-shrink:0}.nr-login-other>a:hover,.nr-login-other>button:hover{background:#0b3e77}
.nr-login-submit:hover{filter:brightness(1.12)}.nr-login-other>a:focus-visible,.nr-login-other>button:focus-visible,.nr-login-eye:focus-visible,.nr-login-forgot summary:focus-visible{outline:3px solid #27d8ff;outline-offset:3px}
.nr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nr-login-form #feedback:empty{display:none}.nr-login-form #feedback{font-size:14px;color:#ffced9;line-height:1.4}.nr-login-form #feedback[role=alert]{padding:10px;background:#391b39dd;border-radius:10px;border:1px solid #ff637677}
@media(min-width:1600px){.nr-login-panel{padding:40px 30px 20px}.nr-login-avatar{width:118px;height:118px;margin:20px auto}.nr-login-avatar svg{width:76px;height:76px}.nr-login-field{height:64px}.nr-login-submit{min-height:64px;font-size:25px}.nr-login-field input{font-size:22px!important}.nr-login-other>a,.nr-login-other>button{min-height:62px;font-size:22px}.nr-login-forgot{margin:18px auto 24px;font-size:18px}}
@media(max-width:1000px){.nr-login-scene{padding:45px 5vw;background-position:62% center}.nr-login-panel{width:min(570px,66vw);padding:28px 20px}.nr-login-panel h1{white-space:normal!important;font-size:32px!important}.nr-login-break{display:none}}
@media(max-width:600px){.nr-login-scene{padding:24px 16px;align-items:center;background-position:67% center;background-image:linear-gradient(#01163477,#01163477),url('/assets/login-classroom-v28.png')}.nr-login-panel{width:100%;border-radius:24px;padding:28px 18px 20px;background:linear-gradient(140deg,#062653ed,#041e49e8)}.nr-login-panel h1{font-size:29px!important;line-height:1.2!important;white-space:normal!important}.nr-login-intro{font-size:16px!important}.nr-login-form,.nr-login-forgot{width:100%}.nr-login-other>a,.nr-login-other>button{width:90%}.nr-login-avatar{width:84px;height:84px}.nr-login-field input{font-size:16px!important}.nr-login-submit{font-size:19px}}
/* Keep the functional fields and brand colours above inherited platform rules. */
html.nr-neon body.nr-login-page .nr-login-panel .nr-login-field input,body.nr-login-page .nr-login-panel .nr-login-field input{background:transparent!important;background-color:transparent!important;color:#c9e8ff!important;-webkit-text-fill-color:#c9e8ff!important}
html.nr-neon body.nr-login-page .nr-login-panel .nr-login-wordmark>span{color:#00baff!important;-webkit-text-fill-color:#00baff!important}
html.nr-neon body.nr-login-page .nr-login-panel .nr-login-forgot summary{color:#36baff!important;-webkit-text-fill-color:#36baff!important}
html.nr-neon body.nr-login-page .nr-login-panel .nr-login-other>a,html.nr-neon body.nr-login-page .nr-login-panel .nr-login-other>button{color:#c9e8ff!important}
@media(min-width:1001px){.nr-login-scene{align-items:flex-start;padding-top:13.6vh}.nr-login-form,.nr-login-forgot{width:76%}.nr-login-other>a,.nr-login-other>button{width:68%}}
html.nr-neon body.nr-login-page .nr-login-panel .nr-login-field input{box-shadow:none!important}
/* Same layout, darker navy ambience. */
.nr-login-scene{background-image:linear-gradient(90deg,#02132c66,#04152577),url('/assets/login-classroom-v28.png')}
.nr-login-panel{background:linear-gradient(140deg,#071e42db,#03152ddd)}
@media(max-width:600px){.nr-login-scene{background-image:linear-gradient(#02132c99,#041525aa),url('/assets/login-classroom-v28.png')}.nr-login-panel{background:linear-gradient(140deg,#071e42ef,#03152df0)}}
/* V30 · fit the login panel in ordinary laptop viewports without hiding content. */
.nr-login-scene{align-items:center;padding:20px 6.7vw;min-height:100svh}
.nr-login-panel{width:min(640px,46vw);padding:24px 24px 18px}
body.nr-login-page .nr-login-panel h1{font-size:clamp(26px,2.7vw,42px);margin-bottom:10px}
body.nr-login-page .nr-login-panel .nr-login-intro{font-size:18px;margin-bottom:12px}
.nr-login-avatar{width:82px;height:82px;margin:12px auto}.nr-login-avatar svg{width:54px;height:54px}
.nr-login-field{height:48px}.nr-login-submit{min-height:48px;font-size:20px}.nr-login-forgot{margin:10px auto 14px;font-size:15px}.nr-login-other{padding-top:12px}.nr-login-other>a,.nr-login-other>button{min-height:45px;font-size:17px}
@media(max-height:760px){.nr-login-scene{padding-block:12px}.nr-login-panel{padding:16px 22px 12px}.nr-login-avatar{width:64px;height:64px;margin:8px auto}.nr-login-avatar svg{width:44px;height:44px}.nr-login-form{gap:9px}.nr-login-field{height:43px}.nr-login-submit{min-height:43px}.nr-login-other>a,.nr-login-other>button{min-height:40px}.nr-login-other{padding-top:9px}.nr-login-forgot{margin:8px auto 10px}body.nr-login-page .nr-login-panel .nr-login-intro{font-size:16px;margin-bottom:8px}}
@media(max-width:1000px){.nr-login-panel{width:min(570px,70vw)}}
@media(max-width:600px){.nr-login-scene{padding:16px}.nr-login-panel{width:100%;padding:22px 18px 16px}body.nr-login-page .nr-login-panel .nr-login-intro{font-size:16px}.nr-login-form,.nr-login-forgot{width:100%}}
body.nr-login-page .app>.footer{display:none!important}
/* V31 · narrower panel, smaller elements, deliberate breathing space. */
.nr-login-scene{padding:24px 6.7vw;align-items:center}
.nr-login-panel{width:min(490px,42vw);padding:26px 28px 22px;border-radius:26px}
body.nr-login-page .nr-login-panel h1{font-size:clamp(25px,2.1vw,32px)!important;line-height:1.18!important;white-space:normal!important;margin:0 0 16px!important;letter-spacing:-.035em}
body.nr-login-page .nr-login-panel .nr-login-intro{font-size:16px!important;line-height:1.5!important;margin:0 auto 18px!important;max-width:350px}
.nr-login-break{display:none}
.nr-login-avatar{width:62px;height:62px;margin:0 auto 22px}.nr-login-avatar svg{width:40px;height:40px}
.nr-login-form,.nr-login-forgot{width:100%}.nr-login-form{gap:14px}
.nr-login-field{height:46px;border-radius:12px;padding-inline:14px;gap:12px}.nr-login-field>svg{width:21px;height:21px}
body.nr-login-page .nr-login-panel .nr-login-field input{font-size:16px!important;padding-block:10px!important}
.nr-login-submit{min-height:46px;font-size:18px;margin-top:6px;border-radius:12px}.nr-login-submit span{font-size:24px}
.nr-login-forgot{margin:16px auto 18px;font-size:14px}
.nr-login-other{padding-top:18px;gap:11px}.nr-login-other>a,.nr-login-other>button{width:100%;min-height:44px;font-size:16px;border-radius:12px;gap:12px}.nr-login-other svg{width:22px;height:22px}
@media(max-width:1000px){.nr-login-panel{width:min(490px,75vw)}}
@media(max-width:600px){.nr-login-scene{padding:20px 16px}.nr-login-panel{width:100%;padding:24px 22px 20px}body.nr-login-page .nr-login-panel h1{font-size:27px!important}}
@media(max-height:720px){.nr-login-scene{padding-block:14px}.nr-login-panel{padding-top:20px;padding-bottom:18px}body.nr-login-page .nr-login-panel h1{margin-bottom:12px!important}.nr-login-avatar{width:54px;height:54px;margin-bottom:16px}.nr-login-avatar svg{width:36px;height:36px}body.nr-login-page .nr-login-panel .nr-login-intro{margin-bottom:14px!important}.nr-login-forgot{margin:12px auto 14px}.nr-login-other{padding-top:14px}}
/* V32 · credit at lower right; room reserved on small screens. */
.nr-login-scene{position:relative;padding-bottom:62px}
.nr-login-credit{position:absolute;right:26px;bottom:18px;display:flex;align-items:center;gap:15px;font:500 12px/1.35 system-ui;color:#d5eeff;max-width:calc(100% - 32px);text-align:right;text-shadow:0 1px 3px #03152d}
.nr-login-credit img{display:block;width:108px;height:auto;max-height:38px;object-fit:contain}
.nr-login-credit .nr-bxl-dark{display:block!important}.nr-login-credit .nr-bxl-light{display:none!important}
@media(max-width:600px){.nr-login-scene{padding-bottom:62px}.nr-login-credit{right:16px;bottom:16px;gap:12px;font-size:11px}.nr-login-credit img{width:86px}}
@media(max-height:720px){.nr-login-scene{padding-top:10px;padding-bottom:55px}.nr-login-credit{bottom:12px}}
@media(max-width:600px) and (max-height:720px){.nr-login-panel{padding-top:18px;padding-bottom:16px}}

/* V55 credit below the form, clear of hosting overlays. */
.nr-login-stack{width:min(470px,48vw);display:flex;flex-direction:column;gap:14px;align-items:stretch}
.nr-login-stack .nr-login-panel{width:100%!important;box-sizing:border-box}
body.nr-login-page .nr-login-credit{position:static!important;inset:auto!important;max-width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;text-align:center;flex-shrink:0;margin:0;padding:0 4px}
body.nr-login-page .nr-login-scene{padding-bottom:22px!important}
@media(max-width:1000px){.nr-login-stack{width:min(470px,66vw)}}
@media(max-width:600px){.nr-login-stack{width:100%}}
