.account-access { text-align: left; margin-block: 24px; }
body:has(#access-card:not([hidden])) .page-heading { display: none; }
body:has(#access-card:not([hidden])) .topbar-context { font-weight: 600; }
.account-form { display: grid; gap: 16px; }
.account-form .button.primary { width: 100%; min-height: 44px; }
.account-status { line-height: 1.5; overflow-wrap: anywhere; }
.account-status:empty { display: none; }
.account-owner-access { padding-top: 16px; border-top: 1px solid var(--border, #dcdce2); text-align: left; }
.account-owner-access summary { cursor: pointer; font-size: 14px; color: var(--muted, #62626d); }
.account-owner-access form { margin-top: 16px; }
.account-requests { grid-column: 1 / -1; }
.account-request { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-block: 20px; border-bottom: 1px solid var(--border, #dcdce2); }
.account-request h3 { margin: 0 0 6px; font-size: 16px; }
.account-request p { margin-block: 4px; overflow-wrap: anywhere; }
.channel-choice { padding-block: 20px; border-bottom: 1px solid var(--border, #dcdce2); }
.channel-choice h3 { margin: 0 0 8px; }
.channel-form { display: grid; gap: 16px; margin-top: 20px; max-width: 560px; }
.channel-form .setup-field input { min-width: 0; width: 100%; }
.onboarding-active .practice-settings-grid, .onboarding-active #view-settings > :not(.clinic-setup) { display: none; }
.onboarding-active .page-heading { display: none; }
.onboarding-active .topbar { margin-bottom: 24px; }
.onboarding-active .clinic-setup { max-width: 680px; width: 100%; margin-inline: auto; }
.onboarding-active .setup-step { min-height: 280px; }
.onboarding-active .setup-steps { flex-wrap: wrap; }
.onboarding-progress { color: var(--muted, #62626d); font-size: 14px; font-variant-numeric: tabular-nums; }
.setup-review { display: grid; grid-template-columns: minmax(95px, 1fr) minmax(0, 2fr); gap: 12px 20px; }
.setup-review dt { color: var(--muted, #62626d); }
.setup-review dd { margin: 0; overflow-wrap: anywhere; }
.setup-step h3:focus { outline: none; }
/* Otras formas de entrar: llave de acceso (passkey) y Google; y el código de la verificación en dos pasos. */
.account-alt { display: grid; gap: 10px; margin-top: 4px; }
.account-alt-divider { display: flex; align-items: center; gap: 12px; margin: 4px 0 2px; color: var(--muted, #62626d); font-size: 13px; }
.account-alt-divider::before, .account-alt-divider::after { content: ""; flex: 1; height: 1px; background: var(--border, #dcdce2); }
.account-alt-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 46px; border-radius: 14px; text-decoration: none; font-weight: 600; }
.account-alt-icon { display: inline-flex; width: 20px; height: 20px; flex: 0 0 auto; }
.account-alt-icon svg { width: 100%; height: 100%; display: block; }
.account-alt-help { margin: 0; font-size: 13px; line-height: 1.45; }
.account-code { font-size: 22px; letter-spacing: .3em; font-variant-numeric: tabular-nums; text-align: center; }
@media (max-width: 600px) {
  .account-request { align-items: flex-start; }
  .account-request .setup-footer { width: 100%; justify-content: flex-start; }
  .onboarding-active .topbar { margin-bottom: 12px; }
  .onboarding-active .setup-day:has(input[type="checkbox"]:not(:checked)) input[type="time"] { visibility: hidden; }
  .setup-review { grid-template-columns: 1fr; gap: 6px; }
  .setup-review dd { margin-bottom: 12px; }
  .channel-form .button { min-height: 44px; }
}
