/* Cadastro público em cinco momentos. Escopo isolado das demais telas de login. */
html { scrollbar-gutter: auto; }
.auth-body-signup {
  background: #eef0ff;
  overflow: hidden;
}

.auth-body-signup::before,
.auth-body-signup::after {
  display: none;
}

.signup-scene {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background:
    radial-gradient(ellipse 42% 50% at 4% 6%, rgba(99, 79, 244, .24), transparent 85%),
    radial-gradient(ellipse 35% 45% at 93% 91%, rgba(177, 246, 47, .24), transparent 84%),
    linear-gradient(135deg, #e9e8ff 0%, #f8f9ff 53%, #f0f6e8 100%);
  pointer-events: none;
}

.signup-glass-fold {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .8s ease;
}
.signup-glass-fold.is-ready { opacity: .84; }

.signup-scene-previous {
  position: fixed;
  inset: 0;
  z-index: 0;
  /* A cena WebGL permanece montada durante a troca de etapas. Só a foto
     interna do card faz a transição; este overlay legado não cobre o canvas. */
  background: transparent;
  opacity: 0;
  pointer-events: none;
}
.auth-body-signup.signup-transitioning .signup-scene-previous { opacity: 0; }
.signup-panel[aria-busy="true"] .auth-submit { cursor: progress; }
.signup-network-error { margin: 0 0 10px; padding: 10px 12px; background: #fff4f5; border: 1px solid #f0ced2; border-radius: 10px; }

.auth-body-signup .signup-shell {
  height: 100vh;
  height: 100svh;
  min-height: 0;
  padding: 12px;
  justify-content: center;
  gap: 0;
}

.auth-body-signup .signup-panel {
  position: relative;
  overflow: visible;
  z-index: 1;
  width: min(100%, 700px);
  height: min(700px, calc(100svh - 24px));
  min-height: 0;
  flex: none;
  margin: 0;
  padding: clamp(18px, 2.4vw, 30px);
  align-items: stretch;
  justify-content: stretch;
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(255,255,255,.98);
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(85, 77, 180, .15), 0 3px 18px rgba(20, 24, 56, .06);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  animation: none;
}

.auth-body-signup .signup-panel::before { display: none; }
.auth-body-signup .signup-panel::after { display: none; }
@keyframes signup-content-pop {
  from { opacity: 0; transform: translateY(14px) scale(.975); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.signup-panel .auth-topline { animation: none; }
.signup-panel .auth-head,
.signup-panel .signup-step-list,
.signup-panel .auth-form .auth-field,
.signup-panel .auth-form .signup-url-preview,
.signup-panel .auth-form .auth-grid-2,
.signup-panel .auth-actions,
.signup-panel .signup-next-block { animation: none; }
.auth-body-signup .signup-panel .auth-panel-inner {
  display: flex;
  height: 100%;
  min-height: 0;
  max-width: none;
  flex-direction: column;
}
.signup-stage-content {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.auth-body-signup .auth-topline { margin-bottom: 14px; }
.auth-body-signup .auth-mark img { width: 142px; }
.signup-back-link { display: none; }
.signup-progress { display: flex; align-items: center; gap: 12px; color: #667092; font-size: .76rem; white-space: nowrap; }
.signup-progress-dots { display: flex; align-items: center; gap: 7px; }
.signup-progress-dots i { display: block; width: 10px; height: 10px; background: #dedcf8; border-radius: 100%; }
.signup-progress-dots i.is-done { background: #b8f73c; }
.signup-progress-dots i.is-current { width: 13px; height: 13px; background: #635bff; box-shadow: 0 0 0 3px #e8e5ff; }

.auth-body-signup .auth-head h1 { font-size: clamp(1.55rem, 2.7vw, 2rem); letter-spacing: -.055em; }
.auth-body-signup .auth-head > p { display: block; margin-top: 7px; font-size: .85rem; line-height: 1.48; }
.auth-body-signup .auth-head > p.auth-eyebrow { display: none; }

.auth-body-signup .signup-step-list { margin: 15px 0 0; gap: 8px; }
.auth-body-signup .signup-step-list li { padding-top: 8px; border-top-width: 2px; }
.auth-body-signup .signup-step-list .auth-step-link { grid-template-columns: 20px minmax(0, 1fr); gap: 5px; }
.auth-body-signup .signup-step-list .auth-step-badge { width: 19px; height: 19px; font-size: .65rem; }
.auth-body-signup .signup-step-list .auth-step-copy strong { color: #666e85; font-family: var(--font-body); font-size: .69rem; font-weight: 650; overflow-wrap: normal; }
.auth-body-signup .signup-step-list li.is-current .auth-step-copy strong { color: #4038c8; }
.auth-body-signup .signup-step-list li.is-done .auth-step-copy strong { color: #35434c; }

.auth-body-signup .auth-form { margin-top: 0; }
.auth-body-signup .auth-form-wide { gap: 12px; }
.auth-body-signup .auth-step { gap: 10px; }
.auth-body-signup .auth-field label { color: #252b45; font-size: .82rem; }
.auth-body-signup .auth-input { min-height: 44px; background: #fbfbff; border: 1px solid #dfe1f1; border-radius: 10px; }
.auth-body-signup .auth-input > svg { color: #655cf1; }
.auth-body-signup .auth-input input { font-size: .87rem; }
.auth-body-signup .auth-hint { font-size: .74rem; }
.auth-body-signup .auth-actions { margin-top: 9px; }
.auth-body-signup .auth-submit { min-height: 46px; margin-top: 0; border-radius: 11px; box-shadow: 0 12px 22px rgba(151, 223, 25, .2); }
.auth-body-signup .auth-switch { display: block; margin-top: 12px; }
.signup-panel-step-4 .auth-senha-medidor { margin-top: 4px; gap: 4px; }
.signup-panel-step-4 .auth-form { width: 100%; max-width: 480px; margin-inline: auto; }
.signup-panel-step-4 .auth-grid-2 { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.signup-panel-step-4 .auth-senha-regras { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 8px; }
.signup-panel-step-4 .auth-senha-regras li { gap: 4px; font-size: .68rem; line-height: 1.25; }
.signup-panel-step-4 .auth-check-block { font-size: .75rem; line-height: 1.25; }
.signup-panel-step-4 .auth-refuse { margin-top: 2px; font-size: .72rem; }
.signup-legal-accept { padding: 10px 12px; background: #f8f9ef; border: 1px solid #e4eccb; border-radius: 11px; }
.signup-legal-links { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 5px 0 0 28px; }
.signup-legal-links a { color: #2d3570; font-size: .7rem; font-weight: 780; text-decoration: underline; text-decoration-color: #b6fa36; text-decoration-thickness: 3px; text-underline-offset: 3px; }
.signup-legal-links a:hover { color: #4f43e9; }

.signup-url-preview { display: grid; gap: 3px; margin-top: 3px; padding: 15px 17px; background: linear-gradient(110deg, #f4f3ff, #f7f9ff); border: 1px solid #ebe9ff; border-radius: 12px; }
.signup-preview-label { color: #69718e; font-size: .72rem; }
.signup-url-preview strong { color: #1d2543; font-size: .9rem; overflow-wrap: anywhere; }
.signup-url-preview strong [data-signup-slug] { color: #5147e8; }
.signup-url-preview small { color: #69718e; font-size: .7rem; }

.auth-body-signup .auth-code { font-size: 1.75rem; }
.auth-body-signup .auth-resend { margin-top: 14px; }
.signup-phone-confirmed { display: flex; align-items: center; gap: 11px; margin: 4px 0 14px; padding: 11px 13px; background: #f4f3ff; border: 1px solid #dedcff; border-radius: 12px; }
.signup-phone-confirmed-icon { display: grid; width: 34px; height: 34px; flex: none; place-items: center; color: #574ce2; background: #e7e4ff; border-radius: 9px; }
.signup-phone-confirmed-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.signup-phone-confirmed span:nth-child(2) { display: grid; min-width: 0; gap: 1px; }
.signup-phone-confirmed small { color: #69728c; font-size: .7rem; }
.signup-phone-confirmed strong { color: #212844; font-size: .83rem; }
.signup-phone-confirmed a { margin-left: auto; color: #5349dd; font-size: .72rem; font-weight: 740; white-space: nowrap; }
.signup-otp-entry { position: relative; display: grid; width: min(100%, 390px); grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin: 4px auto 0; cursor: text; }
.signup-otp-real { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; opacity: .01; font-size: 1px; cursor: text; }
.signup-otp-digit { display: grid; height: 58px; place-items: center; color: #202641; background: #fbfbff; border: 1px solid #dfe1f1; border-radius: 11px; font-size: 1.38rem; font-weight: 760; transition: border-color .2s, box-shadow .2s, transform .2s; }
.signup-otp-entry.is-focused .signup-otp-digit.is-current { border-color: #6759f7; box-shadow: 0 0 0 3px #eae7ff; transform: translateY(-2px); }
.signup-otp-entry .signup-otp-digit.is-filled { background: #f5f3ff; border-color: #c6c0ff; }

.signup-finish-mark { position: relative; display: grid; width: 78px; height: 78px; margin: 5px auto 13px; place-items: center; animation: signup-confetti-enter .75s cubic-bezier(.18, 1.3, .35, 1) .22s both; }
.signup-finish-mark img { width: 78px; height: 78px; object-fit: contain; animation: signup-confetti-float 4.2s ease-in-out 1s infinite; }
.signup-finish-mark::before,
.signup-finish-mark::after { position: absolute; width: 7px; height: 7px; border-radius: 2px; content: ''; animation: signup-sparkle 2.8s ease-in-out 1.1s infinite; }
.signup-finish-mark::before { top: 10px; left: -14px; background: #665bf4; rotate: -22deg; }
.signup-finish-mark::after { right: -14px; bottom: 13px; background: #b5f62f; rotate: 28deg; animation-delay: 1.6s; }
@keyframes signup-confetti-enter { from { opacity: 0; scale: .42; rotate: -28deg; } to { opacity: 1; scale: 1; rotate: 0deg; } }
@keyframes signup-confetti-float { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-7px) rotate(5deg); } }
@keyframes signup-sparkle { 0%, 100% { opacity: .3; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.35); } }
.signup-panel-step-5 .auth-head { text-align: center; }
@property --signup-border-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.auth-body-signup .signup-panel-step-5 { border: 3px solid transparent; background: linear-gradient(rgba(255,255,255,.97), rgba(255,255,255,.97)) padding-box, conic-gradient(from var(--signup-border-angle), #b7ff36, #654ff9, #e2ddff, #b7ff36) border-box; animation: signup-border-run 4s linear infinite; }
@keyframes signup-border-run { to { --signup-border-angle: 360deg; } }
.signup-next-block { margin: 0 1px 4px; padding: 22px; background: linear-gradient(145deg, #f7f6ff 0%, #fff 78%); border: 1px solid #e4e2fa; border-radius: 18px; box-shadow: 0 12px 30px rgba(65, 58, 145, .05); }
.signup-next-eyebrow { display: inline-block; margin-bottom: 5px; color: #5d53df; font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.signup-next-block h2 { margin: 0; color: #171c35; font-family: var(--font-display); font-size: clamp(1.28rem, 2.4vw, 1.55rem); letter-spacing: -.035em; line-height: 1.2; }
.signup-next-block > p { margin: 7px 0 0; color: #626b83; font-size: .82rem; line-height: 1.45; }
.signup-next-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 17px 0 0; padding: 0; list-style: none; }
.signup-next-list li { display: flex; min-width: 0; align-items: center; gap: 11px; padding: 11px; background: #fff; border: 1px solid #e8e8f5; border-radius: 12px; animation: signup-content-pop .46s cubic-bezier(.18, .8, .28, 1.2) both; }
.signup-next-list li:nth-child(1) { background: #f5f3ff; border-color: #ddd8ff; }
.signup-next-list li:nth-child(2) { background: #fff2fa; border-color: #f9d8ef; }
.signup-next-list li:nth-child(3) { background: #effbfc; border-color: #caedf0; }
.signup-next-list li:nth-child(4) { background: #f6fce9; border-color: #def1b2; }
.signup-next-list li:nth-child(1) { animation-delay: .5s; }
.signup-next-list li:nth-child(2) { animation-delay: .58s; }
.signup-next-list li:nth-child(3) { animation-delay: .66s; }
.signup-next-list li:nth-child(4) { animation-delay: .74s; }
.signup-next-icon { display: grid; width: 38px; height: 38px; flex: none; place-items: center; color: #5c50e9; background: #eeecff; border-radius: 11px; }
.signup-next-list li:nth-child(2) .signup-next-icon { color: #af3887; background: #fce1f2; }
.signup-next-list li:nth-child(3) .signup-next-icon { color: #197b89; background: #d8f4f7; }
.signup-next-list li:nth-child(4) .signup-next-icon { color: #5c800f; background: #e9f7c8; }
.signup-next-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.signup-next-list strong { display: block; color: #242940; font-size: .81rem; font-weight: 760; line-height: 1.25; }
.signup-next-list small { display: block; margin-top: 2px; color: #69718b; font-size: .69rem; line-height: 1.3; }
.signup-next-block > .signup-next-note { margin-top: 13px; padding-top: 12px; border-top: 1px solid #e6e4f5; color: #5f6680; font-size: .73rem; }
.signup-panel-step-5 .auth-actions { margin-top: 17px; }

.signup-notice {
  position: fixed;
  inset: 0;
  width: min(420px, calc(100% - 28px));
  max-height: calc(100svh - 28px);
  margin: auto;
  padding: clamp(22px, 5vw, 30px);
  color: #20263d;
  background: #fff;
  border: 1px solid #e4e3f5;
  border-radius: 22px;
  box-shadow: 0 30px 90px rgba(24, 20, 79, .25);
  text-align: center;
  animation: signup-notice-pop .34s cubic-bezier(.2, 1.15, .32, 1) both;
}
.signup-notice:not([open]) { display: none; }
.signup-notice::backdrop { background: rgba(21, 22, 52, .48); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.signup-notice-icon { display: grid; width: 72px; height: 72px; margin: 0 auto 16px; place-items: center; color: #574ce2; background: #eeecff; border-radius: 21px; }
.signup-notice-email .signup-notice-icon,
.signup-notice-document .signup-notice-icon { color: #9b5c17; background: #fff1d9; }
.signup-notice-session .signup-notice-icon { color: #a7760d; background: #fff5d8; }
.signup-notice-whatsapp .signup-notice-icon { color: #a73543; background: #fff0f2; }
.signup-notice-security .signup-notice-icon { color: #8a4bc7; background: #f4eaff; }
.signup-notice-resume .signup-notice-icon { color: #177e60; background: #e3f6ec; }
.signup-notice-icon svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.signup-notice h2 { margin: 0; color: #171c34; font-family: var(--font-display); font-size: 1.38rem; letter-spacing: -.035em; }
.signup-notice p { margin: 9px 0 20px; color: #606981; font-size: .88rem; line-height: 1.5; }
.signup-notice-details { display: grid; gap: 5px; margin: -5px 0 18px; padding: 0; list-style: none; text-align: left; }
.signup-notice-details li { display: grid; gap: 1px; padding: 7px 10px; background: #f7f7fc; border: 1px solid #ecebf6; border-radius: 9px; }
.signup-notice-details strong { color: #262b43; font-size: .72rem; }
.signup-notice-details span { color: #657088; font-size: .7rem; line-height: 1.25; }
.signup-notice form { margin: 0; }
.signup-notice-ok { width: 100%; min-height: 48px; color: #fff; background: #584af1; border: 0; border-radius: 11px; box-shadow: 0 12px 26px rgba(89, 74, 241, .2); cursor: pointer; font-weight: 750; }
.signup-notice-ok:hover { background: #4639d9; }
@keyframes signup-notice-pop { from { opacity: 0; transform: translateY(14px) scale(.94); } to { opacity: 1; transform: translateY(0) scale(1); } }
.signup-legal-dialog { position: fixed; inset: 0; width: min(740px, calc(100% - 24px)); max-height: min(720px, calc(100svh - 24px)); margin: auto; padding: 0; color: #222943; background: #fff; border: 1px solid #e3e2f3; border-radius: 20px; box-shadow: 0 30px 100px rgba(20,20,65,.3); }
.signup-legal-dialog:not([open]) { display: none; }
.signup-legal-dialog::backdrop { background: rgba(18,20,54,.58); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.signup-legal-header { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 19px 23px 13px; }
.signup-legal-header span { color: #5a4fe4; font-size: .7rem; font-weight: 790; text-transform: uppercase; letter-spacing: .07em; }
.signup-legal-header h2 { margin: 3px 0 0; font-family: var(--font-display); font-size: 1.38rem; letter-spacing: -.03em; }
.signup-legal-close { display: grid; width: 32px; height: 32px; flex: none; place-items: center; color: #566079; background: #f2f2fa; border: 0; border-radius: 9px; cursor: pointer; font-size: 1.4rem; }
.signup-legal-tabs { display: flex; gap: 5px; padding: 0 23px 12px; border-bottom: 1px solid #e8e8f2; overflow-x: auto; }
.signup-legal-tabs button { padding: 9px 12px; color: #606b84; background: transparent; border: 1px solid transparent; border-radius: 9px; cursor: pointer; font-size: .74rem; font-weight: 720; white-space: nowrap; }
.signup-legal-tabs button[aria-selected="true"] { color: #4e43d9; background: #f0eeff; border-color: #dedaff; }
.signup-legal-content { height: min(460px, calc(100svh - 210px)); padding: 16px 23px 24px; overflow-y: auto; font-size: .8rem; line-height: 1.6; }
.signup-legal-content[hidden] { display: none; }
.signup-legal-content h3 { margin: 20px 0 6px; color: #222943; font-size: .91rem; }
.signup-legal-content p, .signup-legal-content ul { margin: 6px 0 10px; color: #505b73; }
.signup-legal-content ul { padding-left: 20px; }
.signup-legal-summary { padding: 12px 14px; background: #f6f5ff; border-radius: 10px; }
.signup-legal-summary small { display: block; margin-top: 5px; color: #727b91; }
.signup-legal-footer { padding: 13px 23px 19px; border-top: 1px solid #e8e8f2; }
.signup-legal-footer button { min-height: 42px; padding: 0 17px; color: #fff; background: #594ded; border: 0; border-radius: 9px; cursor: pointer; font-weight: 740; }

@media (max-width: 620px) {
  .auth-body-signup .signup-shell { padding: 8px; justify-content: center; }
  .auth-body-signup .signup-panel { height: min(700px, calc(100svh - 16px)); padding: 18px 16px; border-radius: 20px; }
  .auth-body-signup .auth-panel-inner { position: relative; z-index: 4; }
  .auth-body-signup .auth-topline { margin-bottom: 10px; }
  .auth-body-signup .auth-head { margin-top: auto; }
  .auth-body-signup .signup-stage-content { flex: none; margin-top: 18px; margin-bottom: auto; }
  .auth-body-signup .signup-panel-step-5 .signup-stage-content { margin-top: 10px; }
  .auth-body-signup .auth-mark img { width: 112px; }
  .signup-back-link { display: grid; width: 30px; height: 30px; flex: none; margin-left: auto; place-items: center; color: #5b50e9; background: #efedff; border: 1px solid #dedaff; border-radius: 9px; }
  .signup-back-link svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .signup-progress { margin-left: 0; }
  .auth-body-signup .auth-head h1 { font-size: 1.55rem; }
  .auth-body-signup .auth-head > p { font-size: .8rem; }
  .auth-body-signup .signup-step-list { display: none; }
  .auth-body-signup .signup-panel:not(.signup-panel-step-1) .auth-switch { display: none; }
  .auth-body-signup .signup-url-preview small { display: none; }
  .auth-body-signup .auth-grid-2 { gap: 8px; }
  .signup-panel-step-4 .auth-grid-2 { grid-template-columns: minmax(0, 1fr); }
  .signup-panel-step-4 .auth-senha-regras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .auth-body-signup .auth-form { margin-top: 0; }
  .auth-body-signup .auth-actions { flex-direction: column; }
  .auth-body-signup .auth-secondary { min-height: 46px; }
  .signup-next-block { padding: 18px 15px; }
  .signup-next-list { grid-template-columns: 1fr; gap: 7px; margin-top: 14px; }
  .signup-next-list li { padding: 9px; }
  .signup-next-icon { width: 34px; height: 34px; }
  .signup-finish-mark, .signup-finish-mark img { width: 64px; height: 64px; }
  .signup-panel-step-5 .signup-finish-mark { margin-top: auto; margin-bottom: 6px; }
  .signup-panel-step-5 .auth-head { margin-top: 0; }
  .auth-body-signup .signup-panel-step-5 .signup-stage-content { flex: none; margin-top: 10px; margin-bottom: auto; }
}

@media (max-width: 620px) and (max-height: 700px) {
  .signup-panel-step-5 .auth-head > p:not(.auth-eyebrow),
  .signup-panel-step-5 .signup-next-eyebrow { display: none; }
  .signup-panel-step-5 .signup-next-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .signup-panel-step-5 .signup-next-list li { display: grid; gap: 3px; justify-items: center; padding: 6px; text-align: center; }
  .signup-panel-step-5 .signup-next-icon { width: 27px; height: 27px; border-radius: 8px; }
  .signup-panel-step-5 .signup-next-icon svg { width: 16px; height: 16px; }
  .signup-panel-step-5 .signup-next-list strong { font-size: .7rem; }
  .signup-panel-step-5 .signup-next-list small { font-size: .62rem; line-height: 1.2; }
  .signup-panel-step-5 .signup-next-block > p { font-size: .72rem; line-height: 1.35; }
  .signup-panel-step-5 .signup-next-block > .signup-next-note { margin-top: 8px; padding-top: 8px; font-size: .66rem; }
}

@media (max-width: 390px) {
  .auth-body-signup .auth-topline { gap: 8px; }
  .signup-progress { font-size: .68rem; gap: 5px; }
  .signup-progress-dots { gap: 5px; }
}

@media (max-width: 380px) and (max-height: 650px) {
  .auth-body-signup .auth-error:not([hidden]) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .signup-notice:has(.signup-notice-details) { padding: 15px; }
  .signup-notice:has(.signup-notice-details) .signup-notice-icon { width: 52px; height: 52px; margin-bottom: 8px; border-radius: 15px; }
  .signup-notice:has(.signup-notice-details) .signup-notice-icon svg { width: 30px; height: 30px; }
  .signup-notice:has(.signup-notice-details) h2 { font-size: 1.17rem; }
  .signup-notice:has(.signup-notice-details) p { margin: 5px 0 10px; font-size: .79rem; }
  .signup-notice:has(.signup-notice-details) .signup-notice-details { gap: 3px; margin: 0 0 10px; }
  .signup-notice:has(.signup-notice-details) .signup-notice-details li { padding: 4px 8px; }
  .signup-notice:has(.signup-notice-details) .signup-notice-ok { min-height: 44px; }
  .signup-panel-step-5 .auth-head > p:not(.auth-eyebrow),
  .signup-panel-step-5 .signup-next-eyebrow { display: none; }
  .signup-panel-step-5 .signup-next-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .signup-panel-step-5 .signup-next-list li { display: grid; gap: 3px; padding: 5px; justify-items: center; text-align: center; }
  .signup-panel-step-5 .signup-next-icon { width: 25px; height: 25px; border-radius: 8px; }
  .signup-panel-step-5 .signup-next-icon svg { width: 15px; height: 15px; }
  .signup-panel-step-5 .signup-next-list strong { font-size: .68rem; }
  .signup-panel-step-5 .signup-next-list small { font-size: .58rem; line-height: 1.15; }
  .signup-panel-step-5 .signup-next-block h2 { font-size: 1.13rem; }
  .signup-panel-step-5 .signup-next-block > p { font-size: .69rem; line-height: 1.3; }
  .signup-panel-step-5 .signup-next-block > .signup-next-note { margin-top: 7px; padding-top: 7px; font-size: .63rem; }
  .signup-panel-step-5 .auth-actions { flex-direction: row; gap: 6px; margin-top: 8px; }
  .signup-panel-step-5 .auth-secondary { display: inline-flex; min-height: 44px; padding: 0 8px; font-size: .72rem; white-space: nowrap; }
  .signup-panel-step-5 .auth-submit { min-height: 44px; padding-inline: 7px; font-size: .76rem; }
}

@media (max-height: 700px) {
  .auth-body-signup .signup-shell { justify-content: center; }
  .auth-body-signup .signup-panel { padding-block: 15px; }
  .auth-body-signup .auth-head > p { display: block; }
  .auth-body-signup .auth-topline { margin-bottom: 6px; }
  .auth-body-signup .signup-step-list { display: none; }
  .auth-body-signup .auth-switch { display: block; margin-top: 8px; }
  .auth-body-signup .auth-form-wide { gap: 7px; }
  .auth-body-signup .auth-step { gap: 6px; }
  .auth-body-signup .auth-actions { margin-top: 3px; }
  .signup-panel-step-4 .auth-senha-regras li { font-size: .62rem; }
  .signup-panel-step-5 .signup-finish-mark, .signup-panel-step-5 .signup-finish-mark img { width: 50px; height: 50px; }
  .signup-panel-step-5 .signup-next-block { padding: 12px; }
  .signup-panel-step-5 .signup-next-list { margin-top: 8px; }
  .signup-panel-step-5 .signup-next-list li { padding: 6px; }
}

@media (max-width: 380px) and (max-height: 520px) {
  .auth-body-signup .signup-panel { padding-block: 10px; }
  .auth-body-signup .auth-topline { margin-bottom: 2px; }
  .auth-body-signup .auth-head h1 { font-size: 1.34rem; }
  .auth-body-signup .signup-panel-step-4 .auth-head > p { display: none; }
  .auth-body-signup .signup-stage-content { margin-top: 7px; }
  .auth-body-signup .auth-input { min-height: 38px; }
  .auth-body-signup .auth-submit { min-height: 40px; }
  .auth-body-signup .auth-step { gap: 3px; }
  .auth-body-signup .auth-form-wide { gap: 3px; }
  .signup-panel-step-4 .auth-grid-2 { gap: 4px; }
  .signup-panel-step-4 .auth-senha-medidor { margin-top: 0; }
  .signup-panel-step-4 .auth-senha-regras li { font-size: .58rem; }
  .signup-panel-step-4 .auth-check-block { font-size: .7rem; line-height: 1.13; }
  .signup-panel-step-4 .auth-refuse { font-size: .65rem; }
  .signup-panel-step-5 .signup-next-list small { display: none; }
  .signup-panel-step-5 .signup-next-list li { min-height: 45px; }
  .signup-panel-step-5 .signup-next-block > p:not(.signup-next-note) { display: none; }
  .signup-notice:has(.signup-notice-details) { padding: 12px; }
  .signup-notice:has(.signup-notice-details) .signup-notice-icon { width: 46px; height: 46px; margin-bottom: 6px; }
  .signup-notice:has(.signup-notice-details) .signup-notice-details li { padding: 3px 7px; }
  .signup-notice:has(.signup-notice-details) .signup-notice-ok { min-height: 40px; }
}

/* Teclado virtual ou janela excepcionalmente baixa: preservar acesso aos campos. */
@media (max-height: 440px) {
  .auth-body-signup { overflow: auto; }
  .auth-body-signup .signup-shell { height: auto; min-height: 100svh; }
  .auth-body-signup .signup-panel { height: auto; min-height: calc(100svh - 16px); }
}

@media (prefers-reduced-motion: reduce) {
  .auth-body-signup .signup-panel { animation: none; }
  .signup-glass-fold { transition: none; }
  .signup-scene-previous { display: none; }
  .signup-panel .auth-topline, .signup-panel .auth-head,
  .signup-panel .signup-step-list, .signup-panel .auth-form .auth-field,
  .signup-panel .auth-form .signup-url-preview, .signup-panel .auth-form .auth-grid-2,
  .signup-panel .auth-actions, .signup-panel .signup-next-block,
  .signup-next-list li, .signup-finish-mark, .signup-finish-mark img,
  .signup-finish-mark::before, .signup-finish-mark::after,
  .signup-notice, .signup-otp-digit, .auth-body-signup .signup-panel-step-5 { animation: none; }
}

/* A mesma moldura em todas as etapas; o título integra cada arte lateral. */
.auth-body-signup .signup-shell { padding: 18px; }
.auth-body-signup .signup-panel {
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%);
  width: min(1200px, 100%);
  height: min(780px, calc(100svh - 36px));
  padding: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 30px;
}
.auth-body-signup .signup-panel-step-5 {
  border: 3px solid transparent;
  background: linear-gradient(#fff,#fff) padding-box, conic-gradient(from var(--signup-border-angle), #b7ff36, #654ff9, #e2ddff, #b7ff36) border-box;
  animation: signup-border-run 4s linear infinite;
}
.signup-story {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background-color: #eae8ff;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-right: 1px solid #eceafb;
}
.signup-stage-1 .signup-story { background-image: url('../images/signup/story-step-1-v3.png'); }
.signup-stage-2 .signup-story { background-image: url('../images/signup/story-step-2-v3.png'); }
.signup-stage-3 .signup-story { background-image: url('../images/signup/story-step-4-v3.png'); }
.signup-stage-4 .signup-story { background-image: url('../images/signup/story-step-3-v3.png'); }
.signup-stage-5 .signup-story { background-image: url('../images/signup/story-step-5-v3.png'); }
.signup-story-previous { position: absolute; z-index: 1; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; opacity: 0; pointer-events: none; }
.signup-story-previous { transition: opacity .24s ease; }
.auth-body-signup.signup-transitioning .signup-story-previous { opacity: 1; }
.signup-story-logo { position: absolute; z-index: 2; top: 33px; left: clamp(28px, 3vw, 48px); display: block; }
.signup-story-logo img { display: block; width: 157px; height: auto; }
.signup-story-badge { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.9); border-radius: 16px; background: rgba(255,255,255,.86); box-shadow: 0 14px 30px rgba(54,42,140,.12); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); animation: signup-badge-float 5s ease-in-out infinite; }
.signup-story-badge > span { display: grid; width: 32px; height: 32px; flex: none; place-items: center; color: #5949f2; background: #eeecff; border-radius: 10px; }
.signup-story-badge svg { width: 22px; height: 22px; }
.signup-story-badge strong { color: #142044; font-size: .82rem; line-height: 1.2; }
.signup-story-badge-brand { right: 3%; bottom: 18%; max-width: 190px; }
.signup-story-badge-spark { bottom: 9%; left: 3%; animation-delay: -2.4s; }
.signup-story-growth { position: absolute; z-index: 2; right: 3%; bottom: 3%; display: flex; align-items: center; gap: 9px; max-width: 50%; padding: 9px 13px; border: 1px solid rgba(255,255,255,.85); border-radius: 16px; background: rgba(255,255,255,.86); box-shadow: 0 16px 35px rgba(65,50,152,.12); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); animation: signup-badge-float 6s ease-in-out -1.2s infinite; }
.signup-story-growth > span:first-child { display: grid; width: 32px; height: 32px; flex: none; place-items: center; color: #39c92e; }
.signup-story-growth svg { width: 29px; height: 29px; }
.signup-story-growth > span:last-child { display: grid; }
.signup-story-growth strong { color: #142044; font-size: .88rem; line-height: 1.2; }
@keyframes signup-badge-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -8px; } }

.auth-body-signup .signup-panel .auth-panel-inner { min-width: 0; max-width: none; padding: clamp(27px, 3.9vw, 55px); }
.auth-body-signup .signup-panel .auth-topline { position: relative; display: flex; min-height: 43px; justify-content: center; margin: 0 0 clamp(24px, 5vh, 48px); }
.signup-panel .auth-topline .auth-mark { display: none; }
.signup-panel .signup-back-link { position: absolute; top: 1px; left: 0; display: grid; width: 40px; height: 40px; place-items: center; color: #584af0; background: #f7f6ff; border: 1px solid #e4e1ff; border-radius: 12px; }
.signup-panel .signup-back-link svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.signup-exit { position: absolute; top: 0; right: 0; display: grid; width: 43px; height: 43px; place-items: center; color: #18213e; background: #fff; border: 1px solid #e0e2f2; border-radius: 13px; font-size: 1.8rem; line-height: 1; text-decoration: none; }
.signup-exit:hover, .signup-back-link:hover { border-color: #766bf4; color: #4d3de5; }
.signup-panel .signup-progress { gap: 13px; font-size: .9rem; }
.signup-panel .signup-progress-dots { gap: 7px; }
.signup-panel .signup-progress-dots i { width: 13px; height: 13px; }
.signup-panel .signup-progress-dots i.is-current { width: 16px; height: 16px; }
.signup-panel .signup-step-list { display: none; }
.auth-body-signup .signup-panel .auth-head { margin: 0; }
.auth-body-signup .signup-panel .auth-head > p.auth-eyebrow { display: block; margin: 0 0 17px; color: #5a4bf0; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.auth-body-signup .signup-panel .auth-head h1 { max-width: 660px; font-size: clamp(1.85rem, 3.2vw, 2.7rem); line-height: 1.1; }
.auth-body-signup .signup-panel .auth-head > p:not(.auth-eyebrow) { max-width: 620px; margin-top: 11px; font-size: clamp(.88rem, 1.25vw, 1.04rem); line-height: 1.45; }
.auth-body-signup .signup-panel .signup-stage-content { justify-content: flex-start; margin-top: clamp(22px, 4vh, 42px); }
.auth-body-signup .signup-panel .signup-stage-content { flex: 1; }
.auth-body-signup .signup-panel .auth-form-wide { gap: 17px; }
.auth-body-signup .signup-panel .auth-step { gap: 14px; }
.auth-body-signup .signup-panel .auth-field label { font-size: .91rem; font-weight: 740; }
.auth-body-signup .signup-panel .auth-input { min-height: 56px; border-radius: 13px; }
.auth-body-signup .signup-panel .auth-input input { font-size: .96rem; }
.auth-body-signup .signup-panel .auth-submit { min-height: 58px; border-radius: 13px; font-size: 1rem; }
.auth-body-signup .signup-panel .auth-actions { margin-top: 8px; }
.auth-body-signup .signup-panel .auth-switch { width: 100%; margin-top: auto; padding-top: 16px; border-top: 1px solid #e7e8f3; font-size: .87rem; }
.signup-url-preview { grid-template-columns: 50px minmax(0,1fr); align-items: center; gap: 15px; padding: 17px 19px; }
.signup-preview-icon { display: grid; width: 48px; height: 48px; place-items: center; color: #5b4df4; background: #eae8ff; border-radius: 15px; }
.signup-preview-icon svg { width: 27px; height: 27px; }
.signup-preview-copy { display: grid; gap: 5px; min-width: 0; }
.signup-preview-label { font-size: .82rem; color: #5044df; }
.signup-url-preview strong { font-size: .96rem; }
.signup-url-preview small { font-size: .76rem; }
.signup-name-status { display: flex; align-items: center; gap: 15px; min-height: 78px; padding: 14px 18px; border: 1px solid #e3e6f2; border-radius: 14px; background: #f7f8fd; }
.signup-name-status-icon { display: grid; width: 40px; height: 40px; flex: none; place-items: center; color: #675aef; background: #eeecff; border-radius: 12px; }
.signup-name-status-icon svg { width: 24px; height: 24px; }
.signup-name-status > span:last-child { display: grid; gap: 3px; }
.signup-name-status strong { color: #182241; font-size: .88rem; }
.signup-name-status small { color: #63708b; font-size: .76rem; line-height: 1.35; }
.signup-name-status[data-state="available"] { border-color: #d8efcf; background: #f0faea; }
.signup-name-status[data-state="available"] .signup-name-status-icon { color: #1e9a37; background: #def5dc; }
.signup-name-status[data-state="unavailable"], .signup-name-status[data-state="invalid"] { border-color: #f0d6d9; background: #fff3f4; }
.signup-name-status[data-state="unavailable"] .signup-name-status-icon, .signup-name-status[data-state="invalid"] .signup-name-status-icon { color: #bd4050; background: #ffe3e6; }
.signup-panel-step-4 .auth-form { max-width: none; }
.signup-panel-step-4 .auth-senha-regras { grid-template-columns: repeat(2,minmax(0,1fr)); }
.auth-body-signup .signup-panel-step-4 .auth-topline { margin-bottom: 16px; }
.auth-body-signup .signup-panel-step-4 .signup-stage-content { margin-top: 15px; }
.auth-body-signup .signup-panel-step-4 .auth-form-wide { gap: 8px; }
.auth-body-signup .signup-panel-step-4 .auth-step { gap: 8px; }
.signup-panel-step-4 .auth-refuse { margin-top: 0; }
.signup-panel-step-3 .signup-stage-content { margin-top: 20px; }
.auth-body-signup .signup-panel-step-5 .auth-panel-inner { justify-content: center; }
.auth-body-signup .signup-panel-step-5 .auth-actions { align-items: stretch; }
.auth-body-signup .signup-panel-step-5 .signup-stage-content { flex: none; margin: 10px 0 0; }
.auth-body-signup .signup-panel-step-5 .signup-finish-mark { margin: 0 auto 12px; }
.signup-panel-step-5 .auth-head { margin-top: 0; }
.signup-panel-step-5 .signup-story-logo { display: none; }

@media (max-width: 980px) {
  .auth-body-signup .signup-panel { display: block; width: min(620px,100%); }
  .signup-story { display: none; }
  .auth-body-signup .signup-panel .auth-panel-inner { padding: clamp(18px, 3vw, 35px); }
  .signup-panel .auth-topline .auth-mark { display: block; margin-right: auto; }
  .signup-panel .auth-topline .auth-mark img { width: 107px; }
  .signup-panel .signup-back-link { position: static; flex: none; margin: 0 8px 0 auto; }
  .signup-panel .signup-progress { margin-right: 52px; }
  .signup-panel .signup-exit { right: 0; }
}
@media (max-width: 620px) {
  .auth-body-signup .signup-shell { padding: 8px; }
  .auth-body-signup .signup-panel { height: min(780px,calc(100svh - 16px)); border-radius: 22px; }
  .auth-body-signup .signup-panel .auth-panel-inner { padding: 19px; }
  .auth-body-signup .signup-panel .auth-topline { justify-content: flex-start; min-height: 36px; margin-bottom: 25px; gap: 6px; }
  .signup-panel .auth-topline .auth-mark img { width: 100px; }
  .signup-panel .signup-back-link { width: 31px; height: 31px; margin: 0 2px 0 auto; }
  .signup-panel .signup-progress { margin: 0 40px 0 0; font-size: .7rem; gap: 5px; }
  .signup-panel .signup-progress-dots { gap: 4px; }
  .signup-panel .signup-progress-dots i { width: 7px; height: 7px; }
  .signup-panel .signup-progress-dots i.is-current { width: 10px; height: 10px; box-shadow: 0 0 0 2px #e8e5ff; }
  .signup-panel .signup-exit { width: 34px; height: 34px; border-radius: 10px; font-size: 1.4rem; }
  .auth-body-signup .signup-panel .auth-head > p.auth-eyebrow { margin-bottom: 8px; font-size: .66rem; }
  .auth-body-signup .signup-panel .auth-head h1 { font-size: clamp(1.48rem, 6vw, 1.85rem); }
  .auth-body-signup .signup-panel .auth-head > p:not(.auth-eyebrow) { font-size: .81rem; line-height: 1.35; }
  .auth-body-signup .signup-panel .signup-stage-content { margin-top: 24px; }
  .auth-body-signup .signup-panel .auth-form-wide { gap: 10px; }
  .auth-body-signup .signup-panel .auth-step { gap: 9px; }
  .auth-body-signup .signup-panel .auth-field label { font-size: .78rem; }
  .auth-body-signup .signup-panel .auth-input { min-height: 46px; }
  .auth-body-signup .signup-panel .auth-input input { font-size: .83rem; }
  .auth-body-signup .signup-panel .auth-submit { min-height: 47px; font-size: .86rem; }
  .signup-url-preview { grid-template-columns: 37px minmax(0,1fr); gap: 8px; padding: 10px; }
  .signup-preview-icon { width: 36px; height: 36px; border-radius: 10px; }
  .signup-preview-icon svg { width: 21px; height: 21px; }
  .signup-preview-label { font-size: .68rem; }
  .signup-url-preview strong { font-size: .78rem; }
  .signup-url-preview small { display: block; font-size: .64rem; }
  .signup-name-status { min-height: 62px; gap: 9px; padding: 9px 11px; }
  .signup-name-status-icon { width: 34px; height: 34px; }
  .signup-name-status strong { font-size: .76rem; }
  .signup-name-status small { font-size: .67rem; }
  .auth-body-signup .signup-panel .auth-switch { margin-top: auto; padding-top: 12px; font-size: .74rem; }
  .auth-body-signup .signup-panel:not(.signup-panel-step-1) .auth-switch { display: block; }
  .signup-panel-step-5 .signup-next-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) and (max-height: 700px) {
  .auth-body-signup .signup-panel .auth-panel-inner { padding: 13px 15px; }
  .auth-body-signup .signup-panel .auth-topline { margin-bottom: 13px; }
  .auth-body-signup .signup-panel .signup-stage-content { margin-top: 13px; }
  .auth-body-signup .signup-panel .auth-head > p.auth-eyebrow { margin-bottom: 5px; }
  .auth-body-signup .signup-panel .auth-head > p:not(.auth-eyebrow) { margin-top: 5px; }
  .auth-body-signup .signup-panel .auth-form-wide { gap: 7px; }
  .auth-body-signup .signup-panel .auth-step { gap: 6px; }
  .auth-body-signup .signup-panel .auth-actions { margin-top: 2px; }
  .signup-url-preview small { display: none; }
  .signup-name-status { min-height: 51px; padding: 7px 10px; }
  .signup-name-status small { display: none; }
  .signup-panel-step-5 .signup-next-block { padding: 11px; }
}
@media (max-height: 520px) {
  .auth-body-signup { overflow: auto; }
  .auth-body-signup .signup-shell { height: auto; min-height: 100svh; }
  .auth-body-signup .signup-panel { height: auto; min-height: calc(100svh - 16px); }
}
@media (prefers-reduced-motion: reduce) {
  .signup-story-previous { display: none; }
  .signup-story-badge, .signup-story-growth { animation: none; }
  .auth-body-signup .signup-panel-step-5 { animation: none; }
}

/* A arte tem proporção vertical e título embutido. Em telas baixas, centralizar
   o recorte removia o espaço acima do título e o fazia passar sob a marca. */
.signup-story,
.signup-story-previous { background-position: left top; }

/* O card preserva a mesma moldura em todas as etapas, mas cresce quando uma
   mensagem ou o zoom aumenta o conteúdo. A rolagem é da página, nunca do card. */
.auth-body-signup { overflow-x: hidden; overflow-y: auto; }
.auth-body-signup .signup-shell { height: auto; min-height: 100svh; }
.auth-body-signup .signup-panel {
  height: auto;
  min-height: min(780px, calc(100svh - 36px));
}
.auth-body-signup .signup-panel .auth-panel-inner { height: auto; min-height: 100%; }

/* Os botões avançam sempre na mesma altura visual do card. O formulário
   distribui apenas o espaço disponível, sem comprimir os campos. */
@media (min-width: 981px) and (max-height: 820px) {
  .auth-body-signup .signup-panel .signup-stage-content > .auth-form {
    display: flex;
    flex: 1;
    flex-direction: column;
    margin-bottom: 16px;
  }
  .auth-body-signup .signup-panel .signup-stage-content > .auth-form > .auth-actions {
    margin-top: auto;
    padding-top: 12px;
  }
}

@media (min-width: 981px) and (max-height: 680px) {
  .auth-body-signup .signup-panel .signup-stage-content > .auth-form { margin-bottom: 0; }
  .auth-body-signup .signup-panel .signup-stage-content > .auth-form > .auth-actions { padding-top: 0; }
}

@media (min-width: 981px) and (max-height: 820px) {
  .auth-body-signup .signup-shell { padding: 12px; }
  .auth-body-signup .signup-panel {
    grid-template-columns: minmax(0, min(42%, calc(66.7svh - 16px))) minmax(0, 1fr);
    min-height: min(780px, calc(100svh - 24px));
  }
  .signup-story-logo { top: clamp(18px, 3vh, 26px); left: 6%; }
  .signup-story-logo img { width: clamp(120px, 10vw, 145px); }
  .auth-body-signup .signup-panel .auth-panel-inner { padding: clamp(23px, 3vw, 37px); }
  .auth-body-signup .signup-panel .auth-topline { margin-bottom: clamp(13px, 2.5vh, 23px); }
  .auth-body-signup .signup-panel .auth-head > p.auth-eyebrow { margin-bottom: 8px; }
  .auth-body-signup .signup-panel .auth-head h1 { font-size: clamp(1.8rem, 2.8vw, 2.3rem); }
  .auth-body-signup .signup-panel .auth-head > p:not(.auth-eyebrow) { margin-top: 7px; font-size: .91rem; }
  .auth-body-signup .signup-panel .signup-stage-content { margin-top: clamp(12px, 2.5vh, 23px); }
  .auth-body-signup .signup-panel .auth-form-wide { gap: 12px; }
  .auth-body-signup .signup-panel .auth-step { gap: 10px; }
  .auth-body-signup .signup-panel .auth-field { gap: 5px; }
  .auth-body-signup .signup-panel .auth-input { min-height: 48px; }
  .auth-body-signup .signup-panel .auth-submit { min-height: 51px; }
  .auth-body-signup .signup-panel .auth-actions { margin-top: 5px; }
  .auth-body-signup .signup-panel .auth-switch { padding-top: 10px; }
  .signup-url-preview { padding: 12px 15px; }
  .signup-name-status { min-height: 65px; padding: 10px 14px; }
  .signup-otp-digit { height: 50px; }
  .signup-panel-step-4 .signup-legal-accept { padding: 8px 11px; }
  .signup-panel-step-5 .signup-next-block { padding: 16px; }
  .signup-panel-step-5 .signup-next-list { margin-top: 10px; gap: 7px; }
  .signup-panel-step-5 .signup-next-list li { padding: 8px; }
  .signup-panel-step-5 .signup-next-icon { width: 34px; height: 34px; }
  .signup-panel-step-5 .signup-next-block > .signup-next-note { margin-top: 9px; padding-top: 9px; }
}

@media (max-width: 980px) {
  .auth-body-signup .signup-panel { min-height: min(780px, calc(100svh - 36px)); }
}

@media (max-width: 620px) {
  /* O card acompanha o formulário; o espaço livre mostra a cena animada.
     Etapas longas seguem a rolagem normal da página. */
  .auth-body-signup .signup-panel { min-height: 0; }
  .auth-body-signup .signup-panel .auth-panel-inner { min-height: 0; }
}

/* A etapa do nome tem dois blocos informativos extras. Em monitor alto,
   retirar poucos pixels de respiro mantém a moldura de 780px idêntica. */
@media (min-width: 981px) and (min-height: 821px) {
  .auth-body-signup .signup-panel-step-1 .auth-topline { margin-bottom: 42px; }
  .auth-body-signup .signup-panel-step-1 .signup-stage-content { margin-top: 35px; }
}

/* A arte lateral do desktop ganha uma composição horizontal própria no mobile. */
.signup-mobile-story { display: none; }
@media (max-width: 980px) {
  .signup-mobile-story { display: block; height: clamp(100px, 19vw, 132px); overflow: hidden; background: #eeeaff; }
  .signup-mobile-story img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
}
@media (max-width: 620px) and (max-height: 680px) {
  .signup-mobile-story { height: 78px; }
}
