/* Shared login presentation; authentication remains in the existing login form. */
#nac-login-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(28px,13vh,120px) 16px 24px;box-sizing:border-box;border:0;background:transparent;overflow:auto;color:#17181c;z-index:2147483000}
#nac-login-dialog[open]{display:flex;align-items:flex-start;justify-content:center}
#nac-login-dialog::backdrop{background:rgba(243,244,246,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#nac-login-dialog .nac-login-panel{position:relative;box-sizing:border-box;padding:0;margin:0;border:0;width:440px;max-width:100%;background:#fff;border-radius:24px;box-shadow:0 12px 48px rgba(20,25,35,.18);overflow:hidden;opacity:0;transform:translateY(-24px);transition:opacity .18s ease,transform .2s ease-out}
#nac-login-dialog.is-visible .nac-login-panel{opacity:1;transform:translateY(0)}
#nac-login-dialog .nac-login-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#17181c;font:30px/36px Arial,sans-serif;cursor:pointer;z-index:2;padding:0}
#nac-login-dialog .nac-login-close:hover{background:#f1f3f6}
#nac-login-dialog .nac-login-close:focus-visible{outline:2px solid #4199ff;outline-offset:-2px}
#nac-login-dialog iframe{display:block;box-sizing:border-box;padding:0;margin:0;width:100%;height:430px;max-height:calc(100dvh - 80px);border:0;background:#fff;visibility:hidden}
#nac-login-dialog.is-loaded iframe{visibility:visible}
#nac-login-dialog .nac-login-loading{position:absolute;inset:70px 20px auto;text-align:center;font:15px/1.7 sans-serif;color:#6b7280}
#nac-login-dialog.is-loaded .nac-login-loading{display:none}
#nac-login-dialog .nac-login-fallback{display:block;margin-top:14px;color:#287bd2}
@media(max-width:600px){#nac-login-dialog{padding:56px 12px 20px}#nac-login-dialog .nac-login-panel{border-radius:24px}#nac-login-dialog iframe{max-height:calc(100dvh - 88px)}}
@media(prefers-reduced-motion:reduce){#nac-login-dialog .nac-login-panel{transition:none;transform:none}}
/* Used only in the isolated login document, including failed-login redirects. */
html.nac-login-embedded,html.nac-login-embedded body{min-width:0!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#17181c!important}
.nac-login-embedded .nac-login-box{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:24px 32px 20px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
.nac-login-embedded .nac-login-box .header{padding:0 12px 18px!important;text-align:center}
.nac-login-embedded .nac-login-box .header h1{font-size:21px!important;line-height:30px!important;margin:0 0 6px!important}
.nac-login-embedded .nac-login-box .header p{font-size:13px!important;line-height:21px!important;color:#7b8190!important;margin:0!important}
.nac-login-embedded .nac-login-box .resp-wrapper{padding:0!important}
.nac-login-embedded .nac-login-box input:not([type=checkbox]):not([type=hidden]),.nac-login-embedded .nac-login-box select{box-sizing:border-box;max-width:100%;font-size:16px!important}
.nac-login-embedded .nac-login-box .control-group.act{background:#f3f4f6;margin:22px -32px -20px!important;padding:18px 32px!important}
.nac-login-embedded .flashmessage{box-sizing:border-box;max-width:100%;margin:8px 20px!important}
@media(max-width:400px){.nac-login-embedded .nac-login-box{padding:24px 22px 20px!important}.nac-login-embedded .nac-login-box .control-group.act{margin-left:-22px!important;margin-right:-22px!important;padding-left:22px!important;padding-right:22px!important}}
.nac-login-embedded #nac-login-frame-root{display:flow-root;width:100%}
.nac-login-embedded .nac-login-box{float:none!important;position:relative!important;left:auto!important;top:auto!important}
.nac-login-embedded .nac-login-box::before{display:none!important}
.nac-login-embedded .nac-login-box .header h1,.nac-login-embedded .nac-login-box .header p{text-align:center!important;width:100%!important}
.nac-login-embedded .nac-login-box .control-group.act{box-sizing:border-box!important;width:calc(100% + 64px)!important;display:flex!important;align-items:center;justify-content:center;gap:28px;clear:both}
.nac-login-embedded .nac-login-box .control-group.act a{float:none!important;display:inline-block!important;width:auto!important;margin:0!important}
@media(max-width:400px){.nac-login-embedded .nac-login-box .control-group.act{width:calc(100% + 44px)!important;gap:20px}}
.nac-login-embedded .nac-login-box .flashmessage{float:none!important;position:relative!important;box-sizing:border-box!important;width:auto!important;max-width:100%!important;margin:0 0 16px!important;padding:12px 32px 12px 12px!important;background:#fff0ed!important;color:#a73322!important;border-radius:10px;font-size:14px;line-height:1.5}

/* Bootstrap-style border spinner, scoped to avoid introducing global resets. */
@keyframes nac-login-spinner-border{to{transform:rotate(360deg)}}
#nac-login-dialog .nac-login-loading .spinner-border{display:block;box-sizing:border-box;width:2rem;height:2rem;margin:0 auto 16px;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;color:#2563eb;animation:nac-login-spinner-border .75s linear infinite}
#nac-login-dialog .nac-login-loading .spinner-border[hidden]{display:none}
#nac-login-dialog .nac-login-loading-text{display:block}
@media(prefers-reduced-motion:reduce){#nac-login-dialog .nac-login-loading .spinner-border{animation:none}}

/* Shared login/register fields: no selected border or browser focus ring. */
.nac-login-box input:focus,.nac-login-box input:focus-visible,
.nac-login-box select:focus,.nac-login-box select:focus-visible,
.nac-login-box textarea:focus,.nac-login-box textarea:focus-visible{
 outline:none!important;box-shadow:none!important;border-color:#c8d9f5!important;
}
.nac-login-box .nac-phone-input:focus-within{
 outline:none!important;box-shadow:none!important;border-color:#c8d9f5!important;
}

/* Inset the country chevron consistently instead of using the native edge arrow. */
.nac-login-box .nac-phone-input select{
 appearance:none!important;-webkit-appearance:none!important;
 padding-left:10px!important;padding-right:26px!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2317181c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:12px 8px!important;
}

/* Keep the login footer actions side by side on every screen size. */
.nac-login-box .control-group.act{
 display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
 align-items:center!important;justify-content:center!important;gap:24px!important;
}
.nac-login-box .control-group.act a{
 float:none!important;display:inline-block!important;width:auto!important;
 margin:0!important;white-space:nowrap;
}

/* One native SMS input preserves keyboard suggestions, paste and accessibility. */
.nac-login-box .nac-otp{position:relative;width:100%;clear:both}
.nac-login-box .nac-otp-cells{display:none}
.nac-login-box .nac-otp.is-ready .nac-otp-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;pointer-events:none}
.nac-login-box .nac-otp-cells span{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:48px;min-width:0;border:1px solid #c8d9f5;border-radius:8px;background:#fff;color:#17181c;font:600 22px/1 system-ui,sans-serif}
.nac-login-box .nac-otp-cells span.is-current{background:#edf4ff}
.nac-login-box .nac-otp.is-ready input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;opacity:.01!important;z-index:1;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;cursor:text;font-size:16px!important;color:transparent!important;caret-color:transparent!important;background:transparent!important}
@media(max-width:360px){.nac-login-box .nac-otp.is-ready .nac-otp-cells{gap:6px}.nac-login-box .nac-otp-cells span{height:44px}}

/* Successful authentication stays in the dialog until the original page refreshes. */
#nac-login-dialog.is-success .nac-login-loading,#nac-login-dialog.is-success iframe{display:none!important}
#nac-login-dialog .nac-auth-success{box-sizing:border-box;padding:64px 24px 56px;text-align:center;background:#fff;color:#17181c}
#nac-login-dialog .nac-auth-success-icon{display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:0 auto 24px;background:#e8f7ee;color:#23965a;border-radius:50%}
#nac-login-dialog .nac-auth-success h2{margin:0 0 12px;padding:0;border:0;font:600 23px/1.5 system-ui,sans-serif;color:#17181c}
#nac-login-dialog .nac-auth-success p{margin:0;padding:0;font:14px/1.6 system-ui,sans-serif;color:#7b8190}

/* The modal shell and its isolated document follow the shared saved theme. */
[data-nb-theme=dark] #nac-login-dialog{color:#f8fafc;color-scheme:dark}
[data-nb-theme=dark] #nac-login-dialog::backdrop{background:rgba(0,0,0,.55)}
[data-nb-theme=dark] #nac-login-dialog :is(.nac-login-panel,iframe,.nac-auth-success){background:#191c1f;color:#f8fafc}
[data-nb-theme=dark] #nac-login-dialog :is(.nac-login-close,.nac-auth-success h2){color:#f8fafc}
[data-nb-theme=dark] #nac-login-dialog .nac-login-close:hover{background:#30353e}
[data-nb-theme=dark] #nac-login-dialog :is(.nac-login-loading,.nac-auth-success p){color:#a4aebd}
html.nac-login-embedded[data-nb-theme=dark],html.nac-login-embedded[data-nb-theme=dark] body,
html.nac-login-embedded[data-nb-theme=dark] .nac-login-box{background:#191c1f!important;color:#f8fafc!important}
[data-nb-theme=dark] .nac-login-box .control-group.act{background:#222529!important}
[data-nb-theme=dark] .nac-login-box .nac-otp-cells span{background:#222529;color:#f8fafc;border-color:#454e60}
[data-nb-theme=dark] .nac-login-box .nac-otp-cells span.is-current{background:#283346}
[data-nb-theme=dark] .nac-login-box .nac-phone-input select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23f8fafc' stroke-width='1.5'/%3E%3C/svg%3E")!important}

/* Mobile fields retain their borders without a focus outline or glow. */
@media(max-width:767px){
 html body :is(input:not([type="button"]):not([type="submit"]):not([type="reset"]),textarea,select,[contenteditable="true"]):is(:focus,:focus-visible){outline:none!important;box-shadow:none!important}
 html body :is(.nac-phone-input,.input-group,.form-group):focus-within{outline:none!important;box-shadow:none!important}
}
