/* Registration overrides stay inside the signup page. */
.signup-wrapper *, .signup-wrapper *::before, .signup-wrapper *::after { box-sizing: border-box; }
.signup-wrapper .signup-card-full, .signup-wrapper .signup-form-section,
.signup-wrapper .signup-submit-area, .signup-wrapper .signup-upload-box,
.signup-wrapper .signup-email-verification { min-width: 0; max-width: 100%; }
.signup-wrapper .signup-field-group, .signup-wrapper .signup-help-text,
.signup-wrapper .signup-alert, .signup-wrapper .signup-step-error,
.signup-wrapper .signup-upload-box, .signup-wrapper .signup-authenticity-note,
.signup-wrapper .signup-login-prompt, .signup-wrapper .terms-row { overflow-wrap: anywhere; }
.signup-wrapper .signup-input { min-width: 0; max-width: 100%; }
.signup-wrapper .signup-section-title { line-height: 1.4; }
.signup-wrapper .signup-section-title i, .signup-wrapper .signup-authenticity-note i { flex-shrink: 0; }
.signup-wrapper .signup-email-verification { grid-column: 1 / -1; padding: 16px; border: 1px solid #d9dff2; border-radius: 8px; background: #f8f9ff; }
.signup-wrapper .signup-email-verification h3 { margin: 0 0 8px; color: #20263a; font-size: .94rem; font-weight: 800; }
.signup-wrapper .signup-email-verification .signup-help-text { margin: 0 0 12px; line-height: 1.6; }
.signup-wrapper .signup-code-btn, .signup-wrapper .signup-help-close { min-height: 44px; max-width: 100%; padding: 10px 14px; border: 1px solid #11129a; border-radius: 8px; background: #11129a; color: #fff; font: inherit; font-size: .85rem; font-weight: 700; line-height: 1.4; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.signup-wrapper .signup-code-btn:disabled, .signup-wrapper .btn-login:disabled { cursor: default; opacity: .6; }
.signup-wrapper .signup-code-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; margin-top: 16px; }
.signup-wrapper .signup-code-entry > button { margin-top: 28px; }
.signup-wrapper .signup-code-entry .signup-input { font-size: 16px; letter-spacing: .12em; }
.signup-wrapper .signup-code-entry .signup-help-text { margin-top: 8px; }
.signup-wrapper .signup-email-verification .signup-resend-countdown { margin-top: 12px; }
.signup-wrapper .signup-verification-message, .signup-wrapper .signup-verified-email { margin: 12px 0 0; font-size: .85rem; line-height: 1.6; overflow-wrap: anywhere; }
.signup-wrapper .signup-verified-email i { margin-right: 4px; }
.signup-wrapper .signup-info-icon { width: 44px; height: 44px; min-width: 44px; padding: 0; border: 1px solid #d9dff2; cursor: pointer; font: inherit; }
.signup-wrapper button:focus-visible, .signup-wrapper a:focus-visible { outline: 3px solid #b1161d; outline-offset: 3px; }
.signup-wrapper .signup-upload-title { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.signup-wrapper .signup-upload-box label { min-width: 0; min-height: 44px; width: 100%; white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
.signup-wrapper .signup-upload-box:focus-within { outline: 3px solid #11129a; outline-offset: 3px; }
.signup-wrapper .upload-preview-img { display: block; max-width: 100%; width: 100%; object-fit: contain; }
.signup-wrapper .signup-upload-help { width: 100%; min-width: 0; padding: 14px; border: 1px solid #d9dff2; border-radius: 8px; background: #fff; text-align: left; font-size: .8rem; line-height: 1.6; color: #4f586c; }
.signup-wrapper .signup-upload-help strong { color: #20263a; }
.signup-wrapper .signup-upload-help p { margin: 10px 0; color: #4f586c; font-weight: 500; }
.signup-wrapper .signup-help-close { margin-top: 4px; background: #fff; color: #11129a; }
.signup-wrapper .terms-row > span { min-width: 0; }
.signup-wrapper .terms-row a { display: inline-block; max-width: 100%; vertical-align: top; }
.signup-wrapper .signup-step-nav > button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; min-height: 44px; }
.signup-wrapper .signup-submit-btn { margin-top: 0; }
@media (max-width: 980px) {
    .signup-wrapper .brand-panel-fixed { min-height: 0; height: auto; padding: 24px 28px; gap: 22px; }
    .signup-wrapper .signup-brand-content { max-width: 100%; }
    .signup-wrapper .brand-panel-fixed h1 { font-size: 2.25rem; line-height: 1.08; }
    .signup-wrapper .brand-panel-fixed p { max-width: 580px; font-size: .95rem; }
    .signup-wrapper .signup-accent { margin: 16px 0; }
    .signup-wrapper .signup-step-sidebar-list { display: none; }
}
@media (max-width: 640px) {
    .signup-wrapper .brand-panel-fixed { padding: 22px 18px; gap: 18px; }
    .signup-wrapper .brand-panel-fixed h1 { font-size: 1.9rem; }
    .signup-wrapper .brand-panel-fixed::before, .signup-wrapper .brand-panel-fixed::after { display: none; }
    .signup-wrapper .form-panel-scroll { padding: 24px 14px; }
    .signup-wrapper .signup-form-section { padding: 16px; }
    .signup-wrapper .signup-submit-area, .signup-wrapper .signup-email-verification { padding: 14px; }
    .signup-wrapper .signup-grid-2 { grid-template-columns: minmax(0, 1fr); }
    .signup-wrapper .signup-input { font-size: 16px; }
    .signup-wrapper .signup-upload-box { padding: 16px; }
    .signup-wrapper .signup-step-nav { flex-direction: column; align-items: stretch; gap: 12px; }
    .signup-wrapper .signup-step-nav > button { width: 100%; min-width: 0; justify-content: center; }
    .signup-wrapper .signup-code-entry { grid-template-columns: minmax(0, 1fr); }
    .signup-wrapper .signup-code-entry > button { margin-top: 0; }
    .signup-wrapper .signup-code-btn { width: 100%; }
    .signup-wrapper .signup-section-title { font-size: .93rem; }
    .signup-wrapper .signup-section-title i { width: 30px; height: 30px; }
}
@media (max-width: 360px) {
    .signup-wrapper .form-panel-scroll { padding-right: 10px; padding-left: 10px; }
    .signup-wrapper .signup-form-section, .signup-wrapper .signup-upload-box { padding: 14px; }
    .signup-wrapper .signup-submit-area, .signup-wrapper .signup-email-verification { padding: 12px; }
}

/* Keep the Back label intact at every registration step. */
.signup-wrapper .signup-step-nav > .signup-back-step-btn {
    display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center;
    gap: .5rem; min-width: 6rem; padding: .7rem 1rem; white-space: nowrap; overflow-wrap: normal; word-break: normal;
}
.signup-wrapper .signup-back-step-btn > i { flex: 0 0 auto; }
