/*
 * css/account.css
 *
 * Account pages (views/login.php, signup.php, forgot-password.php, reset-password.php, verify-email.php, complete-profile.php, logout.php, account.php) and the
 * account-aware parts of /saved. The form controls, buttons and dialog are in css/nav.css (the nav loads on every page). Tokens as elsewhere:
 * #12233D text, #4B5A70 secondary, #DCE1E8 borders, #F7F8FA panels, #1E40AF accent.
 */
.acct-wrap { max-width: 480px; margin: 0 auto; padding: 32px var(--wrap-gutter, 16px) 72px; color: #12233D; }
.acct-wrap--wide { max-width: 760px; }
.acct-title { margin: 0 0 8px; font-size: 28px; line-height: 1.2; font-weight: 700; }
.acct-lead { margin: 0 0 20px; font-size: 15px; line-height: 1.5; color: #4B5A70; }
.acct-lead a { color: #1E40AF; font-weight: 600; }
.acct-card { margin: 0 0 18px; padding: 22px; background: #FFFFFF; border: 1px solid #DCE1E8; border-radius: 12px; }
.acct-card--quiet { background: #F7F8FA; }
.acct-card--danger { border-color: #F3C7C7; }
.acct-h2 { margin: 0 0 4px; font-size: 18px; line-height: 1.3; font-weight: 700; }
.acct-card-sub { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: #4B5A70; }
.acct-p { margin: 0 0 14px; font-size: 15px; line-height: 1.55; }
.acct-p a { color: #1E40AF; font-weight: 600; }
.acct-center { text-align: center; }
.acct-notice { margin: 0 0 18px; padding: 12px 16px; border-radius: 8px; font-size: 14px; line-height: 1.5; font-weight: 600; }
.acct-notice--ok { background: #ECFDF3; color: #166534; }
.acct-notice--info { background: #EFF4FF; color: #12233D; }
.acct-notice--err { background: #FEF2F2; color: #B91C1C; }
.acct-noscript { padding: 14px; border-radius: 8px; background: #FEF2F2; color: #B91C1C; font-weight: 600; }

/* /account */
.acct-account-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin: 0 0 16px; }
.acct-who { margin: 0; font-size: 14px; color: #4B5A70; }
.acct-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.acct-jump a { display: inline-block; padding: 7px 14px; border: 1px solid #DCE1E8; border-radius: 999px; background: #FFFFFF; color: #12233D; font-size: 13px; font-weight: 600; text-decoration: none; }
.acct-jump a:hover { border-color: #1E40AF; color: #1E40AF; }
.acct-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 4px; }
.acct-actions .acct-btn { width: auto; }
.acct-card .acct-form > .acct-btn--primary { width: auto; }
.acct-pref-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 0; border-top: 1px solid #EEF1F5; }
.acct-pref-row:first-of-type { border-top: 0; }
.acct-pref-label { flex: 1 1 240px; min-width: 0; font-size: 14px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.acct-pref-label small { display: block; margin-top: 2px; font-weight: 400; color: #4B5A70; }
.acct-select-sm { min-height: 44px; padding: 0 12px; border: 1px solid #C5CCD8; border-radius: 8px; background: #FFFFFF; color: #12233D; font: inherit; font-size: 16px; }
.acct-pref-check { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-top: 1px solid #EEF1F5; }
.acct-pref-check input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; accent-color: #1E40AF; }
.acct-pref-check label { flex: 1 1 auto; font-size: 14px; font-weight: 600; line-height: 1.45; }
.acct-pref-check label small { display: block; margin-top: 2px; font-weight: 400; color: #4B5A70; }
.acct-saved { min-width: 56px; font-size: 13px; font-weight: 600; color: #166534; }
.acct-saved--err { color: #B91C1C; }
.acct-subhead { margin: 18px 0 2px; font-size: 14px; font-weight: 700; color: #12233D; }
.acct-count { display: inline-block; min-width: 22px; padding: 1px 8px; border-radius: 999px; background: #EFF4FF; color: #1E40AF; font-size: 13px; font-weight: 700; text-align: center; }
.acct-linklist { margin: 0; padding: 0; list-style: none; }
.acct-linklist li { margin: 0 0 8px; }
.acct-linklist a { color: #1E40AF; font-weight: 600; }
.acct-delete-step { margin-top: 14px; padding-top: 14px; border-top: 1px solid #F3C7C7; }

@media (max-width: 480px) {
  .acct-wrap { padding-top: 20px; }
  .acct-title { font-size: 24px; }
  .acct-card { padding: 18px 16px; }
}
