/* account.css — WP-D 회사 상세·계정·가입·결제(detail.html, login.html, signup.html, account*.html, checkout.html 등) 전용.
   2026-10 화면 개편 WP0이 만들어 둔 파일에 WP-D가 채웠다. 다른 WP는 이 파일을 고치지 않는다(병합 충돌 방지).
   색·크기·모서리는 style.css 맨 위 토큰과 tokens-base.css 공통 부품(.chip .dt .btn-* .state-* …)을 쓴다.
   docs/ui-review-2026-10/redesign-spec.md §10-D·F·G, §12 참고. */

/* ══ 회사 상세(/company/<code>) ═══════════════════════════════════════ */
.detail-container { max-width: 1280px; margin: 0 auto; padding: 0 var(--space-4); }
.detail-container .back-link { display: inline-block; margin: var(--space-3) 0 var(--space-2); font-size: var(--t-caption); color: var(--ink-3); }
.detail-header { margin: var(--space-2) 0 var(--space-4); }
.detail-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-2) 0 0; }
.detail-header .page-head-caption { margin-top: var(--space-2); }
.detail-header .period-notice { margin: var(--space-2) 0 0; max-width: 720px; font-size: var(--t-caption); color: var(--ink-3); line-height: 1.6; }
.detail-header .page-head-actions .btn { white-space: nowrap; }
.detail-header .dart-link-btn { border: 0; background: none; min-height: 36px; padding: 0 14px; font-size: 14px; font-weight: 600; color: var(--ink-3); text-decoration: none; }
.detail-header .dart-link-btn:hover { background: none; color: var(--ink); }

