

.wm-mem-wrap {
    --wm-p: var(--fill); --wm-navy:var(--text);
    --wm-bg:var(--surface-2); --wm-card:var(--surface); --wm-border:var(--line-2); --wm-text:var(--text); --wm-sub:var(--text-2); --wm-muted:var(--muted);
    font-family:var(--kr); color:var(--wm-text);
    max-width:560px; margin:0 auto; padding:28px 16px 60px;
}
.wm-mem-wrap * { box-sizing:border-box; }

/* 프로필 카드 */
.wm-mem-profile { display:flex; align-items:center; gap:18px; background:var(--wm-card); border:1px solid var(--wm-border); border-radius:16px; padding:24px; margin-bottom:20px; }
.wm-mem-avatar { width:72px; height:72px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--wm-bg); border:1px solid var(--wm-border); }
.wm-mem-avatar-def { display:flex; align-items:center; justify-content:center; color:var(--wm-muted); }
.wm-mem-avatar-def svg { width:38px; height:38px; }
.wm-mem-pname { font-size:20px; font-weight:800; margin:0 0 6px; }
.wm-mem-grade { display:inline-block; font-size:12px; font-weight:700; color:var(--acc); background:var(--soft); padding:3px 12px; border-radius:20px; }
.wm-mem-reg { display:block; font-size:12px; color:var(--wm-muted); margin-top:6px; }

/* 세로 메뉴 (SNS 설정 스타일) */
.wm-mem-menu { background:var(--wm-card); border:1px solid var(--wm-border); border-radius:16px; overflow:hidden; }
.wm-mem-link { display:flex; align-items:center; gap:14px; padding:17px 20px; border-bottom:1px solid var(--wm-border); text-decoration:none; color:var(--wm-text); font-size:15px; font-weight:600; transition:background .12s; }
.wm-mem-link:last-child { border-bottom:none; }
.wm-mem-link:hover { background:var(--wm-bg); }
.wm-mem-link .ico { width:22px; height:22px; flex-shrink:0; color:var(--wm-sub); }
.wm-mem-link .ico svg { width:22px; height:22px; }
.wm-mem-link .arr { margin-left:auto; color:var(--wm-muted); }
.wm-mem-link.danger { color:var(--bad); }
.wm-mem-link.danger .ico { color:var(--bad); }
.wm-mem-link.is-active { background:var(--wm-bg); color:var(--acc); font-weight:800; }
.wm-mem-link.is-active .ico { color:var(--acc); }
.wm-mem-logout { display:block; text-align:center; margin-top:18px; font-size:13px; color:var(--wm-sub); text-decoration:none; }
.wm-mem-logout:hover { color:var(--acc); }

