.member-auth-popup.swal2-popup {
    width: min(460px, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - 24px);
    padding: 24px;
    border-radius: 8px !important;
    overflow-y: auto;
    text-align: left;
}
.member-auth-popup .swal2-title { padding: 0 32px 18px 0; text-align: left; }
.member-auth-popup .swal2-html-container { margin: 0; overflow: visible; text-align: left; }
.member-auth-popup .swal2-close { width: 40px; height: 40px; }
.member-auth-popup .auth-tabs { margin-bottom: 20px !important; }
.member-auth-popup .auth-tab { min-height: 44px; font-size: 14px; }
.member-auth-popup .auth-section-title { margin: 0 0 14px; color: #17212b; font-size: 13px; font-weight: 700; }
.member-auth-popup .auth-section-divider { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e2e8f0; }
.member-auth-popup .auth-row { margin-bottom: 14px; }
.member-auth-popup .auth-label { margin: 0; color: #334155; font-size: 13px; }
.member-auth-popup .auth-input {
    min-width: 0;
    height: 44px;
    border-radius: 6px;
    padding: 10px 12px;
    line-height: 22px;
    font-size: 14px;
}
.member-auth-popup .auth-hint { margin: 6px 0 0; color: #64748b; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.member-auth-popup .auth-captcha { gap: 8px; }
.member-auth-popup .auth-captcha .auth-input { flex: 1; width: 0; }
.member-auth-popup .auth-captcha-refresh {
    flex: 0 0 120px;
    width: 120px;
    height: 44px;
    margin-top: 6px;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
    overflow: hidden;
    cursor: pointer;
}
.member-auth-popup .auth-captcha-refresh img { display: block; width: 100%; height: 100%; border: 0; border-radius: 0; object-fit: contain; }
.member-auth-popup .auth-captcha-refresh[aria-busy="true"] { opacity: .5; }
.member-auth-popup .auth-btn { min-height: 44px; border-radius: 6px; font-size: 14px; }
.member-auth-popup .auth-btn-reg, .member-auth-popup .auth-btn-login { background: #2563eb; }
.member-auth-popup .auth-code-button {
    flex: 0 0 120px;
    width: 120px;
    margin-top: 6px;
    padding: 10px 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    white-space: nowrap;
}
.member-auth-popup .auth-code-status { color: #047857; }
.member-auth-popup .auth-submit-area { padding-top: 4px; }
.member-auth-popup #reg-msg { margin: 0 0 10px; font-size: 13px; }
.member-auth-popup .auth-eye { min-width: 32px; min-height: 32px; border-radius: 4px; }
.member-auth-popup button:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
@media (max-width: 480px) {
    .member-auth-popup.swal2-popup { padding: 20px 16px; }
    .member-auth-popup .auth-input { font-size: 16px; }
    .member-auth-popup .auth-row { margin-bottom: 12px; }
}