.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: var(--space-5); align-items: start; }
.detail-main { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.detail-main > .alert-box { margin: 0; }

/* 요약 3칸 띠 */
.summary-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); }
.summary-cell { padding: var(--space-4); min-width: 0; }
.summary-cell + .summary-cell { border-left: 1px solid var(--line); }
.summary-label { font-size: var(--t-caption); line-height: var(--t-caption-lh); color: var(--ink-3); font-weight: 500; }
.summary-value { margin-top: 4px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; font-size: 22px; line-height: 30px; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.summary-value .chip { font-size: var(--t-caption); }
.summary-value .delta { font-size: 14px; font-weight: 600; }
.summary-value.empty { color: var(--ink-4); }
.summary-sub { margin-top: 2px; font-size: var(--t-caption); line-height: var(--t-caption-lh); color: var(--ink-4); }

/* 확인할 수 없는 항목: 오류색 대신 중립 띠 + 주의 글자 */
.unavailable-banner { padding: var(--space-3) var(--space-4); background: var(--surface-muted); border-left: 2px solid var(--line-strong); border-radius: var(--r-chip); font-size: var(--t-body); color: var(--ink-2); }
.unavailable-banner strong { display: block; color: var(--caution); font-weight: 600; }
.unavailable-banner ul { margin: 4px 0 4px; padding-left: 18px; }
.unavailable-banner a { color: var(--ink-3); }

/* 재무 표 패널 */
.history-section .panel-note, .kv-panel .panel-note { margin: 0; padding: var(--space-2) var(--space-4); font-size: var(--t-caption); color: var(--ink-3); line-height: 1.6; }
.history-table { min-width: 100%; }
.history-table th:first-child { min-width: 120px; }
.history-table tbody th, .kv-table th { height: 40px; padding: 0 8px 0 16px; text-align: left; font-size: var(--t-cell); font-weight: 500; color: var(--ink-2); border-top: 0; border-bottom: 1px solid var(--line); white-space: nowrap; background: var(--surface); }
.history-table thead th.num { text-align: right; }
.history-table td { white-space: nowrap; color: var(--ink-2); font-size: var(--t-cell); font-weight: 500; font-variant-numeric: tabular-nums; }
.history-table .col-half { border-left: 1px solid var(--line-strong); }
.history-table tbody tr:last-child > th, .history-table tbody tr:last-child > td { border-bottom: 0; }
.history-table tbody tr:hover > th { background: var(--surface-muted); }
.kv-table th { width: 160px; }
.kv-table td { color: var(--ink); font-size: var(--t-cell); font-weight: 500; }
.kv-table td.kv-src { text-align: right; color: var(--ink-4); font-size: var(--t-caption); font-weight: 500; white-space: normal; }
.kv-table tbody tr:last-child > th, .kv-table tbody tr:last-child > td { border-bottom: 0; }

/* 작은 스파크 막대(표 위) */
.bar-charts { display: flex; flex-wrap: wrap; gap: var(--space-4); margin: 0; padding: var(--space-3) var(--space-4) var(--space-4); }
.bar-chart { flex: 1 1 200px; padding: 0; background: none; border: 0; border-radius: 0; }
.bar-chart-title { font-size: var(--t-caption); color: var(--ink-3); font-weight: 500; margin-bottom: var(--space-2); }
.bar-chart-bars { display: flex; align-items: flex-end; gap: var(--space-3); height: 96px; padding: 0; }
.bar-col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 2px; flex: 1; height: 100%; min-width: 0; }
.bar-value { font-size: var(--t-caption); font-weight: 500; color: var(--ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bar-value--negative { color: var(--ink-2); }
.bar { width: 100%; max-width: 40px; background: var(--accent); border-radius: 3px 3px 0 0; min-height: 2px; }
.bar--negative { background: var(--ink-4); }
.bar-year { font-size: var(--t-caption); color: var(--ink-4); }

/* 오른쪽 근거 목록: 카드 → 1px 선 목록 */
.evidence-panel { position: sticky; top: var(--space-4); max-height: calc(100vh - 2 * var(--space-4)); overflow-y: auto; padding: var(--space-4); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); }
.evidence-panel h2 { display: flex; align-items: center; gap: var(--space-2); margin: 0 0 4px; font-family: var(--font-body); font-size: var(--t-section); line-height: var(--t-section-lh); font-weight: 700; }
.evidence-panel-sub { margin: 0 0 var(--space-3); font-size: var(--t-caption); color: var(--ink-3); }
.evidence-list { list-style: none; margin: 0; padding: 0; }
.evidence-item { padding: var(--space-3) 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; }
.evidence-item:hover { background: none; border-color: var(--line); }
.evidence-report-name { font-size: var(--t-cell-strong); font-weight: 600; color: var(--ink); }
.evidence-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px var(--space-2); margin-top: 2px; }
.evidence-recept-no { font-family: var(--font-mono); font-size: var(--t-caption); color: var(--ink-4); }
.evidence-panel .evidence-link { margin: 0; font-size: var(--t-caption); font-weight: 500; color: var(--ink-3); text-decoration: underline; text-underline-offset: 2px; }
.evidence-panel .evidence-link:hover { color: var(--ink); }
.evidence-footnote { margin-top: var(--space-3); line-height: 1.6; color: var(--ink-4); }

.accounts-section { display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-start; }
.accounts-section h2 { margin: 0; }
#accounts-container { width: 100%; }
.accounts-wrap { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); }
.accounts-table td, .accounts-table th { white-space: nowrap; }
.accounts-table tbody th { height: 40px; padding: 0 8px 0 16px; font-weight: 500; color: var(--ink-2); font-size: var(--t-cell); border-top: 0; border-bottom: 1px solid var(--line); background: var(--surface); text-align: left; }
.accounts-table .mono { font-size: var(--t-caption); color: var(--ink-3); }
.accounts-unavailable { padding: var(--space-4); background: var(--surface-muted); border-radius: var(--r-panel); }

@media (max-width: 1023px) {
  .detail-layout { grid-template-columns: minmax(0, 1fr); }
  .evidence-panel { position: static; max-height: none; }
}
@media (max-width: 639px) {
  .detail-container { padding: 0 var(--space-4); }
  .detail-header { flex-direction: column; }
  .detail-header .page-head-actions { width: 100%; }
  .detail-header .page-head-actions .btn-primary { flex: 1; }
  .summary-strip { grid-template-columns: 1fr; }
  .summary-cell + .summary-cell { border-left: 0; border-top: 1px solid var(--line); }
  .kv-table td.kv-src { display: none; }
  .kv-table th { width: 110px; white-space: normal; }
}

