.thema21-account-page {
  --account-border: rgba(128,128,128,.25);
  --account-surface: rgba(128,128,128,.055);
  max-width: 920px;
  margin: 0 auto;
  line-height: 1.65;
}
.thema21-account-page p { margin-bottom: 1.1em; }
.thema21-account-form { max-width: 560px; display: grid; gap: 10px; margin: 28px 0; }
.thema21-account-form label { font-weight: 600; margin-top: 8px; }
.thema21-account-form :is(input[type="text"], input[type="email"], input[type="password"]) {
  width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--account-border);
  border-radius: 5px; background: var(--account-surface); color: inherit; font: inherit;
}
.thema21-account-page .thema21-account-button {
  display: inline-block; justify-self: start; margin-top: 12px; padding: 12px 22px;
  border: 0; border-radius: 5px; background: var(--c-main, #9c3038); color: #fff;
  font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.5;
}
.thema21-account-page :is(input, button, a):focus-visible { outline: 2px solid var(--c-main, #9c3038); outline-offset: 4px; }
.thema21-account-notice { padding: 14px 18px; border-left: 3px solid var(--c-main, #9c3038); background: var(--account-surface); }
.thema21-account-section { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--account-border); }
.thema21-account-section h2 { font-size: 1.3em; margin-bottom: 12px; }
.thema21-account-page :is(.ff_transactions_wrapper, .ff_subscriptions_wrapper) { overflow-x: auto; margin: 24px 0; }
.thema21-account-page table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; color: inherit; }
.thema21-account-page :is(th, td) { padding: 12px; border-color: var(--account-border); background: transparent; }
.thema21-account-page th { background: var(--account-surface); }
@media (max-width: 600px) {
  .thema21-account-form { max-width: none; }
  .thema21-account-page .thema21-account-button { width: 100%; text-align: center; }
}