/* 카드/폼 */
.zzan-card-container, .find-account-box { max-width:480px; margin:0 auto; background:var(--wm-card); border:1px solid var(--wm-border); border-radius:16px; overflow:hidden; }
.find-account-box { padding:32px; }
.zzan-card-header { padding:22px 24px; border-bottom:1px solid var(--wm-border); }
.zzan-card-header h2 { margin:0; font-size:19px; font-weight:800; }
.zzan-card-body { padding:24px; }
.control-group { margin-bottom:18px; }
.control-label { display:block; font-size:14px; font-weight:600; margin-bottom:8px; }
.control-group input, .control-group select, .controls input, .controls select {
    width:100%; height:46px; padding:0 14px; border:1px solid var(--wm-border); border-radius:10px; font-size:15px; background:var(--wm-card); color:var(--wm-text); outline:none;
}
.control-group input:focus, .controls input:focus { border-color:var(--acc); box-shadow:0 0 0 3px var(--soft); }
.help-text { font-size:12px; color:var(--wm-muted); margin:6px 0 0; }
.control-group:has(.inputDate) { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.control-group:has(.inputDate) > label { width:100%; }
.control-group .inputDate { flex:1; min-width:160px; width:auto; }
.control-group input[type=button], .control-group button[type=button] { height:46px; padding:0 16px; border:1px solid var(--wm-border); border-radius:10px; background:var(--wm-bg); color:var(--wm-sub); font-size:14px; cursor:pointer; width:auto; }
.btnArea { display:flex; gap:8px; margin-top:24px; }
.btnArea.center { justify-content:center; }
.zm_btn { flex:1; display:inline-flex; align-items:center; justify-content:center; height:48px; border-radius:10px; border:1px solid var(--wm-border); background:var(--wm-card); color:var(--wm-text); font-size:15px; font-weight:700; cursor:pointer; text-decoration:none; }
.zm_btn:hover { background:var(--wm-bg); }
.zm_btn-primary { background:var(--wm-p); border-color:var(--acc); color:#fff; }
.zm_btn-primary:hover { background:var(--fill-h); }
.zm_btn-danger { background:var(--bad); border-color:var(--bad); color:#fff; }
.zm_btn-block { width:100%; }
.message { padding:12px 16px; border-radius:10px; margin-bottom:16px; font-size:14px; }
.message.error, .message.warning { background:var(--soft); color:var(--bad); }
.message.info { background:var(--soft); color:var(--acc); }

/* 로그인/가입 */
.wm-auth { max-width:400px; margin:30px auto; background:var(--wm-card); border:1px solid var(--wm-border); border-radius:16px; padding:36px 32px; }
.wm-auth h2 { text-align:center; font-size:26px; font-weight:800; margin:0 0 28px; letter-spacing:1px; }
.wm-auth .input-group { margin-bottom:14px; }
.wm-auth input[type=text], .wm-auth input[type=email], .wm-auth input[type=password], .wm-auth input[type=tel], .wm-auth input[type=date], .wm-auth input[type=number], .wm-auth select, .wm-auth .inputDate { width:100%; height:48px; padding:0 14px; border:1px solid var(--wm-border); border-radius:10px; font-size:15px; outline:none; background:var(--wm-card); }
.wm-auth input:focus, .wm-auth select:focus { border-color:var(--acc); box-shadow:0 0 0 3px var(--soft); }
.wm-auth .input-group:has(.inputDate) { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.wm-auth .input-group:has(.inputDate) > label { width:100%; }
.wm-auth .inputDate { flex:1; min-width:160px; }
.wm-auth .input-group input[type=button], .wm-auth .input-group button[type=button] { height:48px; padding:0 16px; border:1px solid var(--wm-border); border-radius:10px; background:var(--wm-bg); color:var(--wm-sub); font-size:14px; cursor:pointer; width:auto; }
.wm-auth .zm_btn-login { width:100%; height:50px; background:var(--wm-p); color:#fff; border:none; border-radius:10px; font-size:16px; font-weight:800; cursor:pointer; margin-top:10px; }
.wm-auth .zm_btn-login:hover { background:var(--fill-h); }
.wm-auth .login-links { margin-top:22px; text-align:center; font-size:13px; color:var(--wm-sub); }
.wm-auth .login-links a { color:var(--wm-sub); text-decoration:none; }
.wm-auth .login-links a:hover { color:var(--acc); }
.wm-auth .login-links .divider { margin:0 8px; opacity:.4; }
.wm-auth label.chk { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--wm-sub); margin:6px 0 4px; cursor:pointer; }
.wm-auth .agreement-group { border:1px solid var(--wm-border); border-radius:10px; padding:14px; margin-bottom:12px; font-size:13px; }
.wm-auth .agreement-content { max-height:120px; overflow:auto; color:var(--wm-sub); margin:8px 0; font-size:12px; line-height:1.6; }
.wm-pagetitle { text-align:center; font-size:13px; color:var(--wm-muted); margin:0 auto 18px; max-width:480px; }
.profile-image-wrap img { width:90px; height:90px; border-radius:50%; object-fit:cover; border:1px solid var(--wm-border); }
.wm-sns-notice { max-width:480px; margin:0 auto 18px; background:var(--soft); border:1px solid var(--line-2); border-radius:14px; padding:18px 20px; }
.wm-sns-notice strong { display:block; color:var(--acc); font-size:15px; font-weight:800; margin-bottom:6px; }
.wm-sns-notice p { margin:0 0 12px; font-size:13px; color:var(--wm-sub); line-height:1.6; word-break:keep-all; }
.wm-sns-notice .zm_btn { display:inline-flex; width:auto; height:40px; padding:0 18px; }


.wm-auth .zm_btn-login:hover,.zm_btn-primary:hover{background:var(--fill-h);border-color:var(--fill-h)}
.wm-auth input,.wm-auth select,.wm-auth textarea{background:var(--surface-2);color:var(--text);border-color:var(--line-2)}
.wm-auth input::placeholder{color:var(--muted);opacity:1}
.wm-auth .agreement-content{color:var(--text-2)}
.wm-mem-wrap{padding-top:40px}
.wm-auth .agreement-content h1,.wm-auth .agreement-content h2,.wm-auth .agreement-content h3{font-size:15px;margin:14px 0 6px;color:var(--text)}