/* ══ 인증 화면(로그인·가입·인증·비밀번호·팀 초대) ═══════════════════════ */
.auth-split { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); background: var(--bg); }
/* 왼쪽 브랜드 패널: 점 무늬 없이 단색 남색(스펙 §10-A·F). 로고 한 개와 문구만 얹는다. */
.auth-brand { background: #0f1f4a; color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 64px 56px; }
.auth-brand-inner { max-width: 420px; }
.auth-brand-logo { display: flex; align-items: center; gap: 10px; margin-bottom: var(--space-6); }
.auth-brand-wordmark { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; }
.auth-brand h1 { margin: 0; font-size: 28px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; }
.auth-brand h1 em { font-style: normal; color: #9cc2ff; }
.auth-brand p { margin: var(--space-3) 0 0; font-size: var(--t-body); line-height: 22px; color: rgba(255, 255, 255, .72); }
.auth-brand-checklist { list-style: none; margin: var(--space-5) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.auth-brand-checklist li { display: flex; gap: var(--space-2); align-items: baseline; font-size: var(--t-body); line-height: 20px; color: rgba(255, 255, 255, .85); }
.auth-brand-checklist .tick { flex: none; width: auto; height: auto; background: none; border-radius: 0; color: #9cc2ff; font-size: var(--t-caption); font-weight: 700; display: inline; }
.auth-panel { display: flex; align-items: center; justify-content: center; padding: var(--space-5) var(--space-4); min-width: 0; }
.auth-card { width: 100%; max-width: 400px; min-width: 0; padding: var(--space-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); }
.auth-card h1, .auth-card h2 { margin: 0 0 4px; font-family: var(--font-body); font-size: var(--t-title); line-height: var(--t-title-lh); font-weight: 700; letter-spacing: 0; }
.auth-card > .hint { margin: var(--space-3) 0 0; font-size: var(--t-body); line-height: var(--t-body-lh); color: var(--ink-3); }
.auth-card > .hint:first-of-type { margin: 0 0 var(--space-4); font-size: var(--t-body); color: var(--ink-3); }
.auth-card .hint a { color: var(--ink-2); text-underline-offset: 2px; }
.auth-card .alert-box { margin: 0 0 var(--space-3); font-size: var(--t-body); overflow-wrap: anywhere; }
.auth-card .login-form { margin-top: 0; gap: var(--space-3); }
.auth-card .login-form label { font-size: var(--t-caption); font-weight: 500; color: var(--ink-3); gap: 6px; }
.auth-card .login-form input:not([type="checkbox"]), .auth-card .login-form select {
  min-height: 44px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r-control);
  font-size: 15px; color: var(--ink); background: var(--surface); width: 100%; box-sizing: border-box; min-width: 0;
}
.auth-card .login-form input:focus, .auth-card .login-form select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
.auth-card .login-form button.primary { width: 100%; height: 44px; margin-top: var(--space-1); font-size: 15px; background: var(--accent); border-color: var(--accent); color: var(--on-accent); border-radius: var(--r-control); font-weight: 600; }
.auth-card .login-form button.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.auth-card .otp-input { letter-spacing: 0.4em; font-variant-numeric: tabular-nums; text-align: center; font-size: 20px; }
.auth-card .login-form label.checkbox-row { font-size: var(--t-body); color: var(--ink-2); font-weight: 400; }
.auth-card .checkbox-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--accent); }
.auth-card .button.primary { width: 100%; box-sizing: border-box; min-height: 44px; border-radius: var(--r-control); margin-top: 0; background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.auth-foot { margin: var(--space-4) 0 0; text-align: center; font-size: var(--t-caption); color: var(--ink-4); line-height: 1.5; }
.auth-mobile-brand { display: none; width: fit-content; margin-bottom: var(--space-4); color: var(--ink); text-decoration: none; }
.alert-success { background: var(--accent-tint); border-color: var(--accent); }
@media (max-width: 900px) {
  .auth-split { grid-template-columns: minmax(0, 1fr); }
  .auth-brand { display: none; }
  .auth-panel { align-items: flex-start; padding: var(--space-4); min-height: 100vh; }
  .auth-card { max-width: 100%; padding: var(--space-4); }
  .auth-mobile-brand { display: flex; align-items: center; }
}

/* ══ 약관 재동의(/consent) ═══════════════════════════════════════════ */
.consent-wrap { min-height: calc(100vh - 120px); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: var(--space-6) var(--space-4); }
.consent-card { width: 480px; max-width: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); padding: var(--space-5); box-sizing: border-box; }
.consent-card .eyebrow { display: inline-block; font-size: var(--t-caption); font-weight: 500; color: var(--ink-3); background: var(--chip-bg); border: 0; border-radius: var(--r-chip); padding: 2px 6px; }
.consent-card h1 { margin: var(--space-3) 0 var(--space-2); font-family: var(--font-body); font-size: var(--t-title); line-height: var(--t-title-lh); font-weight: 700; letter-spacing: 0; }
.consent-lede { margin: 0; font-size: var(--t-body); line-height: 22px; color: var(--ink-2); }
.consent-diff { margin-top: var(--space-4); padding: var(--space-3) var(--space-4); background: var(--surface-muted); border-left: 2px solid var(--line-strong); border-radius: var(--r-chip); }
.consent-diff-t { margin: 0 0 4px; font-size: var(--t-caption); font-weight: 600; color: var(--ink-2); }
.consent-diff-list { margin: 0; padding-left: 18px; font-size: var(--t-body); line-height: 20px; color: var(--ink-2); }
.consent-diff-list li + li { margin-top: 4px; }
.consent-card .alert-box { margin-top: var(--space-4); }
.consent-items { margin-top: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); }
.consent-row { position: relative; display: flex; align-items: center; gap: var(--space-3); min-height: 52px; padding: 0 var(--space-3); border: 1px solid var(--line-strong); border-radius: var(--r-control); cursor: pointer; }
.consent-row:hover { border-color: var(--ink-4); }
.consent-row.is-checked { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
.consent-row input { position: absolute; opacity: 0; pointer-events: none; }
.consent-box { flex: none; width: 20px; height: 20px; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--surface); display: flex; align-items: center; justify-content: center; }
.consent-box svg { opacity: 0; }
.consent-row.is-checked .consent-box { background: var(--accent); border-color: var(--accent); }
.consent-row.is-checked .consent-box svg { opacity: 1; }
.consent-lb { flex: 1; min-width: 0; font-size: var(--t-body); color: var(--ink); overflow-wrap: anywhere; line-height: 20px; padding: 8px 0; }
.consent-lb b { color: var(--accent); font-weight: 600; }
.consent-view { flex: none; font-size: var(--t-caption); color: var(--ink-3); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; border: 0; }
.consent-cta { margin-top: var(--space-4); width: 100%; height: 44px; border: 0; border-radius: var(--r-control); font-size: 15px; font-weight: 600; background: var(--chip-bg); color: var(--ink-4); cursor: not-allowed; }
.consent-cta:not(:disabled) { background: var(--accent); color: var(--on-accent); cursor: pointer; }
.consent-cta:not(:disabled):hover { background: var(--accent-hover); }
.consent-note { margin: var(--space-3) 0 0; font-size: var(--t-caption); line-height: 1.6; color: var(--ink-3); text-align: left; }
.consent-below { margin-top: var(--space-4); max-width: 480px; font-size: var(--t-caption); color: var(--ink-3); overflow-wrap: anywhere; }
.consent-below b { color: var(--ink-2); font-weight: 600; }
.consent-below a { color: var(--ink-3); text-decoration: underline; border: 0; }

