.accounts-ui {
  width: min(100% - 2rem, 68rem);
}

.account-heading,
.account-intro,
.account-copy,
.account-privacy-note {
  max-width: 44rem;
}

.account-heading h1 {
  margin-bottom: var(--space-3);
}

.account-notice,
.account-error,
.reauth-panel {
  max-width: 52rem;
  border: var(--border-subtle);
  border-left: 0.25rem solid var(--colour-accent, #81e7f0);
  border-radius: var(--radius-small);
  padding: var(--space-3);
  background: var(--colour-surface-raised);
}

.account-error {
  border-left-color: #ff776d;
  color: #ffd2cc;
}

.provider-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  max-width: 58rem;
  margin-block: var(--space-5);
}

.provider-list-compact {
  margin-block: var(--space-3) 0;
}

.provider-form {
  display: grid;
  align-content: start;
  width: min(100%, 16rem);
  max-width: 100%;
  flex: 0 1 16rem;
  gap: var(--space-1);
  margin: 0;
}

.provider-button,
.provider-link {
  display: flex;
  width: 100%;
  min-height: 4.125rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border: 1px solid #7d8d89;
  border-radius: var(--radius-small);
  padding: 0.75rem 1rem;
  background: #fff;
  color: #151716;
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.provider-button:hover:not(:disabled),
.provider-link:hover:not([aria-disabled="true"]) {
  border-color: #81e7f0;
  box-shadow: 0 0 0 0.15rem rgb(129 231 240 / 24%);
}

.provider-button:disabled,
.provider-link-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.provider-button img,
.provider-link img,
.method-title img,
.account-action-summary > img {
  flex: 0 0 auto;
  object-fit: contain;
}

.provider-button img,
.provider-link img { width: 2rem; height: 2rem; }
.setup-step-action .provider-button { min-height: 3.25rem; }
.setup-step-action .provider-button img { width: 1.5rem; height: 1.5rem; }

.account-task-grid,
.method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block: var(--space-4);
}

.account-task,
.method-card,
.account-action-summary {
  border: var(--border-subtle);
  border-radius: var(--card-radius, var(--radius-card-outer));
  padding: var(--space-4);
  background: var(--colour-surface-raised);
}

.account-task-primary {
  grid-column: 1 / -1;
}

.account-task h2,
.method-card h3,
.account-action-summary h2,
.reauth-panel h2 {
  margin-top: 0;
}

