/* NAMUVEST v2.0.2 — auth screens, reliably served with dedicated CSS route
   Stronger layout isolation for login/register/reset pages.
   Decorative motion only. */

.auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  overflow-x: hidden;
  overflow-y: auto;
  align-items: stretch;
  overscroll-behavior-y: contain;
  background:
    radial-gradient(circle at 18% 18%, rgba(106, 81, 255, .08), transparent 28%),
    linear-gradient(135deg, #090914 0%, #090b12 48%, #0a0b16 100%);
  isolation: isolate;
}

.auth-overlay::before,
.auth-overlay::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.auth-overlay::before {
  z-index: 0;
  inset: -14%;
  opacity: .95;
  background:
    radial-gradient(ellipse 28% 34% at 18% 18%, rgba(113, 89, 255, .30), transparent 72%),
    radial-gradient(ellipse 34% 28% at 82% 20%, rgba(94, 74, 225, .24), transparent 74%),
    radial-gradient(ellipse 30% 38% at 64% 72%, rgba(31, 207, 175, .10), transparent 72%),
    radial-gradient(ellipse 24% 25% at 35% 85%, rgba(130, 97, 255, .12), transparent 76%);
  filter: blur(24px);
}

.auth-overlay::after {
  z-index: 0;
  background-image:
    linear-gradient(rgba(150, 136, 255, .034) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150, 136, 255, .034) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 86%, transparent 100%);
  opacity: .88;
}

.auth-overlay .auth-panel {
  position: relative;
  z-index: 2;
  width: min(454px, calc(100% - 64px));
  min-height: 100vh;
  min-height: 100svh;
  margin: 0 auto;
  padding: clamp(34px, 4.4vh, 54px) 0 28px;
  display: grid !important;
  grid-auto-flow: row;
  grid-auto-rows: max-content;
  align-content: start;
  align-items: start;
  isolation: isolate;
}

.auth-overlay .auth-panel > * {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.auth-overlay .auth-glow {
  position: absolute;
  width: 330px;
  height: 330px;
  top: -130px;
  left: -80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(103, 79, 245, .30), rgba(103, 79, 245, 0) 68%);
  filter: blur(22px);
  z-index: 0 !important;
  pointer-events: none;
}

.auth-overlay .auth-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 clamp(34px, 7vh, 76px) !important;
}

.auth-overlay .auth-copy {
  display: grid !important;
  grid-auto-flow: row;
  align-content: start;
  align-items: start;
  flex: none !important;
  min-height: auto !important;
  height: auto !important;
  margin: 0 0 28px !important;
}

.auth-overlay .auth-copy .eyebrow {
  margin: 0 0 14px !important;
}