/* ══ 마이페이지·구독(키:값 목록 섹션) ════════════════════════════════ */
.sub-page { max-width: 720px; margin: 0 auto; padding: var(--space-4) var(--space-4) var(--space-6); }
.sub-page:has(.pricing-cards) { max-width: 1160px; }
.sub-page h1 { margin: 0 0 var(--space-4); font-family: var(--font-body); font-size: var(--t-title); line-height: var(--t-title-lh); font-weight: 700; letter-spacing: 0; }
.sub-secttl { margin: var(--space-5) 0 var(--space-2); font-size: var(--t-section); line-height: var(--t-section-lh); font-weight: 700; color: var(--ink); }
.sub-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); box-shadow: none; padding: var(--space-4); margin-bottom: var(--space-3); }
.sub-card--pad0 { padding: 0; overflow-x: auto; }
.sub-card .hint { font-size: var(--t-body); color: var(--ink-3); margin: 0 0 var(--space-2); line-height: 20px; overflow-wrap: anywhere; }
.sub-card .hint a, .sub-fine a { color: var(--ink-3); text-decoration: underline; text-underline-offset: 2px; }
.sub-kv { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 0; margin: 0; font-size: var(--t-body); }
.sub-kv dt, .sub-kv dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); line-height: 20px; }
.sub-kv dt { color: var(--ink-3); font-weight: 400; padding-right: var(--space-3); }
.sub-kv dd { color: var(--ink); font-weight: 500; overflow-wrap: anywhere; }
.sub-kv dt:nth-last-of-type(1), .sub-kv dd:last-of-type { border-bottom: 0; }
.sub-planrow { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.sub-pname { font-size: var(--t-section); font-weight: 700; }
.sub-badge-founders, .sub-status { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border: 0; border-radius: var(--r-chip); background: var(--chip-bg); color: var(--ink-3); font-size: var(--t-caption); font-weight: 500; }
.sub-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.sub-actions .button, .sub-card .button, .sub-refund .button { min-height: 36px; padding: 0 14px; border: 0; border-radius: var(--r-control); background: var(--chip-bg); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; margin-top: 0; }
.sub-card .button.primary, .sub-actions .button.primary { background: var(--accent); color: var(--on-accent); }
.sub-card .button.primary:hover { background: var(--accent-hover); }
.sub-fine { margin: var(--space-3) 0 0; text-align: left; font-size: var(--t-caption); color: var(--ink-4); }
.sub-no-sub-hint { margin-bottom: var(--space-4); }
.sub-refund { margin-top: var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--line); border-radius: var(--r-panel); background: var(--surface-muted); }
.sub-refund p { color: var(--ink-2); }
.account-identity-email { font-size: var(--t-body); font-weight: 600; }
.account-identity-free { color: var(--ink-3); font-weight: 500; }
.account-password-details { border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: var(--space-2) 0; margin: 0 0 var(--space-3); background: none; }
.account-password-details summary { font-size: var(--t-body); font-weight: 600; cursor: pointer; padding: var(--space-2) 0; }
.account-password-form { margin-top: var(--space-2); }
.account-password-form input, .sub-card .login-form input, .sub-card .login-form select { min-height: 40px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r-control); font-size: 14px; width: 100%; box-sizing: border-box; background: var(--surface); color: var(--ink); }
.sub-card .login-form label { font-size: var(--t-caption); color: var(--ink-3); }
.team-member-row { padding: var(--space-2) 0; font-size: var(--t-body); overflow-wrap: anywhere; }
.payment-history-table { width: 100%; font-size: var(--t-cell); border-collapse: collapse; }
.sub-card .payment-history-table th { background: none; font-size: var(--t-header); color: var(--ink-3); font-weight: 400; text-align: left; padding: 8px var(--space-3); border-bottom: 1px solid var(--line); }
.sub-card .payment-history-table td { padding: 10px var(--space-3); border-bottom: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.sub-card .payment-history-table td.r, .sub-card .payment-history-table th.r { text-align: right; }
.sub-card .payment-history-table td.amt { font-weight: 600; }
/* 화면 밝기: 시스템 | 라이트 | 다크 세그먼트 */
.theme-setting { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0; width: 100%; }
.theme-setting legend { width: 100%; padding: 0; margin: 0 0 var(--space-2); font-size: var(--t-caption); color: var(--ink-3); font-weight: 500; }
.theme-setting-opt { position: relative; display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 14px; border: 0; border-radius: 0; background: var(--chip-bg); color: var(--ink-3); font-size: 14px; font-weight: 600; cursor: pointer; }
.theme-setting-opt:first-of-type { border-radius: var(--r-control) 0 0 var(--r-control); }
.theme-setting-opt:last-of-type { border-radius: 0 var(--r-control) var(--r-control) 0; }
.theme-setting-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.theme-setting-opt:has(input:checked) { background: var(--accent-tint); color: var(--accent); border: 0; }
.theme-setting-opt:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 1px; }

