html.nx20-intro-locked,html.nx20-intro-locked body{overflow:hidden}
.nx20-auth-body{min-height:100svh;background:var(--nx20-obsidian);color:var(--nx20-ink);overflow-x:hidden}
.nx20-auth-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(460px,.84fr);width:100%;min-height:100svh;background:var(--nx20-ivory)}

.nx20-auth-stage{position:relative;min-height:100svh;padding:clamp(26px,3.3vw,52px);overflow:hidden;background:
    radial-gradient(circle at 76% 14%,rgba(111,75,255,.28),transparent 32%),
    radial-gradient(circle at 14% 84%,rgba(169,171,180,.16),transparent 28%),
    linear-gradient(145deg,#0B0C10 0%,#111219 45%,#1A1924 100%);color:#fff}
.nx20-auth-stage__grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.036) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.036) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.86),rgba(0,0,0,.12))}
.nx20-auth-stage__glow{position:absolute;border-radius:50%;filter:blur(12px);pointer-events:none}
.nx20-auth-stage__glow--a{width:36vw;height:36vw;max-width:560px;max-height:560px;right:-16%;top:18%;background:radial-gradient(circle,rgba(111,75,255,.24),transparent 68%)}
.nx20-auth-stage__glow--b{width:28vw;height:28vw;max-width:420px;max-height:420px;left:-13%;bottom:-11%;background:radial-gradient(circle,rgba(169,171,180,.13),transparent 69%)}
.nx20-auth-stage__header,.nx20-auth-stage__footer,.nx20-auth-stage__content{position:relative;z-index:2}
.nx20-auth-stage__header{display:flex;align-items:center;justify-content:space-between;gap:22px}
.nx20-release-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.045);backdrop-filter:blur(14px);color:rgba(255,255,255,.56);font-size:.58rem;font-weight:800;letter-spacing:.04em}
.nx20-release-chip i{width:7px;height:7px;border-radius:999px;background:#8A6DFF;box-shadow:0 0 0 4px rgba(138,109,255,.11)}
.nx20-release-chip b{padding-left:8px;border-left:1px solid rgba(255,255,255,.11);color:#B7B8C0;font-weight:900}

.nx20-auth-stage__content{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 190px);max-width:780px;padding:clamp(54px,8vh,110px) 0 48px}
.nx20-auth-kicker{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;height:34px;padding:0 13px;border:1px solid rgba(167,151,255,.18);border-radius:999px;background:rgba(111,75,255,.11);color:#C5BBFF;font-size:.62rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.nx20-auth-kicker i{color:#C7C8CF;font-size:.72rem}
.nx20-auth-stage h1{max-width:760px;margin:24px 0 18px;font-size:clamp(2.65rem,5.3vw,5.7rem);font-weight:850;line-height:.94;letter-spacing:-.07em}
.nx20-auth-stage h1 em{font-style:normal;color:#A797FF;font-weight:780}
.nx20-auth-stage__content>p{max-width:630px;margin:0;color:rgba(255,255,255,.55);font-size:clamp(.92rem,1.18vw,1.08rem);font-weight:520;line-height:1.72}


.nx20-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:670px;margin-top:24px}
.nx20-capability-grid article{display:flex;align-items:center;gap:13px;min-height:72px;padding:13px 15px;border:1px solid rgba(255,255,255,.085);border-radius:17px;background:rgba(255,255,255,.038);backdrop-filter:blur(10px);transition:transform .22s var(--nx20-ease),background .22s ease,border-color .22s ease}
.nx20-capability-grid article:hover{transform:translateY(-2px);border-color:rgba(167,151,255,.18);background:rgba(255,255,255,.055)}
.nx20-capability-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:13px;background:rgba(111,75,255,.17);color:#BDB2FF;font-size:.9rem}
.nx20-capability-grid article:nth-child(2n) .nx20-capability-icon{background:rgba(169,171,180,.10);color:#C9CAD0}
.nx20-capability-grid article div{display:grid;gap:4px;min-width:0}.nx20-capability-grid strong{font-size:.76rem;font-weight:820}.nx20-capability-grid small{color:rgba(255,255,255,.42);font-size:.59rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.nx20-auth-stage__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.nx20-system-state{display:flex;align-items:center;gap:11px}.nx20-system-state>i{width:9px;height:9px;border-radius:50%;background:#8064FF;box-shadow:0 0 0 5px rgba(128,100,255,.10)}.nx20-system-state.is-controlled>i{background:#AA7A3D;box-shadow:0 0 0 5px rgba(170,122,61,.10)}
.nx20-system-state span{display:grid;gap:2px}.nx20-system-state strong{font-size:.65rem;font-weight:820}.nx20-system-state small{color:rgba(255,255,255,.38);font-size:.56rem;font-weight:650}
.nx20-auth-stage__signature{color:rgba(255,255,255,.28);font-size:.56rem;font-weight:900;letter-spacing:.17em}

.nx20-auth-access{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;padding:clamp(26px,3vw,46px) clamp(30px,4.1vw,68px) 24px;background:
    radial-gradient(circle at 100% 0,rgba(111,75,255,.075),transparent 30%),
    var(--nx20-ivory-2)}
.nx20-auth-access:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(16,17,22,.12)}
.nx20-auth-access__top{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-height:44px}.nx20-mobile-brand{display:none}
.nx20-access-state{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid rgba(16,17,22,.10);border-radius:999px;background:rgba(255,253,248,.65);color:#686A74;font-size:.59rem;font-weight:780}.nx20-access-state i{width:7px;height:7px;border-radius:50%;background:var(--nx20-jade);box-shadow:0 0 0 4px rgba(111,75,255,.09)}
.nx20-auth-access__inner{width:100%;max-width:500px;margin:auto;padding:50px 0 42px}
.nx20-auth-access__head{margin-bottom:28px}.nx20-auth-access__eyebrow{display:block;margin-bottom:8px;color:var(--nx20-jade);font-size:.63rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.nx20-auth-access__head h2{margin:0;color:var(--nx20-ink);font-size:clamp(2rem,3.4vw,3rem);font-weight:850;letter-spacing:-.055em;line-height:1.04}.nx20-auth-access__head p{margin:12px 0 0;color:#73757F;font-size:.83rem;font-weight:540;line-height:1.6}

.nx20-access-notice,.nx20-inline-alert,.nx20-login-feedback{border-radius:16px}.nx20-access-notice{display:flex;gap:12px;margin-bottom:20px;padding:14px;border:1px solid #E2E0E4;background:#F7F6F4;color:#615F66}.nx20-access-notice.is-policy{border-color:#E2DDF9;background:#F1EEFF;color:#5749A4}.nx20-access-notice__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:rgba(255,255,255,.72);font-size:.82rem}.nx20-access-notice div{display:grid;gap:3px}.nx20-access-notice span{font-size:.57rem;font-weight:820;letter-spacing:.07em;text-transform:uppercase;opacity:.84}.nx20-access-notice strong{font-size:.77rem;font-weight:850}.nx20-access-notice p{margin:0;color:inherit;font-size:.65rem;line-height:1.5;opacity:.88}
.nx20-inline-alert{display:flex;align-items:center;gap:9px;margin-bottom:16px;padding:12px 13px;border:1px solid transparent;font-size:.66rem;font-weight:700}.nx20-inline-alert.is-success{border-color:#DED8FF;background:#F2EFFF;color:#5C4BAA}.nx20-inline-alert.is-danger{border-color:#E6D8DC;background:#FFF3F5;color:#934A59}

.nx20-login-form{display:grid;gap:17px}.nx20-field{display:grid;gap:8px}.nx20-field__labelrow{display:flex;align-items:center;justify-content:space-between;gap:12px}.nx20-field label{color:#51535D;font-size:.67rem;font-weight:790}.nx20-caps-hint{color:#9B6A33;font-size:.56rem;font-weight:800}
.nx20-field__control{position:relative;display:flex;align-items:center;height:var(--nx20-control-h);border:1px solid #D9DAE0;border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 1px 0 rgba(255,255,255,.8);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}
.nx20-field__control:focus-within{border-color:rgba(111,75,255,.52);background:#fff;box-shadow:0 0 0 4px rgba(111,75,255,.09),0 10px 28px rgba(16,17,22,.055)}
.nx20-field__icon{display:grid;place-items:center;width:50px;height:100%;flex:0 0 50px;color:#8A8C95;font-size:.82rem}.nx20-field__control:focus-within .nx20-field__icon{color:var(--nx20-jade)}
.nx20-field input{width:100%;height:100%;padding:0 14px 0 0;border:0;outline:0;background:transparent;color:var(--nx20-ink);font-size:.78rem;font-weight:650}.nx20-field input::placeholder{color:#A3A4AA;font-weight:520}.nx20-password-toggle{display:grid;place-items:center;width:48px;height:100%;flex:0 0 48px;border:0;background:transparent;color:#87938C;cursor:pointer}.nx20-password-toggle:hover,.nx20-password-toggle:focus-visible{outline:0;color:var(--nx20-jade)}
.nx20-login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:1px}.nx20-check{display:flex;align-items:center;gap:8px;color:#686A74;font-size:.62rem;font-weight:680;cursor:pointer}.nx20-check input{position:absolute;opacity:0;pointer-events:none}.nx20-check__box{display:grid;place-items:center;width:18px;height:18px;border:1px solid #D1D2D7;border-radius:6px;background:#fff;color:#fff;font-size:.54rem;transition:.16s ease}.nx20-check__box i{opacity:0;transform:scale(.72)}.nx20-check input:checked + .nx20-check__box{background:var(--nx20-jade);border-color:var(--nx20-jade)}.nx20-check input:checked + .nx20-check__box i{opacity:1;transform:scale(1)}
.nx20-security-note{display:inline-flex;align-items:center;gap:6px;color:#7E8089;font-size:.57rem;font-weight:700}.nx20-security-note i{color:var(--nx20-jade)}
.nx20-login-feedback{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid transparent;font-size:.63rem;font-weight:700;line-height:1.45}.nx20-login-feedback.is-info{border-color:#DED8FF;background:#F2EFFF;color:#5A4AA8}.nx20-login-feedback.is-error{border-color:#E6D8DC;background:#FFF3F5;color:#934A59}.nx20-login-feedback.is-success{border-color:#DDD7FF;background:#F1EEFF;color:#5949A6}
.nx20-login-submit{display:flex;align-items:center;justify-content:center;gap:11px;height:56px;margin-top:3px;border:0;border-radius:16px;background:var(--nx20-obsidian);color:#fff;box-shadow:0 15px 34px rgba(16,17,22,.17);font-size:.72rem;font-weight:850;cursor:pointer;transition:transform .2s var(--nx20-ease),background .2s ease,box-shadow .2s ease}.nx20-login-submit:hover:not(:disabled){transform:translateY(-2px);background:#1C1D26;box-shadow:0 20px 42px rgba(16,17,22,.22)}.nx20-login-submit:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(111,75,255,.15),0 20px 42px rgba(16,17,22,.20)}.nx20-login-submit:disabled{cursor:wait;opacity:.95}.nx20-login-submit.is-success{background:var(--nx20-jade);box-shadow:0 18px 34px rgba(111,75,255,.22)}
.nx20-auth-access__foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(16,17,22,.09)}.nx20-auth-access__foot span{display:flex;align-items:center;gap:6px;color:#898B94;font-size:.52rem;font-weight:670;white-space:nowrap}.nx20-auth-access__foot i{color:#777983;font-size:.57rem}
.nx20-auth-access__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#89948E;font-size:.52rem;font-weight:700}.nx20-auth-access__footer>span{color:#595B65;font-weight:900;letter-spacing:.12em}

body.is-authenticated .nx20-auth-shell{animation:nx20AuthSuccess .45s var(--nx20-ease) both}@keyframes nx20AuthSuccess{to{opacity:.72;transform:scale(.997)}}

@media(max-width:1100px){
    .nx20-auth-shell{grid-template-columns:minmax(0,1fr) minmax(410px,.86fr)}
    .nx20-auth-stage{padding:30px}.nx20-auth-stage h1{font-size:clamp(2.5rem,5vw,4.4rem)}
    .nx20-capability-grid{grid-template-columns:1fr;max-width:420px}.nx20-capability-grid article:nth-child(n+4){display:none}
    .nx20-auth-access{padding-left:34px;padding-right:34px}
}
@media(max-width:860px){
    .nx20-auth-shell{display:block;background:var(--nx20-ivory-2)}
    .nx20-auth-stage{display:none}
    .nx20-auth-access{min-height:100svh;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(circle at 100% 0,rgba(111,75,255,.10),transparent 35%),var(--nx20-ivory-2)}
    .nx20-auth-access:before{display:none}.nx20-auth-access__top{justify-content:space-between}.nx20-mobile-brand{display:flex;align-items:center;gap:10px}.nx20-mobile-brand .nx20-brandmark{width:42px;height:42px;flex-basis:42px;border-radius:15px}.nx20-mobile-brand .nx20-brandcopy strong{font-size:.76rem}.nx20-mobile-brand .nx20-brandcopy small{font-size:.52rem}
    .nx20-auth-access__inner{max-width:520px;padding:clamp(42px,8vh,80px) 0 42px}
}
@media(max-width:560px){
    .nx20-auth-access{padding-left:18px;padding-right:18px}.nx20-access-state{height:31px;padding:0 10px;font-size:.53rem}.nx20-mobile-brand .nx20-brandcopy small{display:none}
    .nx20-auth-access__head h2{font-size:2rem}.nx20-auth-access__head p{font-size:.77rem}.nx20-auth-access__inner{padding-top:46px}
    .nx20-auth-access__foot{grid-template-columns:1fr;gap:7px}.nx20-auth-access__foot span{font-size:.54rem}.nx20-auth-access__footer{padding-top:20px}.nx20-field__control{height:52px}
}
@media(max-height:700px) and (min-width:861px){
    .nx20-auth-stage__content{min-height:calc(100svh - 150px);padding:34px 0}.nx20-auth-stage h1{font-size:3.2rem;margin-top:18px}.nx20-capability-grid{margin-top:22px}.nx20-auth-access__inner{padding:24px 0}.nx20-auth-access__head{margin-bottom:20px}.nx20-hero-badge{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.nx20-capability-grid article,.nx20-field__control,.nx20-login-submit{transition:none!important}body.is-authenticated .nx20-auth-shell{animation:none!important}}


.nx20-stage-endcap{display:flex;align-items:flex-end;gap:16px}
.nx20-developed-by{display:inline-flex;align-items:center;gap:7px;min-width:0;user-select:none}
.nx20-developed-by>small{font-size:.43rem;font-weight:700;letter-spacing:.035em;white-space:nowrap}
.nx20-developed-by__brand{display:inline-flex;align-items:center;gap:5px;min-width:0}
.nx20-developed-by__symbol{display:block;width:11px;height:11px;object-fit:contain}
.nx20-developed-by__word{display:block;width:auto;height:8px;max-width:76px;object-fit:contain}
.nx20-developed-by--dark{opacity:.40;transition:opacity .18s ease}
.nx20-developed-by--dark:hover{opacity:.68}
.nx20-developed-by--dark>small{color:rgba(255,255,255,.48)}
.nx20-developed-by--light{display:none;padding:5px 7px;border-radius:8px;background:#202129;opacity:.68}
.nx20-developed-by--light>small{color:rgba(255,255,255,.56)}
.nx20-developed-by--light .nx20-developed-by__symbol{width:10px;height:10px}.nx20-developed-by--light .nx20-developed-by__word{height:7px;max-width:68px}
@media(max-width:860px){.nx20-developed-by--light{display:inline-flex}.nx20-auth-access__footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.nx20-developed-by--light{justify-self:center}}
@media(max-width:560px){.nx20-auth-access__footer{grid-template-columns:1fr auto;gap:10px}.nx20-developed-by--light{grid-column:1/-1;grid-row:1;justify-self:start}.nx20-auth-access__footer>span:first-child{grid-row:2}.nx20-auth-access__footer>small{grid-row:2}}

/* v2.0.2 — Developed by visibility + graceful fallback */
.nx20-developed-by{gap:8px}
.nx20-developed-by>small{font-size:.46rem;letter-spacing:.04em}
.nx20-developed-by__brand{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:16px}
.nx20-developed-by__symbol{display:block;width:15px;height:15px;object-fit:contain;opacity:.96;filter:none}
.nx20-developed-by__word{display:block;width:auto;height:10px;max-width:92px;object-fit:contain;opacity:.98;filter:none}
.nx20-developed-by__fallback{display:none;align-items:center;gap:6px;color:#fff;line-height:1}
.nx20-developed-by__fallback b{display:grid;place-items:center;width:16px;height:16px;border:1px solid rgba(255,255,255,.25);border-radius:4px;font-size:.42rem;font-weight:950;letter-spacing:-.04em}
.nx20-developed-by__fallback strong{font-size:.49rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.nx20-developed-by.is-fallback .nx20-developed-by__fallback{display:inline-flex}
.nx20-developed-by.is-fallback img{display:none!important}
.nx20-developed-by--dark{opacity:.62}
.nx20-developed-by--dark:hover{opacity:.86}
.nx20-developed-by--dark>small{color:rgba(255,255,255,.52)}
.nx20-developed-by--light{padding:6px 9px;background:#1B1C23;opacity:.82;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.nx20-developed-by--light>small{color:rgba(255,255,255,.60)}
.nx20-developed-by--light .nx20-developed-by__symbol{width:14px;height:14px}
.nx20-developed-by--light .nx20-developed-by__word{height:9px;max-width:86px}
@media(max-width:560px){.nx20-developed-by--light{padding:6px 8px}.nx20-developed-by__word{max-width:82px}}
