.nx1-auth{
    --nx1-indigo:#202c94;
    --nx1-indigo-deep:#191a77;
    --nx1-violet:#932780;
    --nx1-pink:#e24b56;
    --nx1-orange:#f07e2b;
    --nx1-sky:#78a0d7;
    --nx1-ink:#1c214d;
    --nx1-muted:#747694;
    --nx1-heading-text:#191a77;
    --nx1-body-text:#1c214d;
    --nx1-secondary-text:#747694;
    --nx1-button-text:#ffffff;
    --nx1-line:#deddf0;
    --nx1-soft:#f7f6ff;
    width:min(100%,980px);
    margin:32px auto;
    font-family:var(--nx1-font-family,inherit);
    line-height:1.65;
    color:var(--nx1-body-text);
}
.nx1-auth *{box-sizing:border-box}
.nx1-auth__shell{
    direction:ltr;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,440px);
    min-height:560px;
    overflow:hidden;
    border:1px solid rgba(32,44,148,.14);
    border-radius:24px;
    background:#fff;
    box-shadow:0 22px 70px rgba(25,26,119,.13),0 6px 22px rgba(147,39,128,.07);
}
.nx1-auth__visual{
    position:relative;
    grid-column:1;
    min-height:560px;
    overflow:hidden;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    background-color:var(--nx1-indigo-deep);
}
.nx1-auth__visual::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(145deg,rgba(25,26,119,.08),rgba(147,39,128,.06) 58%,rgba(240,126,43,.05));
}
.nx1-auth__visual-placeholder{
    position:relative;
    isolation:isolate;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 70% 25%,rgba(120,160,215,.96) 0 4%,transparent 22%),
        radial-gradient(circle at 22% 72%,rgba(240,126,43,.95) 0 5%,transparent 25%),
        radial-gradient(circle at 65% 72%,rgba(226,75,86,.72) 0 3%,transparent 25%),
        linear-gradient(145deg,var(--nx1-indigo-deep) 0%,var(--nx1-indigo) 34%,#3c228d 56%,var(--nx1-violet) 78%,var(--nx1-pink) 100%);
    font-size:64px;
    font-weight:900;
    letter-spacing:4px;
    color:#fff;
    text-shadow:0 6px 26px rgba(8,9,64,.35);
}
.nx1-auth__visual-placeholder::before,
.nx1-auth__visual-placeholder::after{
    content:"";
    position:absolute;
    z-index:-1;
    border-radius:999px;
    filter:blur(2px);
    opacity:.85;
}
.nx1-auth__visual-placeholder::before{
    width:280px;
    height:280px;
    left:-105px;
    bottom:-85px;
    background:radial-gradient(circle at 58% 42%,#f5a348 0 16%,var(--nx1-orange) 36%,transparent 68%);
}
.nx1-auth__visual-placeholder::after{
    width:330px;
    height:330px;
    right:-100px;
    top:-105px;
    background:radial-gradient(circle at 35% 64%,#8bb1df 0 14%,var(--nx1-sky) 34%,transparent 68%);
}
.nx1-auth__content{
    position:relative;
    grid-column:2;
    direction:rtl;
    padding:48px 42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    font-size:var(--nx1-form-font-size,16px);
    font-weight:var(--nx1-form-font-weight,400);
    background:
        radial-gradient(circle at 100% 0,rgba(120,160,215,.11),transparent 34%),
        radial-gradient(circle at 0 100%,rgba(240,126,43,.055),transparent 28%),
        #fff;
}
.nx1-auth__step{display:none}
.nx1-auth__step.is-active{display:block;animation:nx1AuthIn .22s ease-out}
@keyframes nx1AuthIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.nx1-auth__heading{margin-bottom:25px}
.nx1-auth__heading h2{
    margin:0 0 9px;
    font-size:calc(var(--nx1-form-font-size,16px) * 1.625);
    line-height:1.2;
    letter-spacing:-0.01em;
    color:var(--nx1-heading-text);
    font-weight:var(--nx1-form-font-weight-strong,700);
}
.nx1-auth__heading p{margin:0;color:var(--nx1-secondary-text);line-height:1.9}
.nx1-auth__mobile-label{direction:ltr;text-align:right;unicode-bidi:embed;color:var(--nx1-heading-text);font-weight:var(--nx1-form-font-weight-strong,700)}
.nx1-auth__form{display:grid;gap:14px}
.nx1-auth__form label{display:grid;gap:8px;font-weight:var(--nx1-form-font-weight-strong,700);color:var(--nx1-body-text)}
.nx1-auth__form input[type=text],
.nx1-auth__form input[type=tel],
.nx1-auth__form input[type=password]{
    width:100%;
    min-height:52px;
    padding:11px 14px;
    border:1px solid var(--nx1-line);
    border-radius:12px;
    background:rgba(255,255,255,.96);
    color:var(--nx1-body-text);
    font:inherit;
    direction:ltr;
    text-align:left;
    transition:border-color .2s,box-shadow .2s,background-color .2s;
    box-shadow:inset 0 1px 2px rgba(25,26,119,.025);
}
.nx1-auth__form input::placeholder{color:var(--nx1-secondary-text);opacity:.62}
.nx1-auth__form input:hover{border-color:#c7c6e2}
.nx1-auth__form input:focus{
    outline:0;
    border-color:var(--nx1-sky);
    background:#fff;
    box-shadow:0 0 0 4px rgba(120,160,215,.22),0 5px 18px rgba(32,44,148,.05);
}
.nx1-auth__check{
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    gap:8px!important;
    font-weight:var(--nx1-form-font-weight,400)!important;
    font-size:calc(var(--nx1-form-font-size,16px) * .875);
    color:var(--nx1-secondary-text)!important;
}
.nx1-auth__check input{accent-color:var(--nx1-violet)}
.nx1-auth button{font:inherit}
.nx1-auth__primary,.nx1-auth__secondary{
    min-height:52px;
    border:0;
    border-radius:12px;
    padding:11px 18px;
    cursor:pointer;
    font-weight:var(--nx1-form-font-weight-heavy,800);
    transition:transform .16s ease,box-shadow .2s ease,filter .2s ease;
}
.nx1-auth__primary{
    position:relative;
    overflow:hidden;
    color:var(--nx1-button-text);
    background:linear-gradient(135deg,var(--nx1-indigo-deep) 0%,var(--nx1-indigo) 38%,#54268e 68%,var(--nx1-violet) 100%);
    box-shadow:0 10px 24px rgba(32,44,148,.22),0 4px 10px rgba(147,39,128,.09);
}
.nx1-auth__primary::after{
    content:"";
    position:absolute;
    inset:0;
    opacity:0;
    background:linear-gradient(100deg,transparent 15%,rgba(255,255,255,.18) 48%,transparent 78%);
    transform:translateX(-70%);
    transition:opacity .2s,transform .35s;
}
.nx1-auth__primary:hover{transform:translateY(-1px);box-shadow:0 13px 30px rgba(32,44,148,.27),0 5px 14px rgba(147,39,128,.12)}
.nx1-auth__primary:hover::after{opacity:1;transform:translateX(55%)}
.nx1-auth__primary:active,.nx1-auth__secondary:active{transform:translateY(0)}
.nx1-auth__secondary{
    color:var(--nx1-heading-text);
    background:linear-gradient(135deg,rgba(120,160,215,.17),rgba(147,39,128,.09));
    box-shadow:inset 0 0 0 1px rgba(32,44,148,.09);
}
.nx1-auth__secondary:hover{filter:saturate(1.08);box-shadow:inset 0 0 0 1px rgba(32,44,148,.18),0 7px 18px rgba(32,44,148,.07)}
.nx1-auth button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.nx1-auth__text-action,.nx1-auth__muted-action,.nx1-auth__resend,.nx1-auth__back{
    border:0;
    background:transparent;
    cursor:pointer;
    padding:4px 0;
    transition:color .18s ease;
}
.nx1-auth__text-action{font-size:calc(var(--nx1-form-font-size,16px) * .8125);font-weight:var(--nx1-form-font-weight-heavy,800);color:var(--nx1-heading-text);text-decoration:none}
.nx1-auth__text-action:hover{color:var(--nx1-pink)}
.nx1-auth__muted-action,.nx1-auth__resend,.nx1-auth__back{font-size:calc(var(--nx1-form-font-size,16px) * .8125);color:var(--nx1-secondary-text)}
.nx1-auth__muted-action:hover,.nx1-auth__resend:hover,.nx1-auth__back:hover{color:var(--nx1-indigo)}
.nx1-auth__back{margin-bottom:18px;text-align:right}
.nx1-auth__resend{justify-self:center;margin-top:2px}
.nx1-auth__message{
    display:none;
    direction:rtl;
    margin:0 0 18px;
    padding:11px 13px;
    border-radius:11px;
    line-height:1.8;
    border:1px solid transparent;
}
.nx1-auth__message:not(:empty){display:block}
.nx1-auth__message.is-error{background:#fff2f3;color:#9d2836;border-color:rgba(226,75,86,.22)}
.nx1-auth__message.is-success{background:#f3f7ff;color:#263b86;border-color:rgba(120,160,215,.3)}
.nx1-auth__message.is-info{background:#f7f4ff;color:#583275;border-color:rgba(147,39,128,.18)}
.nx1-auth .is-hidden{display:none!important}
/* Dedicated auth route: reserve the real space occupied by fixed/sticky theme headers.
   JS updates --nx1-fixed-header-offset from the live header geometry. */
.nx1-auth-page{
    --nx1-fixed-header-offset:0px;
    padding-top:calc(var(--nx1-fixed-header-offset) + 24px);
}
.nx1-auth-page__inner{width:min(calc(100% - 28px),980px);margin:0 auto 48px}
@media(max-width:780px){
    .nx1-auth{margin:16px auto}
    .nx1-auth__shell{grid-template-columns:1fr;min-height:0;border-radius:18px}
    .nx1-auth__visual{grid-column:1;grid-row:1;min-height:190px}
    .nx1-auth__content{grid-column:1;grid-row:2;padding:30px 22px}
    .nx1-auth__visual-placeholder{min-height:190px;font-size:44px}
}
@media(max-width:480px){
    .nx1-auth-page{padding-top:calc(var(--nx1-fixed-header-offset) + 16px)}
    .nx1-auth-page__inner{width:min(calc(100% - 20px),980px);margin:0 auto 20px}
    .nx1-auth__content{padding:28px 18px}
    .nx1-auth__heading h2{font-size:calc(var(--nx1-form-font-size,16px) * 1.375)}
    .nx1-auth__primary,.nx1-auth__secondary,.nx1-auth__form input[type=text],.nx1-auth__form input[type=tel],.nx1-auth__form input[type=password]{min-height:50px}
}
@media(prefers-reduced-motion:reduce){
    .nx1-auth__step.is-active{animation:none}
    .nx1-auth__primary,.nx1-auth__secondary,.nx1-auth__primary::after{transition:none}
    .nx1-auth__otp-box{animation:none!important}
}

/* Stable plugin-owned password visibility control. Edge/Chromium's native
   reveal icon may disappear after blur; hide it and keep our own control. */
.nx1-auth input[type="password"]::-ms-reveal,
.nx1-auth input[data-nx1-password]::-ms-reveal{
    display:none;
}
.nx1-auth__password-field{
    position:relative;
    display:block;
    width:100%;
}
.nx1-auth__password-field > input{
    padding-right:50px!important;
}
.nx1-auth__password-toggle{
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    min-width:34px;
    min-height:34px;
    padding:0;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#777b9a;
    cursor:pointer;
    display:grid;
    place-items:center;
    z-index:2;
    transition:color .18s ease,background-color .18s ease;
}
.nx1-auth__password-toggle:hover,
.nx1-auth__password-toggle:focus-visible{
    color:var(--nx1-indigo);
    background:rgba(120,160,215,.13);
    outline:0;
}
.nx1-auth__password-toggle svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    pointer-events:none;
}
.nx1-auth__password-toggle .nx1-auth__eye-off{display:none}
.nx1-auth__password-field.is-visible .nx1-auth__password-toggle .nx1-auth__eye-open{display:none}
.nx1-auth__password-field.is-visible .nx1-auth__password-toggle .nx1-auth__eye-off{display:block}


/* v1.7.0 — standalone login screen + NX1 mark */
html:has(body.nx1-auth-standalone){
    min-height:100%;
    background:#191a77;
}
body.nx1-auth-standalone{
    margin:0;
    min-width:320px;
    min-height:100vh;
    overflow-x:hidden;
    background-color:#191a77;
    background-image:url('images/nx1-background.png');
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    background-attachment:fixed;
    color:var(--nx1-body-text,#1c214d);
    font-family:var(--nx1-font-family,Vazirmatn,Tahoma,Arial,sans-serif);
}
body.nx1-auth-standalone--custom-bg{
    background-position:center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-attachment:fixed!important;
}
.nx1-auth-standalone .nx1-auth-page{
    --nx1-fixed-header-offset:0px;
    width:100%;
    min-height:100vh;
    padding:32px 20px;
    display:grid;
    place-items:center;
}
.nx1-auth-standalone .nx1-auth-page__inner{
    width:min(100%,980px);
    margin:0;
}
.nx1-auth-standalone .nx1-auth{
    width:100%;
    margin:0;
}
.nx1-auth-standalone .nx1-auth__shell{
    border-color:rgba(255,255,255,.42);
    background:rgba(255,255,255,.10);
    -webkit-backdrop-filter:blur(16px) saturate(112%);
    backdrop-filter:blur(16px) saturate(112%);
    box-shadow:0 26px 80px rgba(10,10,63,.30),0 8px 24px rgba(10,10,63,.18);
}
.nx1-auth__visual{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px;
    background:
        radial-gradient(circle at 70% 25%,rgba(120,160,215,.90) 0 4%,transparent 22%),
        radial-gradient(circle at 22% 72%,rgba(240,126,43,.90) 0 5%,transparent 25%),
        radial-gradient(circle at 65% 72%,rgba(226,75,86,.68) 0 3%,transparent 25%),
        linear-gradient(145deg,#191a77 0%,#202c94 34%,#3c228d 56%,#932780 78%,#e24b56 100%);
}
.nx1-auth__visual::after{
    background:linear-gradient(145deg,rgba(25,26,119,.08),rgba(147,39,128,.04) 58%,rgba(240,126,43,.04));
}
.nx1-auth__logo-panel{
    position:relative;
    z-index:1;
    width:min(100%,390px);
    aspect-ratio:1/1;
    display:grid;
    place-items:center;
}
.nx1-auth__logo{
    display:block;
    width:min(100%,360px);
    height:auto;
    max-height:430px;
    object-fit:contain;
    filter:drop-shadow(0 18px 24px rgba(10,10,63,.22));
}
.nx1-auth-standalone .nx1-auth__visual{
    background:rgba(22,20,87,.13);
}
.nx1-auth-standalone .nx1-auth__visual::after{
    background:linear-gradient(145deg,rgba(16,17,83,.08),rgba(255,255,255,.02));
}
.nx1-auth-standalone .nx1-auth__content{
    background:rgba(255,255,255,.97);
}
@media(max-width:780px){
    .nx1-auth-standalone .nx1-auth-page{padding:18px 14px}
    .nx1-auth-standalone .nx1-auth__visual{min-height:220px;padding:18px}
    .nx1-auth__logo-panel{width:190px}
    .nx1-auth__logo{width:180px;max-height:180px}
}
@media(max-width:480px){
    .nx1-auth-standalone .nx1-auth-page{padding:10px}
    .nx1-auth-standalone .nx1-auth-page__inner{width:100%;margin:0}
    .nx1-auth-standalone .nx1-auth__visual{min-height:170px}
    .nx1-auth__logo-panel{width:145px}
    .nx1-auth__logo{width:140px;max-height:140px}
}

/* v1.7.1 — viewport centering and form rhythm fixes */
.nx1-auth-standalone .nx1-auth-page{
    box-sizing:border-box;
    min-height:100vh;
    min-height:100dvh;
}

/* Give every label a clear visual gap before its input. */
.nx1-auth__form label{
    gap:11px;
}

/* Reset-password fields need their own grid because they are wrapped in a div. */
.nx1-auth__reset-fields:not(.is-hidden){
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    width:100%;
}
.nx1-auth__reset-fields > label{
    width:100%;
    margin:0;
}
.nx1-auth__reset-fields > .nx1-auth__primary{
    width:100%;
    display:block;
    margin-top:2px;
}
.nx1-auth__reset-fields > .nx1-auth__resend{
    width:100%;
    display:block;
    justify-self:stretch;
    text-align:center;
    margin:0;
    padding:7px 0;
}

/* Keep normal primary actions aligned and full width in auth forms. */
.nx1-auth__form > .nx1-auth__primary{
    width:100%;
}


/* v1.9.0 — dynamic OTP boxes. The actual one-time-code input remains a real
   focusable field so iOS suggestions and Android WebOTP continue to work. */
.nx1-auth__otp{
    position:relative;
    width:100%;
    direction:ltr;
    cursor:text;
    -webkit-tap-highlight-color:transparent;
}
.nx1-auth__otp-grid{
    width:min(100%,var(--nx1-otp-width,272px));
    margin-inline:auto;
    display:grid;
    grid-template-columns:repeat(var(--nx1-otp-length,5),minmax(0,1fr));
    gap:8px;
    direction:ltr;
}
.nx1-auth__otp-feedback{
    min-height:24px;
    margin-top:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    direction:rtl;
    font-size:calc(var(--nx1-form-font-size,16px) * .80);
    font-weight:var(--nx1-form-font-weight-medium,600);
    line-height:1.45;
    opacity:0;
    transform:translateY(-3px);
    transition:opacity .18s ease,transform .18s ease,color .18s ease;
    pointer-events:none;
}
.nx1-auth__otp-feedback-icon{
    width:7px;
    height:7px;
    flex:0 0 auto;
    border-radius:999px;
    background:currentColor;
    box-shadow:none;
    opacity:.92;
}
.nx1-auth__otp-feedback[data-state="success"],
.nx1-auth__otp-feedback[data-state="error"],
.nx1-auth__otp-feedback[data-state="loading"]{
    opacity:1;
    transform:translateY(0);
}
.nx1-auth__otp-feedback[data-state="success"]{color:#168957}
.nx1-auth__otp-feedback[data-state="success"] .nx1-auth__otp-feedback-icon{box-shadow:0 0 0 3px rgba(22,137,87,.11)}
.nx1-auth__otp-feedback[data-state="error"]{color:#d73f50}
.nx1-auth__otp-feedback[data-state="error"] .nx1-auth__otp-feedback-icon{box-shadow:0 0 0 3px rgba(215,63,80,.11)}
.nx1-auth__otp-feedback[data-state="loading"]{color:#168957}
.nx1-auth__otp-feedback[data-state="loading"] .nx1-auth__otp-feedback-icon{
    width:15px;
    height:15px;
    border-radius:999px;
    background:transparent;
    border:2px solid rgba(22,137,87,.22);
    border-top-color:#168957;
    box-shadow:none;
    animation:nx1OtpSpinner .72s linear infinite;
}

.nx1-auth__otp-box{
    aspect-ratio:1/1;
    min-width:0;
    display:grid;
    place-items:center;
    border:1px solid var(--nx1-line);
    border-radius:11px;
    background:rgba(255,255,255,.98);
    color:var(--nx1-heading-text);
    box-shadow:inset 0 1px 2px rgba(25,26,119,.025);
    font-size:calc(var(--nx1-form-font-size,16px) * 1.25);
    font-weight:var(--nx1-form-font-weight-heavy,800);
    line-height:1;
    transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease,color .18s ease;
    animation:nx1OtpHeartbeat 1.55s ease-in-out infinite;
}
.nx1-auth__otp-box:nth-child(2){animation-delay:.10s}
.nx1-auth__otp-box:nth-child(3){animation-delay:.20s}
.nx1-auth__otp-box:nth-child(4){animation-delay:.30s}
.nx1-auth__otp-box:nth-child(5){animation-delay:.40s}
.nx1-auth__otp-box:nth-child(6){animation-delay:.50s}
.nx1-auth__otp-box:nth-child(7){animation-delay:.60s}
.nx1-auth__otp-box:nth-child(8){animation-delay:.70s}
@keyframes nx1OtpHeartbeat{
    0%,100%{transform:scale(1);box-shadow:inset 0 1px 2px rgba(25,26,119,.025)}
    12%{transform:scale(1.045);box-shadow:0 0 0 3px rgba(120,160,215,.13),0 5px 15px rgba(32,44,148,.06)}
    24%{transform:scale(1)}
    36%{transform:scale(1.028);box-shadow:0 0 0 2px rgba(147,39,128,.10),0 4px 12px rgba(32,44,148,.05)}
    52%{transform:scale(1)}
}
.nx1-auth__otp-box.is-filled{
    animation:none;
    border-color:rgba(32,44,148,.34);
    background:#fff;
}
.nx1-auth__otp.is-focused .nx1-auth__otp-box.is-current{
    border-color:var(--nx1-sky);
    box-shadow:0 0 0 3px rgba(120,160,215,.20),0 5px 14px rgba(32,44,148,.05);
    transform:translateY(-1px);
}

/* OTP result visuals based on the supplied reference: errors keep the digits
   visible in a red shaking row; success turns every filled square into a
   staggered green checkmark and holds that state during the redirect loader. */
.nx1-auth__otp.is-valid .nx1-auth__otp-box,
.nx1-auth__otp.is-valid .nx1-auth__otp-box.is-filled{
    animation:none!important;
    border-color:rgba(39,191,120,.72);
    background:#effbf4;
    color:#168957;
    box-shadow:0 0 0 2px rgba(39,191,120,.10),0 6px 20px rgba(18,157,98,.09);
}
.nx1-auth__otp.is-valid .nx1-auth__otp-grid{
    filter:drop-shadow(0 0 10px rgba(39,191,120,.10));
}
.nx1-auth__otp.is-loading .nx1-auth__otp-grid{
    animation:nx1OtpVerifiedGlow 1.05s ease-in-out infinite;
}
.nx1-auth__otp-box.is-verified{
    animation:nx1OtpCheckPop .34s cubic-bezier(.22,1,.36,1) both!important;
}
@keyframes nx1OtpCheckPop{
    0%{transform:scale(.68);opacity:.15}
    65%{transform:scale(1.13);opacity:1}
    100%{transform:scale(1);opacity:1}
}
@keyframes nx1OtpVerifiedGlow{
    0%,100%{filter:drop-shadow(0 0 7px rgba(39,191,120,.08))}
    50%{filter:drop-shadow(0 0 15px rgba(39,191,120,.24))}
}

.nx1-auth__otp.is-invalid{
    animation:nx1OtpWrongShake .66s cubic-bezier(.36,.07,.19,.97) both;
}
.nx1-auth__otp.is-invalid .nx1-auth__otp-box,
.nx1-auth__otp.is-invalid .nx1-auth__otp-box.is-filled{
    animation:none!important;
    border-color:#e24b56;
    background:#fff1f3;
    color:#c83246;
    box-shadow:0 0 0 2px rgba(226,75,86,.13),0 6px 18px rgba(180,35,51,.08);
}
@keyframes nx1OtpWrongShake{
    0%,100%{transform:translateX(0)}
    12%{transform:translateX(-8px)}
    24%{transform:translateX(7px)}
    36%{transform:translateX(-6px)}
    48%{transform:translateX(5px)}
    60%{transform:translateX(-4px)}
    72%{transform:translateX(3px)}
    84%{transform:translateX(-2px)}
}
@keyframes nx1OtpSpinner{
    to{transform:rotate(360deg)}
}
@media(prefers-reduced-motion:reduce){
    .nx1-auth__otp.is-invalid,
    .nx1-auth__otp.is-loading .nx1-auth__otp-grid,
    .nx1-auth__otp-box.is-verified,
    .nx1-auth__otp-feedback[data-state="loading"] .nx1-auth__otp-feedback-icon{
        animation:none!important;
    }
}
.nx1-auth__otp-input,
.nx1-auth__form .nx1-auth__otp-input{
    position:absolute!important;
    inset:0!important;
    z-index:2;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:transparent!important;
    caret-color:transparent!important;
    box-shadow:none!important;
    outline:0!important;
    opacity:.01;
    direction:ltr!important;
    text-align:left!important;
    letter-spacing:0!important;
    font-size:16px!important;
    pointer-events:none;
}
@media(max-width:480px){
    .nx1-auth__otp-grid{gap:6px}
    .nx1-auth__otp-box{border-radius:9px;font-size:calc(var(--nx1-form-font-size,16px) * 1.125)}
}
