.member-guest-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.member-guest-login, .member-guest-register { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 13px; border:1px solid #dce2f2; border-radius:12px; color:#4055ad; background:#fff; font-size:13px; font-weight:700; white-space:nowrap; text-decoration:none; }
.member-guest-register { border-color:#edf0ff; background:#edf0ff; }
.member-guest-summary { padding:20px 16px 10px; color:#28324c; }
.member-guest-summary strong { font-size:17px; }
.member-guest-summary p { margin:6px 0 0; color:#61708c; font-size:13px; line-height:1.6; }
.member-guest-mobile-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:8px 16px 16px; }
.main-header .mobile-menu-btn { width:44px; height:44px; }
.member-login-dialog, .member-login-dialog * { box-sizing:border-box; }
.member-login-dialog { width:min(440px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); margin:auto; padding:0; border:1px solid #e5e9f5; border-radius:24px; background:#fff; color:#28324c; box-shadow:0 24px 80px rgba(28,42,78,.24); overflow:auto; overscroll-behavior:contain; font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif; }
.member-login-dialog::backdrop { background:rgba(26,35,58,.5); backdrop-filter:blur(3px); }
.member-login-shell { position:relative; min-width:0; padding:34px 32px 26px; }
.member-login-close { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:44px; height:44px; padding:8px; border:0; border-radius:50%; background:#f3f5fc; color:#52617e; font:inherit; font-size:24px; line-height:1; cursor:pointer; }
.member-login-close svg { width:20px; height:20px; }
.member-login-heading { padding-right:34px; margin-bottom:24px; }
.member-login-eyebrow { margin:0 0 8px; color:#586cc0; font-size:12px; font-weight:700; letter-spacing:.05em; }
.member-login-heading h2 { margin:0; font-size:26px; font-weight:800; line-height:1.35; letter-spacing:-.7px; }
.member-login-description { margin:10px 0 0; color:#61708c; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.member-login-form { margin:0; }
.member-login-field { display:grid; gap:7px; min-width:0; margin:0 0 16px; }
.member-login-label { color:#35435f; font-size:14px; font-weight:700; line-height:1.5; }
.member-login-input { display:block; width:100%; min-width:0; min-height:48px; padding:12px 14px; border:1px solid #cfd8eb; border-radius:12px; background:#fff; color:#28324c; font:inherit; font-size:16px; line-height:1.4; }
.member-login-input::placeholder { color:#7b879d; }
.member-login-password-wrap { position:relative; min-width:0; }
.member-login-password-wrap .member-login-input { padding-right:66px; }
.member-login-password-toggle { position:absolute; top:2px; right:3px; min-width:52px; min-height:44px; padding:8px; border:0; border-radius:9px; background:transparent; color:#4b5fae; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.member-login-options { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 8px; margin:-4px 0 10px; }
.member-login-remember { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#53617c; font-size:13px; cursor:pointer; }
.member-login-remember input { width:20px; height:20px; margin:0; accent-color:#576ee5; }
.member-login-recovery { display:inline-flex; align-items:center; min-height:44px; color:#4b5fae; font-size:13px; text-decoration:none; }
.member-login-feedback { margin:0 0 14px; color:#a83955; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.member-login-feedback:empty { display:none; }
.member-login-submit { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:12px 18px; border:0; border-radius:12px; background:#5369d5; color:#fff; font:inherit; font-size:16px; font-weight:700; cursor:pointer; }
.member-login-submit:hover { background:#4257be; }
.member-login-submit:disabled { opacity:.7; cursor:wait; }
.member-login-join { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0 8px; margin:14px 0 4px; color:#61708c; font-size:13px; }
.member-login-join p { margin:0; }
.member-login-join-link { display:inline-flex; align-items:center; min-height:44px; color:#465bb5; font-weight:700; text-decoration:none; }
.member-login-expert { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:4px; border-top:1px solid #e7ebf5; padding:12px 0 0; color:#61708c; font-size:13px; text-decoration:none; }
.member-login-dialog button:focus-visible, .member-login-dialog a:focus-visible, .member-login-input:focus-visible, .member-login-remember input:focus-visible, .member-guest-login:focus-visible, .member-guest-register:focus-visible { outline:3px solid #8798e5; outline-offset:3px; }
@media (max-width:480px) {
    .member-guest-actions > .member-guest-register { display:none; }
    .member-guest-login { padding:9px 11px; }
    .member-login-shell { padding:30px 20px 20px; }
    .member-login-heading h2 { font-size:24px; }
    .member-login-heading { margin-bottom:20px; }
}
@media (max-height:560px) {
    .member-login-dialog { max-height:calc(100vh - 16px); max-height:calc(100dvh - 16px); }
    .member-login-shell { padding-top:24px; padding-bottom:18px; }
    .member-login-heading { margin-bottom:16px; }
    .member-login-field { margin-bottom:12px; }
}
