.account-panel {
  max-width: 560px; margin: 32px auto 64px; padding: 32px;
  background: #fff; border: 1px solid #e5e8eb; border-radius: 24px;
  color: #191f28; word-break: keep-all; overflow-wrap: anywhere;
}
.account-panel h1 { font-size: 30px; line-height: 1.35; margin: 0 0 12px; }
.account-panel p, .account-panel label, .account-panel input,
.account-panel button, .account-panel a, .account-panel select { font-size: 16px; line-height: 1.6; }
.account-panel .account-lead { color: #4e5968; margin-bottom: 28px; }
.account-form, .account-providers { display: grid; gap: 16px; }
.account-field { display: grid; gap: 8px; font-weight: 600; }
.account-field input, .account-field select {
  width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px;
  border: 1px solid #8b95a1; border-radius: 12px; background: #fff; color: #191f28;
}
.account-button, .account-panel .account-link {
  display: flex; align-items: center; justify-content: center; min-height: 52px;
  padding: 12px 20px; box-sizing: border-box; border-radius: 12px;
  border: 1px solid #d1d6db; text-decoration: none; cursor: pointer;
  font-weight: 600; color: #191f28; background: #fff;
}
.account-button.primary { background: #1b64da; color: #fff; border-color: #1b64da; }
.account-button.google { background: #fff; color: #1f1f1f; border-color: #747775; }
.account-button.naver { background: #03c75a; color: #002d15; border-color: #03c75a; }
.account-button.kakao { background: #fee500; color: #191919; border-color: #fee500; }
.account-button.danger { color: #b52222; }
.account-panel button:disabled { opacity: .6; cursor: wait; }
.account-error { color: #b52222; min-height: 26px; margin: 0; }
.account-error:empty { display: none; }
.account-panel :focus-visible { outline: 3px solid #1b64da; outline-offset: 3px; }
.account-check { display: flex; align-items: center; gap: 12px; min-height: 52px; cursor: pointer; }
.account-check input { width: 24px; height: 24px; flex: none; accent-color: #3182f6; }
.account-consents { border: 0; padding: 0; margin: 0; }
.account-consents legend { font-size: 20px; font-weight: 700; margin: 16px 0; }
.account-consent-links { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.account-divider { margin: 24px 0; border: 0; border-top: 1px solid #e5e8eb; }
.account-summary { display: grid; grid-template-columns: 100px 1fr; gap: 16px; margin: 24px 0; }
.account-summary dt { color: #4e5968; }
.account-summary dd { margin: 0; font-weight: 600; }
.account-top-entry {
  min-width: 64px; min-height: 48px; display: inline-flex;
  align-items: center; justify-content: center; font-size: 16px;
  text-decoration: none; color: #1b64da; flex-shrink: 0;
}
.account-small { color: #4e5968; font-size: 16px; }
.account-panel .account-inline { min-height: 48px; display: inline-flex; align-items: center; }
.account-notice { padding: 16px; background: #f2f4f6; border-radius: 12px; }
@media (max-width: 600px) {
  .account-panel { margin: 20px auto 36px; padding: 24px 18px; border-radius: 20px; }
  .account-panel h1 { font-size: 26px; }
  .account-top-entry { margin-left: auto; }
  .topbar .account-top-entry:not([hidden]) { display: inline-flex; }
  .account-summary { grid-template-columns: 80px 1fr; }
}
