#authModalOverlay .auth-modal{width:min(440px,calc(100vw - 28px));max-height:90vh;overflow-y:auto;border-radius:10px}
#authModalOverlay .auth-modal-header{padding:21px 24px 14px}
#authModalOverlay .auth-modal-title{font-size:21px;letter-spacing:-.5px}
#authModalOverlay .auth-modal-body{padding:0 24px 24px}
.quick-auth-intro{font-size:13px;color:#666;margin:0 0 20px;line-height:1.7}
.social-signin-list{display:grid;gap:9px}
.social-signin{width:100%;min-height:46px;border:1px solid transparent;border-radius:5px;display:flex;align-items:center;gap:12px;padding:10px 14px;font:500 14px 'Noto Sans KR',sans-serif;text-align:left;cursor:pointer}
.social-signin:disabled{cursor:default;opacity:1}
#quickAuthPanel[aria-busy="true"] .social-signin,#quickAuthPanel[aria-busy="true"] #sendSigninLink{cursor:progress}
.social-signin[aria-busy="true"] small{border:0;padding:0;font-size:11px}
.social-signin[aria-busy="true"] small::before{content:"";display:inline-block;width:10px;height:10px;margin-right:5px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-1px;animation:auth-loading-spin .8s linear infinite}
@keyframes auth-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.social-signin[aria-busy="true"] small::before{animation:none}}
.social-signin small{font-size:10px;font-weight:400;margin-left:auto;border:1px solid currentColor;border-radius:3px;padding:1px 4px;white-space:nowrap}
.social-signin i{width:20px;font-style:normal;font-size:18px;font-weight:700;text-align:center}
.social-signin.kakao{background:#fee500;color:#191919}
.social-signin.naver{background:#03c75a;color:#fff}
.social-signin.google{background:#fff;color:#333;border-color:#dadce0}
.social-signin.google i{color:#4285f4}
.quick-auth-note{font-size:11px;color:#777;line-height:1.6;margin:10px 0 16px}
.auth-divider{display:flex;gap:12px;align-items:center;color:#999;font-size:11px;margin:18px 0}
.auth-divider:before,.auth-divider:after{content:'';flex:1;height:1px;background:#e7e7e7}
.quick-email-form label{display:block;font-size:13px;font-weight:500;margin-bottom:7px}
.quick-email-form input{width:100%;min-height:46px;border:1px solid #ccc;border-radius:5px;padding:11px 12px;font:14px 'Noto Sans KR',sans-serif;box-sizing:border-box}
.quick-email-form input:focus{outline:2px solid #c6ddff;border-color:#0d6efd;outline-offset:1px}
.quick-email-form .write-btn{width:100%;min-height:44px;margin-top:10px;font-size:14px}
.member-email-code[hidden]{display:none}
.member-email-code{margin-top:14px;display:grid;gap:8px}
.member-email-code label{font-size:12px;color:#544867}
.member-email-code input{min-height:40px;padding:8px 10px;border:1px solid #c9bedb;border-radius:5px;font:16px 'Noto Sans KR',sans-serif;letter-spacing:.16em}
.quick-auth-status{font-size:12px;line-height:1.7;color:#245596;margin:12px 0;overflow-wrap:anywhere}
.quick-auth-status:empty{display:none}
#retryAuthSession{min-height:36px;padding:7px 12px;border:1px solid #cec2e5;border-radius:5px;background:#f8f6fc;color:var(--color-link,#7050aa);font-family:inherit;font-size:13px;font-weight:600;text-decoration:none}
#retryAuthSession:not([hidden]){display:inline-flex;align-items:center;justify-content:center}
#retryAuthSession:hover{background:#efebf7}
#retryAuthSession:focus-visible{outline:2px solid #7050aa;outline-offset:3px}
@media(max-width:600px){#retryAuthSession{min-height:40px}}
.auth-alternatives{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;margin-top:22px;border-top:1px solid #eee;padding-top:17px}
.auth-alternatives button,#backToQuickAuth{border:0;background:none;color:#666;cursor:pointer;font:12px 'Noto Sans KR',sans-serif;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
#backToQuickAuth{margin-bottom:15px}
#accountNotice{font-size:12px;color:#a03920;line-height:1.6}
@media(max-width:500px){#authModalOverlay .auth-modal-body{padding:0 18px 20px}#authModalOverlay .auth-modal-header{padding:18px}#authModalOverlay input{font-size:16px}}

.member-type-fieldset{border:0;padding:0;margin:16px 0 20px;min-width:0}
.member-type-fieldset legend{font-size:13px;font-weight:700;margin-bottom:10px}
.member-type-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.member-type-choices label{position:relative;cursor:pointer;min-width:0}
.member-type-choices input{position:absolute;opacity:0;width:1px;height:1px}
.member-type-choices span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:6px;border:1px solid #d3dbe4;border-radius:5px;font-size:12px;line-height:1.5;text-align:center;box-sizing:border-box;color:#425168;background:#fff}
.member-type-choices input:checked+span{border-color:#185ca8;background:#edf5ff;color:#185ca8;font-weight:700}
.member-type-choices input:focus-visible+span{outline:2px solid #185ca8;outline-offset:2px}
.member-type-choices input:disabled+span{opacity:.6;cursor:wait}
.member-type-choices [data-requires-verification=true] span,#openExpertVerification{background:#edf5ff;border-color:#c8dbee;color:#284867}
.member-type-choices [data-requires-verification=true] input:checked+span{background:#dcecff;border-color:#185ca8;color:#185ca8;font-weight:700}
.member-type-choices [data-member-verification-group=practitioner] span{background:#f0f6f2;border-color:#cfdfd3;color:#42634d}
.member-type-choices [data-member-verification-group=practitioner] input:checked+span{background:#e3efe7;border-color:#438360;color:#326b46}
.member-type-choices input[value=general]+span,.member-type-choices input[value=general]:checked+span,.member-type-choices input[value=practitioner]+span,.member-type-choices input[value=practitioner]:checked+span{background:#fff}
.member-type-choices input[value=practitioner]:not(:checked)+span{border-color:#d3dbe4;color:#425168}
#memberInfoForm>label{display:block;margin:18px 0 8px;font-size:13px}
#memberNickname{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccd4de;border-radius:4px;font-size:14px}
#memberInfoStatus{font-size:13px;line-height:1.7}
.member-category-label{display:block;font-size:12px;color:#687281;margin:5px 0}
.account-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 10px;margin-top:10px;font-size:11px}
.private-email{padding:14px 16px;background:#f4f1fa;border:1px solid #e4deef;border-radius:7px;margin:12px 0 20px;overflow-wrap:anywhere}
.private-email>span{display:flex;align-items:center;gap:8px;font-size:12px;color:#746a83;margin-bottom:7px}
.private-email small{font-size:10px;padding:2px 7px;background:#e9e3f2;border-radius:4px;color:#6a547f}
.private-email strong{font-size:14px;font-weight:500;color:#342e40}
.onboarding-dialog{width:min(480px,calc(100vw - 32px));box-sizing:border-box;max-height:90dvh;overflow:auto;border-color:#e4deef}
.onboarding-dialog h2{font-size:20px;line-height:1.5}
.onboarding-intro{font-size:13px;color:#756e80;line-height:1.7}
.onboarding-types{grid-template-columns:repeat(2,minmax(0,1fr))}
#onboardingForm label[for]{display:block;font-size:13px;margin:16px 0 8px}
#onboardingNickname,#onboardingProfession{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d0c5e1;border-radius:5px;background:#fff;font:inherit;font-size:14px;color:#342e40}
#onboardingStatus{font-size:13px;line-height:1.7;color:#654886}
#saveOnboarding{width:100%;min-height:44px;margin-top:12px;background:#ddd4ed;border:1px solid #9a83b7;color:#493164}
#onboardingLater{display:block;width:100%;margin-top:15px;border:0;background:none;color:#726080;text-decoration:underline;font-size:12px;cursor:pointer;padding:8px}
#onboardingLater[hidden],#onboardingProFields[hidden]{display:none}
@media(max-width:500px){#memberNickname,#onboardingNickname,#onboardingProfession{font-size:16px}.onboarding-dialog h2{font-size:18px}}

.site-guide-header .profile-close{flex:0 0 36px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#746a83;font-size:26px;line-height:1;cursor:pointer;border-radius:5px}
.site-guide-header .profile-close:hover{background:#eee9f5}
.site-guide-header .profile-close:focus-visible{outline:2px solid #705995;outline-offset:2px}

#memberEmailRegistration[hidden]{display:none}
#memberEmailInput{width:100%;box-sizing:border-box;min-height:42px;padding:9px 11px;margin:8px 0;border:1px solid #d0c5e1;border-radius:5px;background:#fff;font:inherit}
#verifyMemberEmail,#refreshMemberEmail{padding:9px 12px;border:1px solid #b7adc7;border-radius:4px;background:#e9e3f2;color:#594577;cursor:pointer}
#memberEmailStatus{font-size:12px;line-height:1.6;color:#594577}

.nickname-entry{display:flex;align-items:stretch;gap:8px}.nickname-entry input{min-width:0;flex:1}.nickname-entry button{flex:0 0 auto;border:1px solid #b7adc7;border-radius:5px;background:#e9e3f2;color:#594577;padding:10px 14px;cursor:pointer}.nickname-entry button:disabled{opacity:.6;cursor:wait}.nickname-availability{font-size:12px;line-height:1.6;color:#705995;margin:7px 0 12px}.nickname-availability:empty{display:none}.nickname-availability[data-available=false]{color:#a33953}

.member-verification-entry{margin-top:20px;padding-top:16px;border-top:1px solid #e4deef}.member-verification-entry .member-verification-status{display:block;margin-top:8px}.member-verification-entry .member-verification-status:empty{display:none}

.member-history-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.member-history-links button,.member-history-links a{font:inherit;font-size:13px;padding:8px 12px;border:1px solid #ded5e9;border-radius:6px;background:#f6f2fa;color:#685187;text-decoration:none;cursor:pointer}

.portal-email-registration :is(.social-signin-list,.auth-divider,.quick-auth-intro,#usePasswordLogin){display:none}

#changeSigninEmail{margin-top:12px;border:0;background:transparent;color:#685187;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:8px 0}
#changeSigninEmail[hidden]{display:none}

/* A successful dispatch has only its confirmation and destination address. */
#quickAuthPanel.login-link-sent{display:flex;flex-direction:column;gap:18px;padding:8px 0 4px}
#quickAuthPanel.login-link-sent>:not(#quickAuthStatus):not(#quickEmailForm){display:none}
#quickAuthPanel.login-link-sent #quickAuthStatus{order:0;margin:0;border:0;padding:0;white-space:pre-line;font-size:14px;line-height:1.8;color:#45404d}
#quickAuthPanel.login-link-sent #quickEmailForm{order:1;margin:0}
#quickAuthPanel.login-link-sent #quickEmailForm>:not(#quickEmail){display:none}
#quickAuthPanel.login-link-sent #quickEmail{background:#faf9fc;color:#45404d;cursor:text}
