/* 회원 화면(/join/ /login/ /account/) 전용 모양. 공통 모양(머리글·바닥글·.field·.btn-submit)은 templates/page.html 의 것을 그대로 쓴다. */
.page-body.mb-body{padding-top:56px}
.page-body .wrap > .mb-card,.page-body .wrap > .mb-note{max-width:560px}
.mb-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px;margin-bottom:24px}
.page-body .mb-card h2{font-size:20px;line-height:1.45;margin:0 0 8px;padding-top:0;color:var(--green-900)}
.page-body .mb-card h2::before{display:none}
.page-body .mb-card p{font-size:15px;line-height:1.75;margin-bottom:14px;color:var(--ink-soft)}
.page-body .mb-card p.mb-lead{color:var(--ink);margin-bottom:22px}
.mb-card .field input{font-size:16px}
.mb-hint{font-size:12.5px;color:var(--ink-mute);margin-top:6px;line-height:1.6}
.mb-card .field .err{display:none}
.mb-msg{display:none;padding:12px 14px;border-radius:4px;font-size:14px;line-height:1.6;margin:0 0 16px}
.mb-msg:not(:empty){display:block}
.mb-msg.is-err{background:#FBEDED;color:#8E2A2A}
.mb-msg.is-ok{background:var(--sage-light);color:var(--green-900)}
/* 동의 */
.mb-agree{margin:20px 0 22px;padding:16px;background:var(--bg-soft);border-radius:4px}
.mb-agree-row + .mb-agree-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.mb-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;color:var(--ink);cursor:pointer}
.mb-check input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--green)}
.mb-check b{color:var(--green-900);font-weight:700}
.mb-agree details{margin:8px 0 0 28px;font-size:13px;color:var(--ink-soft)}
.mb-agree summary{cursor:pointer;color:var(--green);font-weight:600;width:max-content}
.mb-agree dl{margin:10px 0 6px;display:grid;grid-template-columns:72px 1fr;gap:6px 10px;line-height:1.6}
.mb-agree dt{font-weight:700;color:var(--ink)}
.mb-agree dd{margin:0}
.page-body .mb-agree a,.page-body .mb-links a{color:var(--green);border-bottom:1px solid rgba(201,169,97,.6)}
.page-body .mb-agree p{font-size:13px;line-height:1.6;margin:8px 0 0;color:var(--ink-soft)}
.page-body .mb-agree p.mb-link{margin:6px 0 0 28px}
.page-body .mb-agree details p{margin:6px 0 4px}
/* 간편 로그인 단추 — 각 회사 안내에 맞춘 색 */
.mb-social{display:grid;gap:10px}
.page-body a.mb-sbtn,.mb-sbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:10px 16px;border-radius:6px;font-size:15px;font-weight:700;line-height:1.3;border:1px solid transparent;text-decoration:none;transition:filter .15s}
.page-body a.mb-sbtn:hover{filter:brightness(.97)}
.mb-sbtn svg{flex:0 0 auto;width:20px;height:20px}
.page-body a.mb-google{background:#fff;color:#1F1F1F;border-color:#DADCE0}
.page-body a.mb-kakao{background:#FEE500;color:rgba(0,0,0,.85);border-color:#FEE500}
.page-body a.mb-naver{background:#03C75A;color:#fff;border-color:#03C75A}
.mb-sbtn[hidden]{display:none}
.mb-or{display:flex;align-items:center;gap:12px;margin:26px 0 20px;font-size:13px;font-weight:600;color:var(--ink-mute)}
.mb-or::before,.mb-or::after{content:"";flex:1 1 auto;height:1px;background:var(--line)}
.page-body .mb-links{margin-top:20px;font-size:14px;color:var(--ink-soft)}
.page-body .mb-links p{font-size:14px;margin-bottom:8px}
/* 단추 */
.mb-card .btn-submit:disabled{opacity:.6;cursor:default}
.mb-btn-line,.mb-btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border-radius:4px;font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;background:#fff;transition:background .2s,color .2s}
.mb-btn-line{border:1px solid var(--green);color:var(--green)}
.mb-btn-line:hover{background:var(--green);color:#fff}
.mb-btn-danger{border:1px solid #B23A3A;color:#B23A3A}
.mb-btn-danger:hover{background:#B23A3A;color:#fff}
.mb-btn-danger:disabled,.mb-btn-line:disabled{opacity:.6;cursor:default}
/* 내 정보 */
.mb-info{display:grid;grid-template-columns:96px 1fr;gap:10px 14px;margin:6px 0 0;font-size:15px;line-height:1.6}
.mb-info dt{color:var(--ink-mute);font-weight:600}
.mb-info dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.mb-loading{font-size:15px;color:var(--ink-mute)}
[hidden]{display:none !important}
@media(max-width:520px){
.page-body.mb-body{padding-top:36px}
.mb-card{padding:24px 20px}
.mb-info{grid-template-columns:80px 1fr}
.mb-agree{padding:14px}
.mb-agree details,.mb-agree .mb-link{margin-left:28px}
}
/* 회원 쪽은 머리글과 카드를 가운데로(10-31 대표님). 카드 안의 입력 칸은 읽기 쉽게 왼쪽 정렬 그대로 */
.page-hero.mb-hero{text-align:center}
.page-hero.mb-hero::after{display:none}
.page-hero.mb-hero .wrap > *{margin-left:auto;margin-right:auto}
.page-body.mb-body .wrap > *{max-width:560px;margin-left:auto;margin-right:auto}
