.settings-main { padding: 36px 0 16px; }
.settings-main > h1 { font-size: 32px; }
.muted { color: var(--muted); font-size: 14px; line-height: 1.8; }
.settings-layout { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; margin-top: 30px; }
.settings-nav { display: flex; flex-direction: column; align-self: start; gap: 8px; }
.settings-nav a { padding: 13px 16px; border-radius: 10px; font-size: 14px; }
.settings-nav [aria-current] { background: #efe3f1; font-weight: 600; }
.settings-field { margin: 24px 0; }
label { display: block; margin: 20px 0 8px; font-size: 14px; }
input, select { width: 100%; padding: 12px; border: 1px solid #d6c8d7; border-radius: 10px; background: white; color: inherit; font: inherit; }
input:focus-visible, select:focus-visible { outline: 2px solid #b78db8; outline-offset: 2px; }
.helptext { display: block; color: var(--muted); font-size: 12px; line-height: 1.8; }
.helptext ul { padding-left: 20px; }
.errorlist { padding-left: 20px; color: #a34545; font-size: 13px; line-height: 1.8; }
button.primary-button { border: 0; margin-top: 8px; }
.notice { padding: 14px 18px; background: #edf5ed; color: #416345; border: 1px solid #d9e8d9; border-radius: 12px; }
.account-info { margin-top: 22px; }
dl { margin-bottom: 0; }
dl > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--border); font-size: 14px; }
dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
dt { color: var(--muted); }
dd { margin: 0; overflow-wrap: anywhere; }
.password-done { text-align: center; padding: 42px 24px; }
.success-mark { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #527356; background: #edf5ed; margin-bottom: 20px; font-size: 28px; }
.recovery-page { width: min(560px, calc(100% - 32px)); margin: 56px auto; }
.recovery-page .panel { margin-top: 24px; }
.recovery-page h1 { font-size: 28px; }
@media (max-width: 640px) {
  .settings-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .settings-nav { flex-direction: row; flex-wrap: wrap; }
  .settings-layout .panel { padding: 24px 18px; }
  dl > div { grid-template-columns: 95px minmax(0, 1fr); gap: 10px; }
}