.auth-overlay .auth-copy h1 {
  margin: 0 0 12px !important;
  font-size: clamp(34px, 4.2vw, 46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -1.45px !important;
  overflow-wrap: anywhere;
}

.auth-overlay .auth-copy p {
  margin: 0 !important;
  color: #a6a2b7 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.auth-overlay .form-stack:not(.hidden),
.auth-overlay .password-reset-flow:not(.hidden),
.auth-overlay #authError:not(.hidden),
.auth-overlay .auth-help,
.auth-overlay .auth-fineprint,
.auth-overlay .auth-switch,
.auth-overlay #authTermsPanel:not(.hidden) {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.auth-overlay .form-stack {
  gap: 18px !important;
}

.auth-overlay .form-stack label,
.auth-overlay .password-reset-flow label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.auth-overlay .form-stack input:not([type="checkbox"]),
.auth-overlay .password-reset-flow input:not([type="checkbox"]),
.auth-overlay textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.auth-overlay .auth-panel .form-stack input:not([type="checkbox"]) {
  padding: 15px 16px !important;
}

.auth-overlay .btn-primary,
.auth-overlay .btn-outline {
  min-height: 48px;
}

.auth-overlay .auth-error:not(.hidden) {
  margin: 14px 0 0 !important;
}

.auth-overlay .auth-help {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px !important;
  margin-top: 15px !important;
}

.auth-overlay .auth-help .reset-trigger {
  margin-top: 0;
  color: #c8bfff;
  font-size: 12px;
}

.auth-overlay .auth-help .recovery-trigger {
  color: #8e8aa1;
  font-size: 11px;
  line-height: 1.5;
}

.auth-overlay .password-reset-flow {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 2px !important;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid #353053;
  background: linear-gradient(155deg, rgba(25, 24, 39, .96), rgba(13, 13, 22, .96));
  box-shadow: 0 16px 48px rgba(0, 0, 0, .22);
}

.auth-overlay .password-reset-flow .form-stack {
  margin: 0;
}

.auth-overlay .password-reset-flow .otp-intro,
.auth-overlay .password-reset-flow p {
  margin: 0;
  line-height: 1.66;
}

.auth-overlay .auth-fineprint {
  margin: 28px 0 0 !important;
  font-size: 10px;
  line-height: 1.7;
}

.auth-overlay .auth-switch {
  margin-top: auto !important;
  padding: 28px 0 2px !important;
  line-height: 1.55;
  text-align: center;
}

.auth-overlay .auth-art {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.auth-overlay .btn-primary:focus-visible,
.auth-overlay .btn-outline:focus-visible,
.auth-overlay button:focus-visible,
.auth-overlay input:focus-visible {
  outline: 2px solid #c9c0ff;
  outline-offset: 3px;
}

/* Stronger visible motion */
.motion-enabled .auth-overlay::before {
  animation: if19Aurora 18s ease-in-out infinite alternate;
}

.motion-enabled .auth-overlay::after {
  animation: if19GridDrift 24s linear infinite;
}

.motion-enabled .auth-overlay .auth-glow {
  animation: if19GlowFloat 10s ease-in-out infinite alternate;
}

.motion-enabled .auth-overlay .auth-copy,
.motion-enabled .auth-overlay .form-stack,
.motion-enabled .auth-overlay .password-reset-flow,
.motion-enabled .auth-overlay .auth-help,
.motion-enabled .auth-overlay .auth-switch {
  animation: if19FadeUp 580ms cubic-bezier(.22, 1, .36, 1) both;
}

.motion-enabled .auth-overlay .form-stack { animation-delay: 80ms; }
.motion-enabled .auth-overlay .auth-help { animation-delay: 120ms; }
.motion-enabled .auth-overlay .auth-switch { animation-delay: 160ms; }

.motion-enabled .auth-overlay .btn-primary:not(:disabled) {
  background-size: 180% 180%;
  animation: if19ButtonGlow 7s ease-in-out infinite;
}

@keyframes if19Aurora {
  from { transform: translate3d(-1.8%, 0, 0) scale(1); opacity: .7; }
  to { transform: translate3d(2.4%, -2.2%, 0) scale(1.08); opacity: 1; }
}

@keyframes if19GridDrift {
  to { background-position: 52px 52px; }
}

@keyframes if19GlowFloat {
  from { transform: translate3d(0,0,0) scale(.96); opacity: .66; }
  to { transform: translate3d(28px, 12px, 0) scale(1.08); opacity: 1; }
}

@keyframes if19FadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes if19ButtonGlow {
  0%, 100% { box-shadow: 0 10px 24px rgba(99, 79, 245, .20); }
  50% { box-shadow: 0 12px 32px rgba(99, 79, 245, .38); }
}

@media (max-width: 960px) {
  .auth-overlay .auth-panel {
    width: min(448px, calc(100% - 48px));
  }

  .auth-overlay .auth-copy h1 {
    font-size: clamp(32px, 4.9vw, 42px) !important;
  }
}

@media (max-width: 650px) {
  .auth-overlay {
    display: block;
    min-height: 100svh;
    background:
      radial-gradient(circle at 86% 8%, rgba(104, 84, 255, .11), transparent 30%),
      linear-gradient(165deg, #0b0a17 0%, #090a13 52%, #0c0f1d 100%);
  }

  .auth-overlay::before {
    inset: -8%;
    opacity: 1;
    background:
      radial-gradient(ellipse 82% 30% at 92% 6%, rgba(116, 88, 255, .28), transparent 76%),
      radial-gradient(ellipse 75% 28% at 12% 56%, rgba(88, 72, 212, .23), transparent 75%),
      radial-gradient(ellipse 68% 23% at 92% 92%, rgba(26, 206, 174, .14), transparent 78%),
      radial-gradient(ellipse 42% 20% at 42% 28%, rgba(170, 150, 255, .10), transparent 80%);
    filter: blur(14px);
  }

  .auth-overlay::after {
    background-size: 34px 34px;
    opacity: .82;
  }

  .auth-overlay .auth-panel {
    width: min(420px, calc(100% - 24px));
    min-height: 100svh;
    padding: 22px 0 max(24px, env(safe-area-inset-bottom));
  }

  .auth-overlay .auth-panel::before,
  .auth-overlay .auth-panel::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border-radius: 50%;
  }

  .auth-overlay .auth-panel::before {
    top: 94px;
    right: -86px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(148, 128, 255, .22);
    box-shadow:
      0 0 0 26px rgba(118, 92, 239, .034),
      0 0 0 58px rgba(118, 92, 239, .02),
      0 0 0 92px rgba(118, 92, 239, .012);
    opacity: .95;
  }

  .auth-overlay .auth-panel::after {
    left: -56px;
    bottom: 142px;
    width: 170px;
    height: 170px;
    background: radial-gradient(circle, rgba(58, 216, 189, .16), rgba(97, 76, 240, .08) 43%, transparent 72%);
    filter: blur(2px);
  }

  .motion-enabled .auth-overlay .auth-panel::before {
    animation: if19RingMove 13s ease-in-out infinite alternate;
  }

  .motion-enabled .auth-overlay .auth-panel::after {
    animation: if19MobileGlow 9s ease-in-out infinite alternate;
  }

  .auth-overlay .auth-brand {
    margin-bottom: clamp(28px, 5.5vh, 44px) !important;
    font-size: 16px;
  }

  .auth-overlay .auth-copy {
    margin-bottom: 24px !important;
  }

  .auth-overlay .auth-copy h1 {
    font-size: clamp(31px, 8.8vw, 40px) !important;
    line-height: 1.14 !important;
    letter-spacing: -1.1px !important;
  }

  .auth-overlay .auth-copy p {
    font-size: 12.5px !important;
    line-height: 1.62 !important;
  }

  .auth-overlay .auth-panel .form-stack input:not([type="checkbox"]) {
    padding: 14px 15px !important;
  }

  .auth-overlay .password-reset-flow {
    padding: 16px;
    border-radius: 15px;
  }

  .auth-overlay .auth-help {
    gap: 13px !important;
  }

  .auth-overlay .auth-help .reset-trigger {
    font-size: 12px;
  }

  .auth-overlay .auth-help .recovery-trigger {
    font-size: 10.8px;
  }

  .auth-overlay .auth-fineprint {
    font-size: 10px;
    line-height: 1.6;
  }

  .auth-overlay .auth-switch {
    padding-top: 26px !important;
    font-size: 12px;
  }

  .auth-overlay .auth-art {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .auth-overlay .auth-panel {
    width: calc(100% - 18px);
    padding-top: 18px;
  }

  .auth-overlay .auth-copy h1 {
    font-size: clamp(29px, 9vw, 36px) !important;
  }

  .auth-overlay .auth-brand {
    margin-bottom: 24px !important;
  }

  .auth-overlay .password-reset-flow {
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not(.motion-force-on) .auth-overlay::before,
  html:not(.motion-force-on) .auth-overlay::after,
  html:not(.motion-force-on) .auth-overlay .auth-glow,
  html:not(.motion-force-on) .auth-overlay .auth-copy,
  html:not(.motion-force-on) .auth-overlay .form-stack,
  html:not(.motion-force-on) .auth-overlay .password-reset-flow,
  html:not(.motion-force-on) .auth-overlay .auth-help,
  html:not(.motion-force-on) .auth-overlay .auth-switch,
  html:not(.motion-force-on) .auth-overlay .auth-panel::before,
  html:not(.motion-force-on) .auth-overlay .auth-panel::after {
    animation: none !important;
  }
}

html.motion-off .auth-overlay::before,
html.motion-off .auth-overlay::after,
html.motion-off .auth-overlay .auth-glow,
html.motion-off .auth-overlay .auth-copy,
html.motion-off .auth-overlay .form-stack,
html.motion-off .auth-overlay .password-reset-flow,
html.motion-off .auth-overlay .auth-help,
html.motion-off .auth-overlay .auth-switch,
html.motion-off .auth-overlay .auth-panel::before,
html.motion-off .auth-overlay .auth-panel::after {
  animation: none !important;
}

@keyframes if19RingMove {
  from { transform: translate3d(0, 0, 0) scale(.93); opacity: .65; }
  to { transform: translate3d(-22px, 16px, 0) scale(1.06); opacity: 1; }
}

@keyframes if19MobileGlow {
  from { transform: translate3d(0, 0, 0); opacity: .52; }
  to { transform: translate3d(24px, -34px, 0); opacity: 1; }
}


/* New mobile/desktop brand atmosphere: lightweight, behind all interactive fields. */
.auth-overlay .auth-sparks {
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  isolation:isolate;
}
.auth-overlay .auth-sparks i {
  position:absolute;
  width:5px;
  height:5px;
  border-radius:999px;
  background:#ad9eff;
  box-shadow:0 0 8px 2px rgba(113,91,242,.34);
  opacity:.25;
}
.auth-overlay .auth-sparks i:nth-child(1){left:11%;top:13%;}
.auth-overlay .auth-sparks i:nth-child(2){left:84%;top:12%;width:4px;height:4px;background:#4ad8c5;}
.auth-overlay .auth-sparks i:nth-child(3){left:72%;top:39%;}
.auth-overlay .auth-sparks i:nth-child(4){left:16%;top:71%;width:3px;height:3px;background:#5cdeb9;}
.auth-overlay .auth-sparks i:nth-child(5){left:91%;top:80%;width:3px;height:3px;}
.auth-overlay .auth-sparks i:nth-child(6){left:34%;top:85%;}
.auth-overlay .auth-sparks i:nth-child(7){left:63%;top:62%;width:3px;height:3px;background:#52d7c7;}
.auth-overlay .auth-sparks i:nth-child(8){left:43%;top:26%;width:3px;height:3px;}
.auth-overlay .auth-sparks i:nth-child(9){left:92%;top:49%;}
.motion-enabled .auth-overlay .auth-sparks i {animation:namuParticle 10s ease-in-out infinite alternate;}
.motion-enabled .auth-overlay .auth-sparks i:nth-child(2n){animation-duration:13s;animation-delay:-3s;}
.motion-enabled .auth-overlay .auth-sparks i:nth-child(3n){animation-duration:16s;animation-delay:-6s;}
@keyframes namuParticle{0%{transform:translate3d(0,0,0);opacity:.1}55%{opacity:.75}100%{transform:translate3d(12px,-22px,0);opacity:.2}}
@media (max-width:650px){
  .auth-overlay .auth-sparks i {opacity:.48;box-shadow:0 0 13px 3px rgba(113,91,242,.32);}
  .auth-overlay .auth-sparks i:nth-child(3),
  .auth-overlay .auth-sparks i:nth-child(6){width:4px;height:4px;}
  .auth-overlay .auth-panel {position:relative;z-index:2;}
}
@media (prefers-reduced-motion:reduce){
  html:not(.motion-force-on) .auth-overlay .auth-sparks i{animation:none!important;}
}
html.motion-off .auth-overlay .auth-sparks i{animation:none!important;}

/* Small phones: prevent wrapped Terms link and the inactive app behind auth
   from introducing horizontal page scrolling. */
.auth-overlay .check-row span {min-width:0;overflow-wrap:anywhere;}
.auth-overlay .check-row .inline-link {display:inline;white-space:normal;overflow-wrap:anywhere;}
@media(max-width:380px){
  .auth-overlay .form-stack label.check-row{flex-direction:row!important;align-items:flex-start!important;}
  html:has(.auth-overlay:not(.hidden)),
  body:has(.auth-overlay:not(.hidden)){overflow-x:clip;}
}

/* v2.0.2 ROOT CAUSE FIX: checkbox must never inherit text-field width.
   Earlier rules gave this 18px checkbox width:100%, collapsing the legal copy
   to zero pixels and making the registration screen thousands of pixels tall. */
.auth-overlay .form-stack label.check-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start;
  flex-wrap: nowrap;
  width: 100%;
  gap: 11px !important;
}
.auth-overlay .form-stack label.check-row input[type="checkbox"] {
  appearance: auto;
  box-sizing: border-box;
  display: block;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  accent-color: #7563fa;
}
.auth-overlay .form-stack label.check-row > span {
  display: block;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.65;
}
.auth-overlay .form-stack label.check-row .inline-link {
  white-space: normal;
  overflow-wrap: break-word;
}

/* Keep the underlying dashboard from scrolling behind Login/Register/Reset.
   The overlay has its own vertical scrollbar, so long forms remain accessible. */
html:has(#authOverlay:not(.hidden)),
body:has(#authOverlay:not(.hidden)) { overflow: hidden; }


/* NAMUVEST 2.1 — Clean authentication, mobile-first, Bullpex-inspired layout without copying assets. */
.auth-overlay .auth-panel{width:min(490px,calc(100% - 62px));padding-top:clamp(26px,4vh,44px);}
.auth-overlay .auth-brand{margin-bottom:28px!important;}
.auth-overlay .auth-brand .namuvest-wordmark{max-width:min(260px,100%);height:auto;}
.auth-overlay .auth-copy{margin-bottom:24px!important;}
.auth-overlay .auth-copy .eyebrow{font-size:10px!important;letter-spacing:.19em;color:#a69bd5;}
.auth-overlay .auth-copy h1{font-size:clamp(35px,3.65vw,47px)!important;letter-spacing:-.045em!important;}
.auth-overlay .auth-copy p{font-size:14px!important;color:#a9a9bf!important;}
.auth-overlay .form-stack{gap:16px!important;}
.auth-overlay .form-stack label:not(.check-row):not(.remember-option),
.auth-overlay .password-reset-flow label{font-size:12.5px;color:#dedce9;font-weight:600;}
.auth-overlay .form-stack input:not([type=checkbox]),
.auth-overlay .password-reset-flow input:not([type=checkbox]){
  height:54px;background:#11121d!important;border:1px solid #353545!important;border-radius:12px!important;
  color:#f5f3ff!important;box-shadow:none!important;font-size:14px!important;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.auth-overlay .form-stack input:not([type=checkbox]):focus,
.auth-overlay .password-reset-flow input:not([type=checkbox]):focus{
  border-color:#8974ff!important;box-shadow:0 0 0 3px rgba(120,96,255,.16)!important;outline:none!important;
}
.auth-overlay .form-stack input::placeholder{color:#858497;}
.auth-overlay .auth-password-wrap{position:relative;display:block;width:100%;}
.auth-overlay .auth-password-wrap input{padding-right:56px!important;}
.auth-overlay .password-visibility{position:absolute;top:50%;right:9px;transform:translateY(-50%);width:42px;height:42px;
  display:grid;place-items:center;border:0;background:transparent;color:#9997ae;border-radius:11px;cursor:pointer;z-index:2;}
.auth-overlay .password-visibility svg{width:21px;height:21px;pointer-events:none;}
.auth-overlay .password-visibility:hover,.auth-overlay .password-visibility.is-visible{background:#26213c;color:#c0b3ff;}
.auth-overlay .login-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:-1px;}
.auth-overlay .login-actions .remember-option{display:inline-flex!important;flex-direction:row!important;align-items:center!important;
  justify-content:flex-start!important;width:auto!important;gap:9px;color:#b5b5c7;font-size:13px;white-space:nowrap;cursor:pointer;}
.auth-overlay .login-actions .remember-option input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;
  flex:none!important;margin:0!important;accent-color:#7563fa;cursor:pointer;}
.auth-overlay .login-actions .reset-trigger{border:0;padding:7px 0;margin:0;font-size:13px!important;color:#aa9bff!important;cursor:pointer;}
.auth-overlay .remember-caption{margin:-13px 0 0!important;font-size:11px!important;color:#77758f;line-height:1.5;}
.auth-overlay .form-stack .btn-primary{margin-top:5px;min-height:56px;border-radius:13px;
  background:linear-gradient(100deg,#5846e9,#786bfc)!important;font-size:15px;font-weight:700;
  box-shadow:0 12px 26px rgba(91,72,233,.2);}
.auth-overlay .form-stack .btn-primary:hover{filter:brightness(1.09);}
.auth-overlay .form-stack .btn-primary:disabled{opacity:.58;cursor:wait;}
.auth-overlay .auth-help{gap:9px!important;margin-top:12px!important;}
.auth-overlay .auth-help .recovery-trigger{font-size:11.5px!important;color:#9894af;}
.auth-overlay .password-reset-flow{border:1px solid rgba(138,124,197,.21);background:rgba(13,13,23,.72);
  box-shadow:0 14px 36px rgba(0,0,0,.18);padding:22px;border-radius:18px;}
.auth-overlay .password-reset-flow .otp-intro{font-size:13px;color:#aaa9bf;line-height:1.7;}
.auth-overlay .auth-switch{margin-top:12px!important;padding:20px 0 4px!important;color:#bbb7d1;font-size:13px;}
.auth-overlay .auth-progress{display:flex;align-items:center;gap:11px;margin:0 0 26px;color:#8d899f;font-size:11px;font-weight:700;}
.auth-overlay .auth-progress.hidden{display:none!important;}
.auth-overlay .auth-progress>i{height:2px;background:#48405f;flex:1;min-width:8px;}
.auth-overlay .auth-progress .progress-step{display:flex;align-items:center;gap:7px;white-space:nowrap;}
.auth-overlay .auth-progress .progress-step b{display:grid;place-items:center;width:29px;height:29px;border:1px solid #57516d;border-radius:50%;font-size:12px;}
.auth-overlay .auth-progress .progress-step.active{color:#d1c9ff;}
.auth-overlay .auth-progress .progress-step.current:not(.active) b{border:2px solid #927dff;color:#ae9eff;box-shadow:0 0 0 4px rgba(107,86,254,.08);}
.auth-overlay .auth-progress .progress-step.active b{border-color:#8e7cff;background:#5549d6;color:white;box-shadow:0 0 0 4px rgba(107,86,254,.13);}
.auth-overlay .password-feedback{display:grid;gap:8px;margin-top:-10px;color:#9b99b3;font-size:11.5px;}
.auth-overlay .password-feedback .password-meter{display:flex;gap:7px;}
.auth-overlay .password-feedback .password-meter i{height:5px;flex:1;background:#29293b;border-radius:8px;}
.auth-overlay .password-meter[data-level="1"] i:nth-child(-n+1),
.auth-overlay .password-meter[data-level="2"] i:nth-child(-n+2){background:#e8a43e;}
.auth-overlay .password-meter[data-level="3"] i:nth-child(-n+3){background:#c8c047;}
.auth-overlay .password-meter[data-level="4"] i:nth-child(-n+4){background:#37c894;}
.auth-overlay .password-match.is-match{color:#55d5a0;}
.auth-overlay .password-match.is-mismatch{color:#f0989b;}
.auth-overlay .auth-error:not(.hidden){margin:14px 0 0!important;line-height:1.6;}
@media(max-width:650px){
  .auth-overlay{background:radial-gradient(circle at 50% 10%,rgba(73,63,152,.19),transparent 65%),#080911;}
  .auth-overlay .auth-panel{min-height:100svh;width:min(420px,calc(100% - 36px));padding-top:clamp(30px,6vh,60px);}
  .auth-overlay .auth-panel::before,.auth-overlay .auth-panel::after{display:none;}
  .auth-overlay .auth-brand{margin:0 0 29px!important;justify-content:center;}
  .auth-overlay .auth-brand .namuvest-wordmark{max-width:min(220px,80vw);}
  .auth-overlay .auth-copy{text-align:center;justify-items:center;margin-bottom:26px!important;}
  .auth-overlay .auth-copy h1{font-size:clamp(31px,8vw,39px)!important;}
  .auth-overlay .auth-copy p{font-size:13px!important;}
  .auth-overlay .form-stack{gap:17px!important;}
  .auth-overlay .auth-progress{margin:0 0 27px;justify-content:center;gap:7px;font-size:10px;}
  .auth-overlay .auth-progress .progress-step{gap:5px;}
  .auth-overlay .auth-progress .progress-step b{width:27px;height:27px;}
  .auth-overlay .auth-switch{padding-top:21px!important;}
  .auth-overlay .password-reset-flow{padding:17px;}
  .auth-overlay .login-actions .reset-trigger{font-size:12px!important;}
}
@media(max-width:360px){
  .auth-overlay .auth-panel{width:calc(100% - 28px);padding-top:24px;}
  .auth-overlay .login-actions{gap:6px;}
  .auth-overlay .login-actions .remember-option{font-size:12px;}
  .auth-overlay .auth-progress{font-size:9px;gap:5px;}
  .auth-overlay .auth-progress .progress-step b{width:24px;height:24px;}
}
