.account-switch-dialog { width: min(480px,calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 26px; overflow: auto; }
.account-switch-dialog h2 { margin: 0 36px 10px 0; font-size: 22px; }
.account-switch-current, .account-switch-note { color: var(--muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.account-switch-dialog form, .account-switch-dialog label { display: grid; gap: 8px; }
.account-switch-dialog form { margin-top: 18px; gap: 14px; }
.account-switch-dialog form[hidden] { display: none; }
.account-switch-dialog > .secondary-button { width: 100%; min-height: 44px; justify-content: center; }
.account-switch-dialog label { font-size: 13px; font-weight: 700; }
.account-switch-dialog input { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #cbdbe3; border-radius: 4px; padding: 10px; font-size: 16px; }
.account-switch-dialog footer { display: flex; gap: 10px; }
.account-switch-dialog footer button { flex: 1; min-height: 44px; }
.account-switch-dialog button:disabled { opacity: .55; cursor: wait; }
.account-switch-recent { display: grid; gap: 6px; padding: 0; list-style: none; }
.account-switch-recent li { display: flex; gap: 6px; }
.account-switch-recent button { border: 1px solid var(--line); border-radius: 4px; background: #f5f9fb; min-height: 44px; padding: 8px 10px; cursor: pointer; }
.account-switch-recent button:first-child { flex: 1; min-width: 0; text-align: left; overflow-wrap: anywhere; }
.account-switch-recent button[aria-pressed="true"] { border-color: var(--brand); background: #eaf5fc; }
.account-switch-recent button:last-child { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.profile-account-switch { margin-top: 18px; width: 100%; min-height: 44px; justify-content: center; gap: 8px; }
@media (max-width: 900px) {
  .mobile-portal-session { grid-template-columns: minmax(0,1fr) 36px auto; gap: 8px; }
  .mobile-portal-session .mobile-account-switch { padding: 0 6px; color: var(--brand); font-size: 12px; font-weight: 700; white-space: nowrap; }
}