/* 이번 달 사용량 막대: 단색, 임계 색 없음 */
.usage-bar { display: flex; align-items: center; gap: var(--space-2); }
.usage-fill--over, .usage-fill--near { background: var(--ink-2); }

/* ══ 탈퇴·결제·신청·초대 카드 ═════════════════════════════════════════ */
.login-wrap { min-height: 60vh; align-items: flex-start; padding: var(--space-5) var(--space-4); }
.login-wrap:has(.login-card-wide) { background: none; min-height: 60vh; padding: var(--space-5) var(--space-4); }
.login-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); padding: var(--space-5); box-shadow: none; max-width: 100%; box-sizing: border-box; }
.login-card h1 { font-family: var(--font-body); font-size: var(--t-title); line-height: var(--t-title-lh); font-weight: 700; letter-spacing: 0; text-align: left; margin: 0 0 var(--space-1); }
.login-card-wide { width: 560px; border-radius: var(--r-panel); padding: var(--space-5); text-align: left; }
.login-card-wide h1 { text-align: left; font-size: var(--t-title); font-weight: 700; }
.login-card .login-form input, .login-card .login-form select, .login-card .login-form textarea { min-height: 40px; border: 1px solid var(--line-strong); border-radius: var(--r-control); font-size: 14px; }
.login-card .login-form input:not([type="checkbox"]), .login-card .login-form select { width: 100%; box-sizing: border-box; }
.login-card .checkbox-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--accent); }
.account-delete-card { text-align: left; }
.account-delete-sub { margin-bottom: var(--space-4); font-size: var(--t-body); color: var(--ink-3); }
.account-delete-section-label { font-size: var(--t-caption); font-weight: 600; color: var(--ink-3); }
.account-delete-list { border: 0; border-radius: 0; border-top: 1px solid var(--line); }
.account-delete-list li { padding: var(--space-3) 0; font-size: var(--t-body); color: var(--ink-2); }
.account-delete-list li + li { border-top: 1px solid var(--line); }
.account-delete-list li:last-child { border-bottom: 1px solid var(--line); }
.account-delete-refund-note { background: var(--surface-muted); color: var(--caution); border-radius: var(--r-chip); padding: var(--space-3); font-size: var(--t-body); }
.account-delete-submit { background: var(--danger); border-color: var(--danger); color: var(--on-accent); }
.account-delete-submit:hover { background: var(--danger); opacity: .9; }
.apply-btn-row { display: flex; gap: var(--space-2); }
.apply-btn-row .button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r-control); text-decoration: none; }
.apply-plan-confirm, .apply-sumline, .apply-terms-box { background: var(--surface-muted); border: 1px solid var(--line); border-radius: var(--r-control); }
.apply-account-card { background: var(--surface-muted); border-radius: var(--r-panel); }
.apply-status-card { border-radius: var(--r-panel); }
.apply-status-pill, .apply-status-eyebrow { border-radius: var(--r-chip); }
.checkout-wrap { padding: var(--space-5) var(--space-4); }
.checkout-wrap h1 { margin: 0; font-family: var(--font-body); font-size: var(--t-title); line-height: var(--t-title-lh); font-weight: 700; letter-spacing: 0; }
.checkout-pay, .checkout-summary { border-radius: var(--r-panel); box-shadow: none; }
.checkout-summary .save-badge, .checkout-plan-row .plan-pill { background: var(--chip-bg); color: var(--ink-3); border: 0; border-radius: var(--r-chip); font-size: var(--t-caption); font-weight: 500; padding: 2px 6px; }
.checkout-cta.consent-cta { background: var(--accent); color: var(--on-accent); cursor: pointer; }
.upgrade-modal { border-radius: var(--r-panel); box-shadow: var(--shadow-pop); }

@media (max-width: 639px) {
  .sub-page { padding: var(--space-3) var(--space-4) var(--space-5); }
  .sub-kv { grid-template-columns: 96px minmax(0, 1fr); }
  .login-card-wide { width: 100%; }
  .checkout-grid { grid-template-columns: minmax(0, 1fr); }
}
.accounts-page .page-head-title { margin: var(--space-3) 0; }
