/* 보호자 계정 — 로그인·회원가입·계정 관리 (js/account.js) */
.v2.acc-wrap { max-width: 560px; margin: 0 auto; padding: 4px 4px 60px; }
.acc-card { padding: 34px 34px 28px; border-radius: 28px; background: #fff; border: 1px solid var(--v2-line); box-shadow: 0 10px 40px rgba(47,66,49,.05); }
.acc-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 26px; }
.acc-logo { width: 52px; height: 52px; border-radius: 16px; overflow: hidden; background: #e0e8d8; flex: 0 0 auto; }
.acc-logo img { width: 100%; height: 100%; object-fit: cover; }
.acc-head h1 { font-size: 28px; margin-top: 2px; }
.acc-head p { font-size: 14.5px; color: var(--v2-muted); line-height: 1.75; margin-top: 6px; }

.acc-social { display: grid; gap: 10px; }
.acc-sbtn { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 18px; border-radius: 14px; font: 800 15.5px var(--v2-font); border: 1px solid transparent; cursor: pointer; }
.acc-sbtn svg { position: absolute; left: 18px; }
.acc-sbtn.kakao { background: #FEE500; color: rgba(0,0,0,.85); }
.acc-sbtn.google { background: #fff; color: #1f1f1f; border-color: #dadce0; }
.acc-sbtn.naver { background: #03C75A; color: #fff; }
.acc-sbtn.apple { background: #000; color: #fff; }
.acc-sbtn:disabled { opacity: .45; cursor: not-allowed; }
.acc-sbtn em { position: absolute; right: 14px; font-style: normal; font-size: 11.5px; font-weight: 800; padding: 2px 8px; border-radius: 99px; background: rgba(255,255,255,.85); color: #5a5a5a; }
.acc-sbtn.google em { background: #f1f3f4; }
.acc-or { display: flex; align-items: center; gap: 12px; margin: 22px 0 16px; color: var(--v2-muted); font-size: 13px; }
.acc-or::before, .acc-or::after { content: ""; flex: 1; height: 1px; background: var(--v2-line); }
.acc-field { display: grid; gap: 7px; margin-bottom: 14px; font-size: 14.5px; font-weight: 800; color: var(--v2-ink); }
.acc-field small { font-weight: 600; color: var(--v2-muted); font-size: 12.5px; }
.acc-field input { min-height: 50px; font-size: 16px; border: 1px solid #b5c1b4; border-radius: 14px; padding: 12px 14px; background: #fff; }
.acc-field input:focus { outline: 3px solid #b9cdb0; outline-offset: 1px; border-color: var(--v2-brand); }
.acc-err { margin: 4px 0 12px; padding: 12px 14px; border-radius: 12px; background: #fbf1ee; color: #8c443b; font-size: 14px; font-weight: 700; }
.acc-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin-top: 14px; }
.acc-note { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; line-height: 1.8; color: var(--v2-muted); margin-top: 10px; }
.acc-consent { margin: 6px 0 16px; padding: 14px 16px; border-radius: 16px; background: #f7f8f3; border: 1px solid var(--v2-line); display: grid; gap: 6px; }
.acc-consent legend { font-size: 14px; padding: 0 4px; }
.acc-consent label { display: flex; align-items: center; gap: 10px; min-height: 40px; font-size: 14px; }
.acc-consent label input, .acc-check input { width: 20px; height: 20px; min-height: 0; accent-color: var(--v2-brand); flex: 0 0 auto; }
.acc-consent .acc-all { padding-bottom: 8px; border-bottom: 1px solid var(--v2-line); }
.acc-consent .text-button { min-height: 32px; margin-left: auto; }
.acc-check { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; margin-bottom: 10px; }
.acc-warn { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 16px; margin-bottom: 18px; border-radius: 14px; background: var(--v2-butter); color: var(--v2-butter-ink); font-size: 14px; }
.acc-warn span { flex: 1 1 200px; }
.acc-warn em { font-style: normal; font-size: 12.5px; font-weight: 800; }
.acc-sec { padding: 22px 0; border-top: 1px solid var(--v2-line); }
.acc-sec:first-of-type { border-top: 0; padding-top: 4px; }
.acc-sec h2 { font-size: 18px; margin-bottom: 14px; }
.acc-sec.danger h2 { color: #8c443b; }
.acc-ids { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.acc-ids li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: #f9faf6; border: 1px solid #edf0e7; }
.acc-ids li > div { flex: 1; min-width: 0; }
.acc-ids b { display: block; font-size: 14.5px; }
.acc-ids small { display: block; font-size: 12.5px; color: var(--v2-muted); overflow-wrap: anywhere; }
.acc-id-ic { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #eef2e6; color: var(--v2-brand); flex: 0 0 auto; }
.acc-id-ic.kakao { background: #FEE500; } .acc-id-ic.google { background: #fff; border: 1px solid #dadce0; } .acc-id-ic.naver { background: #03C75A; } .acc-id-ic.apple { background: #000; }
.acc-legal { text-align: center; margin-top: 10px; font-size: 13px; color: var(--v2-muted); }
.acc-doc p { font-size: 14.5px; line-height: 1.85; margin: 0 0 12px; color: #3f5244; }
.sidebar .acc-entry span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gd .set-kid-form .ages { display: flex; flex-wrap: wrap; gap: 8px; }
.gd .set-kid-form .acc-field > span { font-weight: 800; }
@media (max-width: 680px) {
  .v2.acc-wrap { padding: 0 0 40px; }
  .acc-card { padding: 24px 18px 20px; border-radius: 22px; }
  .acc-head h1 { font-size: 24px; }
  .acc-head { gap: 12px; margin-bottom: 20px; }
  .acc-logo { width: 44px; height: 44px; }
  .acc-links { flex-direction: column; align-items: flex-start; }
  .acc-ids li { flex-wrap: wrap; }
}