.account-task-label {
  margin: 0 0 var(--space-1);
  color: var(--colour-muted);
  font-family: var(--font-data);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.account-actions,
.provider-choice-grid,
.account-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.account-actions form {
  margin: 0;
}

.method-title,
.account-action-summary {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}

.method-title {
  display: grid;
  grid-template-columns: 24px auto minmax(0, 1fr);
  align-items: center;
}
.method-username { justify-self: end; min-width: 0; text-align: right; overflow-wrap: anywhere; font-size: .9rem; color: var(--colour-muted); }

.provider-choice-grid {
  align-items: stretch;
}

.provider-link {
  width: min(100%, 16rem);
  min-width: 0;
}

.account-confirm-form {
  display: grid;
  gap: var(--space-3);
  max-width: 42rem;
  margin-block: var(--space-4);
}

.account-confirm-form label {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
}

.account-confirm-form input[type="checkbox"] {
  min-width: 1.4rem;
  min-height: 1.4rem;
  margin-top: 0.15rem;
  accent-color: #81e7f0;
}

.account-muted,
.account-privacy-note,
.provider-form small {
  color: var(--colour-muted);
}

.account-footer-links {
  margin-top: var(--space-4);
}

@media (max-width: 48rem) {
  .provider-list,
  .account-task-grid,
  .method-grid {
    grid-template-columns: 1fr;
  }

  .account-task-primary {
    grid-column: auto;
  }
}

@media (max-width: 30rem) {
  .accounts-ui {
    width: min(100% - 1.25rem, 68rem);
  }

  .account-task,
  .method-card,
  .account-action-summary,
  .reauth-panel {
    padding: var(--space-3);
  }

  .account-action-summary {
    display: grid;
  }

  .provider-choice-grid,
  .account-actions,
  .account-actions .button {
    width: 100%;
  }
}

@media (forced-colors: active) {
  .provider-button,
  .provider-link,
  .account-notice,
  .account-error,
  .reauth-panel {
    border-color: CanvasText;
  }
}

.personal-area { padding-top: var(--space-4); }
.personal-content { min-width: 0; overflow-wrap: anywhere; }
.personal-section { margin-top: var(--space-5); padding-bottom: var(--space-5); border-bottom: var(--border-subtle); }
.personal-section:last-of-type { border-bottom: 0; padding-bottom: 0; }
.personal-section h2, .setup-card h2 { margin-top: 0; }
.setup-card {
  margin-block: var(--space-4);
  padding: var(--space-4);
  border: 1px solid #81e7f0;
  border-radius: var(--radius-card-outer);
  background: var(--colour-surface-raised);
}
.setup-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  list-style: none;
  padding: 0;
  margin-block: var(--space-3);
}
.setup-steps h3 { font-size: 1.1rem; }
.setup-steps .task-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: start;
  align-self: stretch;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: var(--space-3);
}
.setup-step-content { min-width: 0; overflow-wrap: anywhere; }
.setup-step-content p { flex: none; }
.setup-step-action { display: grid; align-self: end; gap: var(--space-2); }
.setup-action-primary { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; min-height: 3.25rem; }
.setup-action-primary > .status-chip { align-self: start; margin-block: auto; }
.setup-action-secondary { display: flex; align-items: flex-end; min-height: 3.25rem; }
.setup-steps:not(:has([name="skip"])) .setup-action-secondary { display: none; }
.setup-step-action .button { min-height: 3.25rem; padding-block: .7rem; line-height: 1.15; }
.personal-area .stacked-form input:not([type="checkbox"]):not([type="radio"]),
.personal-area .stacked-form select { width: 100%; max-width: 32rem; }
@media (max-width: 48rem) {
  .setup-steps { grid-template-columns: minmax(0, 1fr); }
}
.recovery-links li { margin-bottom: var(--space-2); }
.recovery-links a { display: inline-block; min-height: 2.75rem; padding-block: .6rem; }
[data-action-feedback], .errorlist { scroll-margin-top: 2rem; }
.personal-content input:not([type="checkbox"]):not([type="radio"]),
.personal-content select, .personal-content textarea { max-width: 100%; }
@media (max-width: 30rem) {
  .setup-card { padding: var(--space-3); }
}

.method-card {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  align-content: start;
  gap: var(--space-3);
  min-width: 0;
}
.method-card > * { margin: 0; }
.method-title h3 { margin: 0; line-height: 1.3; }
.method-title img { align-self: center; }
.method-details { min-width: 0; overflow-wrap: anywhere; }
.method-details p { margin: 0 0 var(--space-2); }
.method-actions { display: flex; align-items: start; }
.method-actions .button { width: fit-content; }
@supports (grid-template-rows: subgrid) {
  @media (min-width: 48.001rem) {
    .method-card { grid-row: span 4; grid-template-rows: subgrid; }
  }
}

.account-summary {
  margin-block: var(--space-4);
  padding: var(--space-4);
  border: var(--border-subtle);
  border-radius: var(--radius-card-outer);
  background: var(--colour-surface-raised);
}
.account-summary-greeting { margin: 0 0 var(--space-2); color: var(--colour-muted); }
.account-summary h2 { margin: 0 0 var(--space-3); font-size: 1.3rem; }
.membership-confirmed { color: #85d69a; }
.account-summary-details { margin: 0; }
.account-summary-details dt { color: var(--colour-muted); font-size: .85rem; }
.account-summary-details dd { margin: var(--space-1) 0 0; overflow-wrap: anywhere; }
.setup-step-action form { margin: 0; flex: none; }
.setup-questionnaire-form { display: grid; grid-template-rows: 1fr auto; grid-row: 2 / -1; height: 100%; margin: 0; gap: var(--space-3); }
.setup-questionnaire-form label { display: block; margin-bottom: var(--space-2); }
.setup-questionnaire-form select { min-width: 0; width: 100%; }
.setup-questionnaire-form .setup-step-content > p:first-of-type { margin-top: 0; }

@supports (grid-template-rows: subgrid) {
  @media (min-width: 48.001rem) {
    .setup-steps .task-card { grid-row: span 3; grid-template-rows: subgrid; }
    .setup-step-action { grid-row: 3 / -1; grid-template-rows: subgrid; align-self: stretch; }
    .setup-steps:has([name="skip"]) .task-card { grid-row: span 4; }
    .setup-questionnaire-form { grid-template-rows: subgrid; }
    .setup-questionnaire-form .setup-step-action { grid-row: 2 / -1; }
  }
}
@media (max-width: 48rem) {
  .setup-action-secondary:empty { display: none; }
}
