/* Claude.ai-inspired member area — scoped to .am-page-member only */
.am-page-member {
  --tm-cream: #faf9f5;
  --tm-ink: #141413;
  --tm-muted: #6b6560;
  --tm-border: #e0dcd4;
  --tm-border-soft: #ebe7df;
  --tm-card-bg: #ffffff;
  --tm-radius: 0.875rem;
  --tm-radius-sm: 0.625rem;
  --tm-serif: "Source Serif 4", "Tiempos Text", Georgia, "Times New Roman", serif;
  --tm-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --tm-shadow: 0 1px 2px rgba(20, 20, 19, 0.04), 0 4px 16px rgba(20, 20, 19, 0.04);

  background-color: var(--tm-cream);
  color: var(--tm-ink);
  font-family: var(--tm-sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.am-page-member .am-common {
  font-family: var(--tm-sans);
  color: var(--tm-ink);
}

/* ---- Layout shell (full-page cream coverage) ---- */
html:has(body.am-page-member),
body.am-page-member {
  background-color: var(--tm-cream) !important;
  min-height: 100%;
}

.am-page-member .am-layout,
.am-page-member .am-layout.am-common,
.am-page-member .am-body,
.am-page-member .am-body-content-wrapper,
.am-page-member .am-body-content-wrapper.am-main,
.am-page-member .am-body-content,
.am-page-member .am-body-content-top,
.am-page-member .am-body-content-content,
.am-page-member #nav_placeholder,
.am-page-member .fixed-top,
.am-page-member .white-bg-wrapper-fullw,
.am-page-member .am-header-line,
.am-page-member .am-footer,
.am-page-member .am-footer-content-wrapper,
.am-page-member .footer {
  background-color: var(--tm-cream) !important;
  background-image: none !important;
}

.am-page-member #member-main-subscriptions.am-block,
.am-page-member .am-block#member-main-links,
.am-page-member #member-main-resources.am-block,
.am-page-member .am-block#member-main-resources {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 1em !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.am-page-member .am-body-content-top h1,
.am-page-member .am-common h1,
.am-page-member .tm-profile-title,
.am-page-member .tm-ph-title,
.am-page-member .tm-hd-title,
.am-page-member .tm-subs-title {
  font-family: var(--tm-serif);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--tm-ink);
}

.am-page-member .am-body-content-top h1,
.am-page-member .am-common h1 {
  font-size: 1.75rem;
  line-height: 1.2;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  margin-bottom: 0.5rem;
}

.am-page-member .am-common h2,
.am-page-member .am-common h3 {
  font-family: var(--tm-sans);
  color: var(--tm-ink);
  font-weight: 600;
}

.am-page-member .am-common a,
.am-page-member .am-body-content a {
  color: var(--tm-ink);
}

.am-page-member .am-common a:hover,
.am-page-member .am-body-content a:hover {
  color: var(--tm-muted);
}

.am-page-member a.link,
.am-page-member a.local {
  color: var(--tm-ink);
  font-weight: 500;
}

.am-page-member a.link:hover,
.am-page-member a.local:hover {
  color: var(--tm-muted);
  text-decoration: underline;
}

/* ---- Top navigation (member + agreement pages) ---- */
.am-page-member .white-bg-wrapper-fullw,
.am-page-agreement .white-bg-wrapper-fullw {
  background-color: var(--tm-cream) !important;
  border-bottom-color: var(--tm-border) !important;
}

.am-page-member .white-bg-wrapper-fullw:has(.topnav2),
.am-page-agreement .white-bg-wrapper-fullw:has(.topnav2) {
  border-bottom: 1px solid var(--tm-border);
}

.am-page-member .topnav1,
.am-page-member .topnav2,
.am-page-agreement .topnav1,
.am-page-agreement .topnav2 {
  background-color: var(--tm-cream) !important;
  font-family: var(--tm-sans);
}

.am-page-member .topnav2 .nav-item,
.am-page-agreement .topnav2 .nav-item {
  float: left;
}

.am-page-member .topnav1 a,
.am-page-member .topnav2 a,
.am-page-agreement .topnav1 a,
.am-page-agreement .topnav2 a {
  color: var(--tm-ink) !important;
  font-size: 0.9375rem !important;
  font-weight: 500;
  font-family: var(--tm-sans);
  transition: color 0.15s ease;
}

.am-page-member .topnav2 a:hover,
.am-page-member .topnav1 a:hover,
.am-page-agreement .topnav2 a:hover,
.am-page-agreement .topnav1 a:hover {
  color: var(--tm-muted) !important;
  background-color: transparent !important;
}

.am-page-member #topnavicon img,
.am-page-member .tm-header-logo,
.am-page-agreement #topnavicon img,
.am-page-agreement .tm-header-logo {
  display: block;
  height: 40px;
  width: auto;
  max-width: none;
  object-fit: contain;
}

.am-page-member .nav-title,
.am-page-agreement .nav-title {
  font-family: var(--tm-sans);
}

.am-page-member .helpdesk,
.am-page-agreement .helpdesk {
  font-family: var(--tm-sans);
  border-radius: 999px !important;
  font-size: 0.8125rem !important;
  border-color: var(--tm-border) !important;
}

/* ---- Dropdown ---- */
.am-page-member .dropdown-content,
.am-page-agreement .dropdown-content {
  background-color: var(--tm-card-bg) !important;
  border: 1px solid var(--tm-border) !important;
  border-radius: var(--tm-radius-sm) !important;
  box-shadow: var(--tm-shadow) !important;
  overflow: hidden;
  min-width: 200px;
}

.am-page-member .dropdown-content a,
.am-page-agreement .dropdown-content a {
  color: var(--tm-ink) !important;
  font-size: 0.875rem !important;
  font-weight: 500;
  font-family: var(--tm-sans);
  padding: 0.625rem 1rem;
  transition: color 0.15s ease;
}

.am-page-member .dropdown-content a:hover,
.am-page-agreement .dropdown-content a:hover {
  background-color: transparent !important;
  color: var(--tm-muted) !important;
}

@media screen and (max-width: 1030px) {
  .am-page-member .topnav2.responsive,
  .am-page-agreement .topnav2.responsive {
    background-color: var(--tm-cream) !important;
  }

  .am-page-member .topnav2.responsive .dropdown-content,
  .am-page-agreement .topnav2.responsive .dropdown-content {
    background-color: var(--tm-cream) !important;
    border: none !important;
    box-shadow: none !important;
  }
}

.am-page-member .dropdown-caret,
.am-page-agreement .dropdown-caret {
  color: var(--tm-muted);
}

/* ---- Cards & blocks ---- */
.am-page-member .am-block {
  color: var(--tm-muted);
  background: var(--tm-card-bg);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
  padding: 1.25rem;
}

.am-page-member .profile_block_card,
.am-page-member .tm-profile-form-card,
.am-page-member .tm-sub-card {
  background: var(--tm-card-bg);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
}

/* ---- Member dashboard block alignment (resources grid ↔ .tm-subs edges) ---- */
.am-page-member #member-main-resources > .am-input-filter-wrapper,
.am-page-member #member-main-resources > #member-resources {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

/* ---- Subscriptions block ---- */
.am-page-member .tm-subs {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  --tm-subs-accent: var(--tm-ink);
  --tm-subs-accent-dark: #2a2a28;
  --tm-subs-text: var(--tm-ink);
  --tm-subs-muted: var(--tm-muted);
  --tm-subs-border: var(--tm-border);
  background: var(--tm-card-bg);
  background-image: none;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
  padding: 1.25rem;
  font-family: var(--tm-sans);
}

.am-page-member .tm-subs-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--tm-border);
}

.am-page-member .tm-subs-head-icon {
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--tm-radius-sm);
  color: #fff;
  background: var(--tm-ink);
  box-shadow: none;
}

.am-page-member .tm-subs-head-icon svg {
  width: 1.125rem;
  height: 1.125rem;
}

.am-page-member .tm-subs-head-text {
  display: flex;
  align-items: center;
  min-height: 2.5rem;
  min-width: 0;
}

.am-page-member .tm-subs-head .tm-subs-title {
  margin: 0 !important;
  padding: 0;
  font-family: var(--tm-serif);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--tm-ink);
}

.am-page-member .tm-subs-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.am-page-member .tm-subs-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  padding: 0.875rem 0;
  margin: 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--tm-border);
  border-radius: 0;
  box-shadow: none;
}

.am-page-member .tm-subs-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.am-page-member .tm-subs-item:first-child {
  padding-top: 0;
}

.am-page-member .tm-subs-item:hover {
  border-color: var(--tm-border);
  box-shadow: none;
}

.am-page-member .tm-subs-name {
  flex: 1 1 160px;
  width: auto;
}

.am-page-member .tm-subs-name a {
  color: inherit;
  text-decoration: none;
}

.am-page-member .tm-subs-name a:hover {
  color: var(--tm-muted);
  text-decoration: underline;
}

.am-page-member .tm-subs-badge {
  flex: none;
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.625rem;
  border-radius: 999px;
  font-family: var(--tm-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.35;
  white-space: nowrap;
}

.am-page-member .tm-subs-badge-lifetime {
  background: #f0fdf4;
  color: #166534;
}

.am-page-member .tm-subs-badge-rebill {
  background: #eff6ff;
  color: #1d4ed8;
}

.am-page-member .tm-subs-badge-expires {
  background: #fef2f2;
  color: #991b1b;
}

.am-page-member .tm-subs-badge-future {
  background: #faf5ff;
  color: #7e22ce;
}

.am-page-member .tm-subs-actions {
  flex: none;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-left: auto;
  width: auto;
  margin-top: 0;
  padding-top: 0;
}

.am-page-member .tm-subs-link {
  display: inline-flex;
  align-items: center;
  padding: 0.4375rem 0.75rem;
  border-radius: var(--tm-radius-sm);
  font-family: var(--tm-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.am-page-member .tm-subs-link-muted {
  color: var(--tm-ink);
  background: var(--tm-card-bg);
  border: 1px solid var(--tm-border);
}

.am-page-member .tm-subs-link-muted:hover {
  color: #991b1b;
  background: #fef2f2;
  border-color: #fecaca;
}

.am-page-member .tm-subs-link-primary,
.am-page-member .tm-subs-cta {
  color: #fff !important;
  background: var(--tm-ink) !important;
  border: 1px solid var(--tm-ink);
}

.am-page-member .tm-subs-link-primary:hover,
.am-page-member .tm-subs-cta:hover {
  background: #2a2a28 !important;
  border-color: #2a2a28;
  color: #fff !important;
}

.am-page-member .tm-subs-item-future {
  opacity: 1;
}

.am-page-member .tm-subs-empty {
  margin: 0;
  padding: 1.5rem 1rem;
  text-align: center;
  font-family: var(--tm-sans);
  font-size: 0.9375rem;
  color: var(--tm-muted);
  background: var(--tm-cream);
  border: 1px dashed var(--tm-border);
  border-radius: var(--tm-radius-sm);
}

.am-page-member .tm-subs-empty strong {
  display: block;
  margin-bottom: 0.375rem;
  font-family: var(--tm-serif);
  font-weight: 600;
  color: var(--tm-ink);
  font-size: 1rem;
}

.am-page-member .tm-subs-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: 0.75rem;
  padding: 0.5625rem 1rem;
}

/* Legacy panel class support */
.am-page-member .tm-subs-panel {
  --tm-subs-accent: #141413;
  --tm-subs-accent-dark: #2a2a28;
  --tm-subs-text: #141413;
  --tm-subs-muted: #6b6560;
  --tm-subs-border: #e0dcd4;
  background: var(--tm-card-bg) !important;
  background-image: none !important;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
}

.am-page-member .tm-subs-panel::after,
.am-page-member .tm-subs-panel::before {
  display: none;
}

.am-page-member .tm-subs-header-icon {
  background: var(--tm-ink) !important;
  box-shadow: none;
}

.am-page-member .tm-subs-card {
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: var(--tm-cream);
}

.am-page-member .tm-subs-card:hover {
  border-color: #ccc8c0;
  box-shadow: var(--tm-shadow);
}

@media (max-width: 640px) {
  .am-page-member .tm-subs {
    padding: 1rem;
  }

  .am-page-member .tm-subs-actions {
    margin-left: 0;
    width: 100%;
  }
}

/* ---- Profile page tokens ---- */
.am-page-member .tm-profile {
  --tm-accent: #141413;
  --tm-accent-dark: #2a2a28;
  --tm-blue: #6b6560;
  --tm-text: #141413;
  --tm-muted: #6b6560;
  --tm-border: #e0dcd4;
  background-color: transparent;
}

.am-page-member .tm-profile-header-icon {
  background: var(--tm-ink) !important;
  color: #fff !important;
  border: none;
  box-shadow: none;
}

.am-page-member .tm-profile-header-icon svg,
.am-page-member .tm-profile-header-icon svg circle,
.am-page-member .tm-profile-header-icon svg path {
  fill: none !important;
  stroke: currentColor !important;
  color: #fff !important;
}

.am-page-member .tm-profile-section-title svg {
  fill: none !important;
  stroke: currentColor;
  color: var(--tm-ink);
}

.am-page-member .profile_block_icon svg {
  color: var(--tm-ink);
  fill: var(--tm-ink);
  background: var(--tm-cream) !important;
  border: 1px solid var(--tm-border);
}

.am-page-member .tm-aff-header-icon,
.am-page-member .tm-stats-header-icon,
.am-page-member .tm-payout-header-icon,
.am-page-member .tm-payouts-header-icon,
.am-page-member .tm-stat-icon,
.am-page-member .tm-payout-stat-icon,
.am-page-member .tm-stat-card.is-accent .tm-stat-icon,
.am-page-member .tm-payout-stat.is-accent .tm-payout-stat-icon,
.am-page-member .tm-payout-stat.is-pending .tm-payout-stat-icon {
  background: var(--tm-cream) !important;
  color: var(--tm-ink) !important;
  border: 1px solid var(--tm-border);
  box-shadow: none;
}

.am-page-member .tm-aff-header-icon svg,
.am-page-member .tm-stats-header-icon svg,
.am-page-member .tm-payout-header-icon svg,
.am-page-member .tm-payouts-header-icon svg,
.am-page-member .tm-stat-icon svg,
.am-page-member .tm-payout-stat-icon svg,
.am-page-member .tm-stats-card-title svg,
.am-page-member .tm-stats-export .tm-stats-btn svg {
  fill: none;
  stroke: currentColor;
  color: var(--tm-ink);
}

.am-page-member .tm-profile-form-card {
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
}

.am-page-member .tm-profile .am-form fieldset legend {
  background: var(--tm-cream);
  color: var(--tm-muted);
  font-family: var(--tm-sans);
}

/* ---- Helpdesk tokens ---- */
.am-page-member .tm-helpdesk {
  --tm-hd-accent: #141413;
  --tm-hd-accent-dark: #2a2a28;
  --tm-hd-orange: #141413;
  --tm-hd-text: #141413;
  --tm-hd-muted: #6b6560;
  --tm-hd-border: #e0dcd4;
  background-color: transparent;
}

.am-page-member .tm-helpdesk .tm-hd-header-icon {
  background: var(--tm-ink);
}

.am-page-member .tm-helpdesk .tm-hd-title {
  font-family: var(--tm-serif);
  font-weight: 600;
}

/* ---- Payment history tokens ---- */
.am-page-member .tm-ph {
  --tm-accent: #141413;
  --tm-accent-dark: #2a2a28;
  --tm-blue: #6b6560;
  --tm-text: #141413;
  --tm-muted: #6b6560;
  --tm-border: #e0dcd4;
  background-color: transparent;
}

.am-page-member .tm-ph-header-icon {
  background: var(--tm-ink) !important;
  box-shadow: none;
}

.am-page-member .tm-ph-title {
  font-family: var(--tm-serif);
  font-weight: 600;
}

.am-page-member .tm-ph .tm-btn-primary {
  background: var(--tm-ink) !important;
  border-radius: var(--tm-radius-sm);
}

.am-page-member .tm-ph .tm-btn-primary:hover {
  background: #2a2a28 !important;
}

.am-page-member .tm-sub-card,
.am-page-member .tm-ph-card {
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
}

/* ---- Buttons ---- */
.am-page-member input[type="submit"],
.am-page-member input[type="button"],
.am-page-member a.button,
.am-page-member .buttonorange,
.am-page-member .modal-action,
.am-page-member .am-resource-page,
.am-page-member .tm-helpdesk .norecord-actions a,
.am-page-member .tm-helpdesk input[type="submit"],
.am-page-member .tm-profile input[type="submit"] {
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: var(--tm-radius-sm) !important;
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.am-page-member input[type="submit"],
.am-page-member input[type="button"],
.am-page-member a.button,
.am-page-member .buttonorange,
.am-page-member .modal-action,
.am-page-member .tm-helpdesk .norecord-actions a,
.am-page-member .tm-helpdesk input[type="submit"],
.am-page-member .tm-profile input[type="submit"] {
  background: var(--tm-ink) !important;
  background-image: none !important;
  border: 1px solid var(--tm-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.am-page-member input[type="submit"]:hover,
.am-page-member input[type="button"]:hover,
.am-page-member a.button:hover,
.am-page-member .buttonorange:hover,
.am-page-member .modal-action:hover,
.am-page-member .tm-helpdesk .norecord-actions a:hover,
.am-page-member .tm-helpdesk input[type="submit"]:hover,
.am-page-member .tm-profile input[type="submit"]:hover {
  background: #2a2a28 !important;
  border-color: #2a2a28 !important;
  color: #fff !important;
}

.am-page-member a.buttongray,
.am-page-member input.buttongray {
  background: var(--tm-card-bg) !important;
  border: 1px solid var(--tm-border) !important;
  color: var(--tm-ink) !important;
}

.am-page-member a.buttongray:hover,
.am-page-member input.buttongray:hover {
  background: var(--tm-cream) !important;
  border-color: #ccc8c0 !important;
}

.am-page-member .am-resource-page {
  background: var(--tm-ink) !important;
  background-color: var(--tm-ink) !important;
  background-image: none !important;
  border: 1px solid var(--tm-ink) !important;
  border-radius: var(--tm-radius-sm) !important;
  color: #fff !important;
}

.am-page-member .am-resource-page:hover {
  background: #2a2a28 !important;
  background-color: #2a2a28 !important;
  border-color: #2a2a28 !important;
}

.am-page-member #member-main-resources a[class*="am-resource-"] {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 0 auto;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--tm-ink) !important;
  background-color: var(--tm-ink) !important;
  background-image: none !important;
  border: 1px solid var(--tm-ink) !important;
  color: #fff !important;
  border-radius: 8px 8px 14px 14px !important;
}

.am-page-member #member-main-resources a[class*="am-resource-"]:hover {
  background: #2a2a28 !important;
  background-color: #2a2a28 !important;
  border-color: #2a2a28 !important;
}

.am-page-member #member-main-resources .resource_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 14px !important;
  overflow: hidden;
}

.am-page-member #member-main-resources .resource_card > div:first-child {
  flex: 1 1 auto;
}

.am-page-member #member-main-resources #member-resources > li {
  margin-bottom: 0 !important;
}

/* ---- Form inputs ---- */
.am-page-member input[type="text"],
.am-page-member input[type="password"],
.am-page-member input[type="email"],
.am-page-member input[type="number"],
.am-page-member input[type="tel"],
.am-page-member input[type="url"],
.am-page-member input[type="search"],
.am-page-member select,
.am-page-member textarea {
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  color: var(--tm-ink);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: var(--tm-card-bg);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.am-page-member input[type="text"]:focus,
.am-page-member input[type="password"]:focus,
.am-page-member input[type="email"]:focus,
.am-page-member input[type="number"]:focus,
.am-page-member input[type="tel"]:focus,
.am-page-member input[type="url"]:focus,
.am-page-member input[type="search"]:focus,
.am-page-member select:focus,
.am-page-member textarea:focus {
  outline: none;
  border-color: var(--tm-ink);
  box-shadow: 0 0 0 3px rgba(20, 20, 19, 0.08);
}

.am-page-member .am-form div.element-title label {
  font-family: var(--tm-sans);
  font-weight: 500;
  color: var(--tm-ink);
}

/* ---- Alerts & notices ---- */
.am-page-member .am-info {
  background: var(--tm-cream);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  color: var(--tm-ink);
}

.am-page-member .am-notice,
.am-page-member .am-flash-content-success {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: var(--tm-radius-sm);
  color: #166534;
}

.am-page-member .am-flash-content-error,
.am-page-member ul.errors {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--tm-radius-sm);
  color: #991b1b;
}

/* ---- Footer ---- */
.am-page-member .footer,
.am-page-member .am-footer {
  background-color: var(--tm-cream);
  border-top: 1px solid var(--tm-border);
  font-family: var(--tm-sans);
  color: var(--tm-muted);
}

.am-page-member .footer-right a {
  color: var(--tm-ink);
}

/* ---- Modal ---- */
.am-page-member .modern-modal .modal-box,
.am-page-member .modal-box {
  border-radius: var(--tm-radius);
  border: 1px solid var(--tm-border);
  box-shadow: 0 8px 32px rgba(20, 20, 19, 0.12);
  font-family: var(--tm-sans);
}

.am-page-member .modern-modal h2 {
  font-family: var(--tm-serif);
  font-weight: 600;
}

/* ---- Grid / tables ---- */
.am-page-member .grid-container,
.am-page-member table.am-grid {
  border-radius: var(--tm-radius-sm);
  overflow: hidden;
}

.am-page-member table.am-grid th {
  background: var(--tm-cream);
  color: var(--tm-ink);
  font-family: var(--tm-sans);
  font-weight: 600;
  border-color: var(--tm-border);
}

.am-page-member table.am-grid td {
  border-color: var(--tm-border-soft);
}

/* ---- Resource search (Type to Filter) — width only, no layout changes ---- */
.am-page-member .am-category-search-wrapper,
.am-page-member .am-category-search-wrapper form {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.am-page-member .am-input-filter-wrapper {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  margin: 0 0 1rem !important;
  padding: 0.5rem 0.75rem;
  border: none !important;
  border-radius: var(--tm-radius-sm);
  background: var(--tm-cream);
  overflow: visible;
  transition: box-shadow 0.15s ease;
}

.am-page-member .am-input-filter-wrapper.am-input-filter-wrapper_focus {
  box-shadow: 0 0 0 3px rgba(20, 20, 19, 0.08);
}

/* Resources dashboard filter — bordered search box */
.am-page-member #member-main-resources > .am-input-filter-wrapper {
  display: block;
  margin: 0 0 1em !important;
  padding: 0.5rem 0.75rem !important;
  border: 1px solid #d1d5db !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: visible !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.am-page-member #member-main-resources > .am-input-filter-wrapper.am-input-filter-wrapper_focus {
  border-color: #9ca3af !important;
  box-shadow: 0 0 0 3px rgba(20, 20, 19, 0.06) !important;
}

.am-page-member .am-input-filter-wrapper .am-input-filter-inner-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding-right: 1.75rem;
  box-sizing: border-box;
}

.am-page-member .am-input-filter-wrapper input[type="text"].am-input-filter {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  min-height: 2.25rem;
  padding: 0.375rem 0 0.375rem 1.75rem;
  margin: 0;
  border: none !important;
  background: transparent url("../img/icons/magnify.png") no-repeat left center;
  background-size: 1rem 1rem;
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  line-height: 1.25;
  color: var(--tm-ink);
  outline: none;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
}

.am-page-member .am-input-filter-wrapper input[type="text"].am-input-filter::placeholder {
  color: var(--tm-muted);
  opacity: 1;
}

.am-page-member .am-input-filter-wrapper input[type="text"].am-input-filter:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none;
}

.am-page-member .am-input-filter-wrapper .am-input-filter-empty {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  min-width: 1.25rem;
  cursor: pointer;
  opacity: 0.45;
}

.am-page-member .am-input-filter-wrapper .am-input-filter-empty:hover {
  opacity: 1;
}

@media (max-width: 768px) {
  .am-page-member .am-input-filter-wrapper {
    margin-bottom: 0.875rem !important;
    padding: 0.4375rem 0.625rem;
  }

  .am-page-member .am-input-filter-wrapper input[type="text"].am-input-filter {
    font-size: 1rem;
    min-height: 2.5rem;
  }
}

/* ---- Content pages (/page/*, /content/p/*) ---- */
.am-page-member .am-body-content-content {
  max-width: 1320px;
  margin: 0 auto;
}

.am-page-member .am-content-page,
.am-page-member .tm-content-page {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  color: var(--tm-ink);
  font-family: var(--tm-sans);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.am-page-member .am-content-page p,
.am-page-member .am-content-page div,
.am-page-member .am-content-page span,
.am-page-member .am-content-page li,
.am-page-member .am-content-page td,
.am-page-member .am-content-page th,
.am-page-member .am-content-page label,
.am-page-member .am-content-page input,
.am-page-member .am-content-page select,
.am-page-member .am-content-page textarea,
.am-page-member .am-content-page button,
.am-page-member .tm-content-page p,
.am-page-member .tm-content-page div,
.am-page-member .tm-content-page span,
.am-page-member .tm-content-page li,
.am-page-member .tm-content-page td,
.am-page-member .tm-content-page th,
.am-page-member .tm-content-page label,
.am-page-member .tm-content-page input,
.am-page-member .tm-content-page select,
.am-page-member .tm-content-page textarea,
.am-page-member .tm-content-page button {
  font-family: var(--tm-sans) !important;
}

.am-page-member .am-content-page > :first-child,
.am-page-member .tm-content-page > :first-child {
  margin-top: 0;
}

.am-page-member .am-content-page > :last-child,
.am-page-member .tm-content-page > :last-child {
  margin-bottom: 0;
}

.am-page-member .am-content-page h1,
.am-page-member .am-content-page h2,
.am-page-member .am-content-page h3,
.am-page-member .am-content-page h4,
.am-page-member .am-content-page h5,
.am-page-member .am-content-page h6,
.am-page-member .tm-content-page h1,
.am-page-member .tm-content-page h2,
.am-page-member .tm-content-page h3,
.am-page-member .tm-content-page h4,
.am-page-member .tm-content-page h5,
.am-page-member .tm-content-page h6 {
  font-family: var(--tm-serif) !important;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--tm-ink);
  margin: 1.25rem 0 0.75rem;
}

.am-page-member .am-content-page h1,
.am-page-member .tm-content-page h1 { font-size: 1.5rem; }
.am-page-member .am-content-page h2,
.am-page-member .tm-content-page h2 { font-size: 1.25rem; }
.am-page-member .am-content-page h3,
.am-page-member .tm-content-page h3 { font-size: 1.0625rem; }

.am-page-member .am-content-page p,
.am-page-member .tm-content-page p {
  margin: 0 0 1rem;
  color: var(--tm-ink);
  font-family: var(--tm-sans) !important;
  font-size: 1rem;
  line-height: 1.65;
}

.am-page-member .am-content-page a:not(.button):not(.buttonorange):not(.buttongray):not(.am-resource-page),
.am-page-member .tm-content-page a:not(.button):not(.buttonorange):not(.buttongray):not(.am-resource-page) {
  color: var(--tm-ink);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.am-page-member .am-content-page a:not(.button):not(.buttonorange):not(.buttongray):not(.am-resource-page):hover,
.am-page-member .tm-content-page a:not(.button):not(.buttonorange):not(.buttongray):not(.am-resource-page):hover {
  color: var(--tm-muted);
}

.am-page-member .am-content-page img,
.am-page-member .tm-content-page img {
  max-width: 100%;
  height: auto;
  border-radius: var(--tm-radius-sm);
}

.am-page-member .am-content-page iframe,
.am-page-member .am-content-page video,
.am-page-member .tm-content-page iframe,
.am-page-member .tm-content-page video {
  max-width: 100%;
  border-radius: var(--tm-radius-sm);
}

.am-page-member .am-content-page ul,
.am-page-member .am-content-page ol,
.am-page-member .tm-content-page ul,
.am-page-member .tm-content-page ol {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
  color: var(--tm-ink);
  font-family: var(--tm-sans) !important;
}

.am-page-member .am-content-page li,
.am-page-member .tm-content-page li {
  margin-bottom: 0.375rem;
}

.am-page-member .am-content-page blockquote,
.am-page-member .tm-content-page blockquote {
  margin: 0 0 1rem;
  padding: 0.875rem 1rem;
  border-left: 3px solid var(--tm-border);
  background: var(--tm-cream);
  border-radius: 0 var(--tm-radius-sm) var(--tm-radius-sm) 0;
  color: var(--tm-muted);
}

.am-page-member .am-content-page pre,
.am-page-member .am-content-page code,
.am-page-member .tm-content-page pre,
.am-page-member .tm-content-page code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.875rem;
}

.am-page-member .am-content-page pre,
.am-page-member .tm-content-page pre {
  overflow-x: auto;
  margin: 0 0 1rem;
  padding: 0.875rem 1rem;
  background: var(--tm-cream);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  color: var(--tm-ink);
}

.am-page-member .am-content-page table,
.am-page-member .tm-content-page table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1rem;
  font-size: 0.9375rem;
}

.am-page-member .am-content-page th,
.am-page-member .am-content-page td,
.am-page-member .tm-content-page th,
.am-page-member .tm-content-page td {
  padding: 0.75rem 1rem;
  border: 1px solid var(--tm-border);
  text-align: left;
  vertical-align: top;
}

.am-page-member .am-content-page th,
.am-page-member .tm-content-page th {
  background: var(--tm-cream);
  color: var(--tm-ink);
  font-weight: 600;
}

.am-page-member .am-content-page hr,
.am-page-member .tm-content-page hr {
  border: none;
  border-top: 1px solid var(--tm-border);
  margin: 1.25rem 0;
}

.am-page-member .am-content-page input[type="text"],
.am-page-member .am-content-page input[type="password"],
.am-page-member .am-content-page input[type="email"],
.am-page-member .am-content-page input[type="url"],
.am-page-member .am-content-page input[type="search"],
.am-page-member .am-content-page select,
.am-page-member .am-content-page textarea,
.am-page-member .tm-content-page input[type="text"],
.am-page-member .tm-content-page input[type="password"],
.am-page-member .tm-content-page input[type="email"],
.am-page-member .tm-content-page input[type="url"],
.am-page-member .tm-content-page input[type="search"],
.am-page-member .tm-content-page select,
.am-page-member .tm-content-page textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.am-page-member .am-content-page .am-info,
.am-page-member .am-content-page .am-notice,
.am-page-member .tm-content-page .am-info,
.am-page-member .tm-content-page .am-notice {
  margin: 0 0 1rem;
  padding: 0.875rem 1rem;
  border-radius: var(--tm-radius-sm);
}

/* Content page Access / CTA buttons (/page/*, /content/p/*) */
.am-page-member .am-content-page .button,
.am-page-member .am-content-page .buttonorange,
.am-page-member .am-content-page a.button,
.am-page-member .am-content-page a.buttonorange,
.am-page-member .am-content-page a.am-resource-page,
.am-page-member .am-content-page input[type="submit"],
.am-page-member .am-content-page input[type="button"],
.am-page-member .am-content-page button,
.am-page-member .tm-content-page .button,
.am-page-member .tm-content-page .buttonorange,
.am-page-member .tm-content-page a.button,
.am-page-member .tm-content-page a.buttonorange,
.am-page-member .tm-content-page a.am-resource-page,
.am-page-member .tm-content-page input[type="submit"],
.am-page-member .tm-content-page input[type="button"],
.am-page-member .tm-content-page button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: auto;
  max-width: 100%;
  min-height: 2.75rem;
  margin: 0.375rem 0.5rem 0.375rem 0;
  padding: 0.6875rem 1.375rem;
  font-family: var(--tm-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  text-decoration: none !important;
  text-underline-offset: 0;
  border-radius: var(--tm-radius-sm) !important;
  background: var(--tm-ink) !important;
  background-image: none !important;
  border: 1px solid var(--tm-ink) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(20, 20, 19, 0.08);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

.am-page-member .am-content-page p:has(> .button),
.am-page-member .am-content-page p:has(> .buttonorange),
.am-page-member .am-content-page p:has(> a.button),
.am-page-member .am-content-page p:has(> a.buttonorange),
.am-page-member .am-content-page p:has(> a.am-resource-page),
.am-page-member .am-content-page div:has(> .button:only-child),
.am-page-member .am-content-page div:has(> .buttonorange:only-child),
.am-page-member .am-content-page div:has(> a.button:only-child),
.am-page-member .am-content-page div:has(> a.buttonorange:only-child),
.am-page-member .am-content-page div:has(> a.am-resource-page:only-child),
.am-page-member .tm-content-page p:has(> .button),
.am-page-member .tm-content-page p:has(> .buttonorange),
.am-page-member .tm-content-page p:has(> a.button),
.am-page-member .tm-content-page p:has(> a.buttonorange),
.am-page-member .tm-content-page p:has(> a.am-resource-page),
.am-page-member .tm-content-page div:has(> .button:only-child),
.am-page-member .tm-content-page div:has(> .buttonorange:only-child),
.am-page-member .tm-content-page div:has(> a.button:only-child),
.am-page-member .tm-content-page div:has(> a.buttonorange:only-child),
.am-page-member .tm-content-page div:has(> a.am-resource-page:only-child) {
  text-align: center;
  margin: 1.25rem 0;
}

.am-page-member .am-content-page .button:hover,
.am-page-member .am-content-page .buttonorange:hover,
.am-page-member .am-content-page a.button:hover,
.am-page-member .am-content-page a.buttonorange:hover,
.am-page-member .am-content-page a.am-resource-page:hover,
.am-page-member .am-content-page input[type="submit"]:hover,
.am-page-member .am-content-page input[type="button"]:hover,
.am-page-member .am-content-page button:hover,
.am-page-member .tm-content-page .button:hover,
.am-page-member .tm-content-page .buttonorange:hover,
.am-page-member .tm-content-page a.button:hover,
.am-page-member .tm-content-page a.buttonorange:hover,
.am-page-member .tm-content-page a.am-resource-page:hover,
.am-page-member .tm-content-page input[type="submit"]:hover,
.am-page-member .tm-content-page input[type="button"]:hover,
.am-page-member .tm-content-page button:hover {
  background: #2a2a28 !important;
  border-color: #2a2a28 !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(20, 20, 19, 0.12);
  text-decoration: none !important;
}

.am-page-member .am-content-page .button:active,
.am-page-member .am-content-page .buttonorange:active,
.am-page-member .am-content-page a.button:active,
.am-page-member .am-content-page a.buttonorange:active,
.am-page-member .am-content-page a.am-resource-page:active,
.am-page-member .am-content-page input[type="submit"]:active,
.am-page-member .am-content-page input[type="button"]:active,
.am-page-member .am-content-page button:active,
.am-page-member .tm-content-page .button:active,
.am-page-member .tm-content-page .buttonorange:active,
.am-page-member .tm-content-page a.button:active,
.am-page-member .tm-content-page a.buttonorange:active,
.am-page-member .tm-content-page a.am-resource-page:active,
.am-page-member .tm-content-page input[type="submit"]:active,
.am-page-member .tm-content-page input[type="button"]:active,
.am-page-member .tm-content-page button:active {
  transform: scale(0.98);
}

.am-page-member .am-content-page a.buttongray,
.am-page-member .tm-content-page a.buttongray {
  background: var(--tm-card-bg) !important;
  color: var(--tm-ink) !important;
  border: 1px solid var(--tm-border) !important;
  box-shadow: none;
}

.am-page-member .am-content-page a.buttongray:hover,
.am-page-member .tm-content-page a.buttongray:hover {
  background: var(--tm-cream) !important;
  border-color: #ccc8c0 !important;
  color: var(--tm-ink) !important;
  box-shadow: none;
}

@media (max-width: 640px) {
  .am-page-member .am-content-page .button,
  .am-page-member .am-content-page .buttonorange,
  .am-page-member .am-content-page a.button,
  .am-page-member .am-content-page a.buttonorange,
  .am-page-member .am-content-page a.am-resource-page,
  .am-page-member .am-content-page input[type="submit"],
  .am-page-member .am-content-page input[type="button"],
  .am-page-member .am-content-page button,
  .am-page-member .tm-content-page .button,
  .am-page-member .tm-content-page .buttonorange,
  .am-page-member .tm-content-page a.button,
  .am-page-member .tm-content-page a.buttonorange,
  .am-page-member .tm-content-page a.am-resource-page,
  .am-page-member .tm-content-page input[type="submit"],
  .am-page-member .tm-content-page input[type="button"],
  .am-page-member .tm-content-page button {
    display: flex;
    width: 100%;
    margin: 0.375rem 0;
  }
}

.am-page-member .am-block-category-resource {
  background: var(--tm-card-bg);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
  padding: 1.25rem;
  margin: 0 0 1rem;
}

.am-page-member .am-block-category-resource h3 {
  margin: 0 0 0.5rem;
  font-family: var(--tm-serif);
  font-size: 1.0625rem;
  font-weight: 600;
}

.am-page-member .am-block-category-resource h3 a {
  color: var(--tm-ink);
  text-decoration: none;
}

.am-page-member .am-block-category-resource h3 a:hover {
  color: var(--tm-muted);
  text-decoration: underline;
}

.am-page-member .am-block-category-resource p {
  margin: 0;
  color: var(--tm-muted);
}

@media (max-width: 768px) {
  .am-page-member .am-body-content-top h1,
  .am-page-member .am-common h1 {
    font-size: 1.5rem;
  }
}

/* ============================================================
   Signup pages — Claude theme (scoped to .am-page-signup)
   ============================================================ */
.am-page-signup {
  --tm-cream: #faf9f5;
  --tm-ink: #141413;
  --tm-muted: #6b6560;
  --tm-coral: #cc785c;
  --tm-border: #e0dcd4;
  --tm-border-soft: #ebe7df;
  --tm-card-bg: #ffffff;
  --tm-radius: 0.875rem;
  --tm-radius-sm: 0.625rem;
  --tm-serif: "Source Serif 4", "Tiempos Text", Georgia, "Times New Roman", serif;
  --tm-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --tm-shadow: 0 1px 2px rgba(20, 20, 19, 0.04), 0 4px 16px rgba(20, 20, 19, 0.04);

  background-color: var(--tm-cream);
  color: var(--tm-ink);
  font-family: var(--tm-sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html:has(body.am-page-signup),
body.am-page-signup {
  background-color: var(--tm-cream) !important;
  min-height: 100%;
}

.am-page-signup .am-layout,
.am-page-signup .am-layout.am-common,
.am-page-signup .am-body,
.am-page-signup .am-body-content-wrapper,
.am-page-signup .am-body-content-wrapper.am-main,
.am-page-signup .am-body-content,
.am-page-signup .am-body-content-top,
.am-page-signup .am-body-content-content,
.am-page-signup #nav_placeholder,
.am-page-signup .fixed-top,
.am-page-signup .am-header-line,
.am-page-signup #nav_placeholder,
.am-page-signup .am-footer,
.am-page-signup .am-footer-content-wrapper,
.am-page-signup .footer {
  background-color: var(--tm-cream) !important;
  background-image: none !important;
}

.am-page-signup .white-bg-wrapper-fullw:has(.topnav2) {
  border-bottom: 1px solid var(--tm-border);
}

.am-page-signup .white-bg-wrapper-fullw {
  background-color: var(--tm-cream) !important;
  border-bottom-color: var(--tm-border) !important;
}

.am-page-signup .topnav1,
.am-page-signup .topnav2 {
  background-color: var(--tm-cream) !important;
  font-family: var(--tm-sans);
}

.am-page-signup .topnav2 .nav-item {
  float: left;
}

.am-page-signup .topnav1 a,
.am-page-signup .topnav2 a {
  color: var(--tm-ink);
  font-size: 0.9375rem;
  font-weight: 500;
}

.am-page-signup .topnav2 a:hover,
.am-page-signup .topnav1 a:hover {
  color: var(--tm-muted);
  background-color: transparent;
}

.am-page-signup #topnavicon img,
.am-page-signup .tm-header-logo {
  display: block;
  height: 40px;
  width: auto;
  max-width: none;
  object-fit: contain;
}

.am-page-signup .nav-title,
.am-page-signup .helpdesk {
  font-family: var(--tm-sans);
}

.am-page-signup .helpdesk {
  border-radius: 999px;
  font-size: 0.8125rem;
}

.am-page-signup .dropdown-content {
  background-color: var(--tm-card-bg) !important;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  box-shadow: var(--tm-shadow);
}

.am-page-signup .dropdown-content a {
  color: var(--tm-ink);
  font-size: 0.875rem;
  font-weight: 500;
}

.am-page-signup .dropdown-content a:hover {
  background-color: transparent !important;
  color: var(--tm-muted);
}

@media screen and (max-width: 1030px) {
  .am-page-signup .topnav2.responsive .dropdown-content {
    background-color: var(--tm-cream) !important;
    border: none;
    box-shadow: none;
  }
}

.am-page-signup .am-body-content-top h1,
.am-page-signup .am-common h1 {
  font-family: var(--tm-serif);
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--tm-ink);
  line-height: 1.2;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  margin-bottom: 0.75rem;
}

.am-page-signup .am-common {
  font-family: var(--tm-sans);
  color: var(--tm-ink);
}

.am-page-signup .footer,
.am-page-signup .am-footer {
  border-top: 1px solid var(--tm-border);
  color: var(--tm-muted);
}

.am-page-signup .footer-right a {
  color: var(--tm-ink);
}

/* ---- Signup shell ---- */
.am-page-signup .am-body-content-content {
  width: 100%;
  max-width: none;
}

.am-page-signup .am-signup,
.am-page-signup .am-signup .am-form,
.am-page-signup .am-signup .am-form form {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.am-page-signup .am-signup {
  padding: 0 0 1.5rem;
}

.am-page-signup .am-signup > .am-info.am-login-text {
  margin: 0 0 1rem;
  padding: 0.875rem 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  background: var(--tm-card-bg);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  color: var(--tm-ink);
  box-shadow: var(--tm-shadow);
}

.am-page-signup .am-signup > .am-info a {
  color: var(--tm-ink);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.am-page-signup .am-signup > .am-info a:hover {
  color: var(--tm-muted);
}

.am-page-signup .am-form {
  margin: 0;
}

.am-page-signup .am-form form {
  background: var(--tm-card-bg) !important;
  border: 1px solid #d5d5d5 !important;
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
  overflow: hidden;
}

/* ---- Telegram notice ---- */
.am-page-signup .tm-signup-telegram,
.am-page-signup .am-form #row-html1-0.tm-telegram-notice {
  margin: 0;
  padding: 0.875rem 1.25rem;
  text-align: center;
  background: #fdf6f3;
  border-bottom: 1px solid #f0ddd4;
}

.am-page-signup .tm-signup-telegram-inner {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--tm-ink);
}

.am-page-signup .tm-signup-telegram-badge {
  display: inline-block;
  margin-right: 0.35rem;
  padding: 0.15rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: var(--tm-coral);
  border-radius: 999px;
  vertical-align: middle;
}

.am-page-signup .tm-signup-telegram a,
.am-page-signup .am-form #row-html1-0.tm-telegram-notice a {
  color: var(--tm-coral);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.am-page-signup .tm-signup-telegram a:hover,
.am-page-signup .am-form #row-html1-0.tm-telegram-notice a:hover {
  color: #b86a52;
}

/* ---- Fieldset sections ---- */
.am-page-signup .am-form fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

.am-page-signup .am-form fieldset + fieldset {
  border-top: 1px solid var(--tm-border-soft);
}

.am-page-signup .am-form fieldset legend {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0.875rem 1.25rem;
  font-family: var(--tm-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--tm-muted);
  box-sizing: border-box;
  background: var(--tm-cream);
  border-bottom: 1px solid var(--tm-border-soft);
}

/* ---- Form rows ---- */
.am-page-signup .am-form div.row {
  width: 100%;
  border-bottom: 1px solid var(--tm-border-soft);
  margin: 0;
  box-sizing: border-box;
}

.am-page-signup .am-form div.row:last-child {
  border-bottom: none;
}

.am-page-signup .am-form div.element-title,
.am-page-signup .am-form div.element {
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0.875rem 1.25rem;
  box-sizing: border-box;
  width: 100%;
  float: none;
  background-color: transparent !important;
}

.am-page-signup .am-form div.element-title label {
  font-family: var(--tm-sans);
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--tm-ink);
}

.am-page-signup .am-form div.element-title .required {
  color: var(--tm-coral);
}

/* Signup-2: hide asterisk on payment & product rows */
.am-page-signup-2 #row-paysys_id > .element-title .required,
.am-page-signup-2 div.row[id^="row-product_id"] > .element-title .required,
.am-page-signup-2 div.row:has(> .element [name^="product_id"]) > .element-title .required {
  display: none;
}

/* ---- Form inputs ---- */
.am-page-signup input[type="text"],
.am-page-signup input[type="password"],
.am-page-signup input[type="email"],
.am-page-signup input[type="number"],
.am-page-signup input[type="tel"],
.am-page-signup input[type="url"],
.am-page-signup input[type="search"],
.am-page-signup select,
.am-page-signup textarea {
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  color: var(--tm-ink);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: var(--tm-card-bg);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  max-width: 100%;
  box-sizing: border-box;
}

.am-page-signup input[type="text"]:focus,
.am-page-signup input[type="password"]:focus,
.am-page-signup input[type="email"]:focus,
.am-page-signup input[type="number"]:focus,
.am-page-signup input[type="tel"]:focus,
.am-page-signup input[type="url"]:focus,
.am-page-signup input[type="search"]:focus,
.am-page-signup select:focus,
.am-page-signup textarea:focus {
  outline: none;
  border-color: var(--tm-ink);
  box-shadow: 0 0 0 3px rgba(20, 20, 19, 0.08);
}

.am-page-signup .am-form input[name="name_f"],
.am-page-signup .am-form input[name="name_l"] {
  width: 14em;
  max-width: 100%;
}

.am-page-signup .am-form div.element input[type="text"],
.am-page-signup .am-form div.element input[type="password"],
.am-page-signup .am-form div.element input[type="email"],
.am-page-signup .am-form div.element input[type="number"],
.am-page-signup .am-form div.element input[type="tel"],
.am-page-signup .am-form div.element input[type="url"],
.am-page-signup .am-form div.element input[type="search"],
.am-page-signup .am-form div.element select,
.am-page-signup .am-form div.element textarea {
  box-sizing: border-box;
}

/* ---- Payment system options ---- */
.am-page-signup #row-paysys_id > .element label.radio {
  display: block;
  margin: 0;
  padding: 0.15em 0;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}

.am-page-signup #row-paysys_id > .element label.radio:last-child {
  margin-bottom: 0;
}

.am-page-signup #row-paysys_id > .element label.radio:has(input:checked) {
  border: none;
  background: transparent;
}

.am-page-signup #row-paysys_id > .element br {
  display: none;
}

.am-page-signup #row-paysys_id.tm-paysys-single > .element label.radio {
  border: none;
  background: transparent;
  padding: 0;
  cursor: default;
}

.am-page-signup #row-paysys_id.tm-paysys-single > .element label.radio input[type="radio"] {
  display: none;
}

.am-page-signup #row-paysys_id.tm-paysys-single .am-paysystem-title {
  font-weight: 600;
  color: var(--tm-ink);
}

.am-page-signup #row-paysys_id.tm-paysys-single .am-paysystem-desc {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--tm-muted);
}

/* ---- Submit row ---- */
.am-page-signup .am-form #row-buttons {
  background: var(--tm-cream);
  border-top: 1px solid var(--tm-border);
}

.am-page-signup .am-form #row-buttons .element-title {
  display: none;
}

.am-page-signup .am-form #row-buttons .element {
  width: 100%;
  margin: 0;
  padding: 1.25rem;
  text-align: left;
  background: transparent;
  box-sizing: border-box;
}

.am-page-signup .am-form input.am-cta-signup[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 0.625rem 1.25rem;
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  background: var(--tm-ink) !important;
  border: 1px solid var(--tm-ink) !important;
  border-radius: var(--tm-radius-sm);
  cursor: pointer;
  box-shadow: none;
  transform: none;
  transition: background-color 0.15s ease;
}

.am-page-signup .am-form input.am-cta-signup[type="submit"]:hover,
.am-page-signup .am-form input.am-cta-signup[type="submit"]:active {
  background: #2a2a28 !important;
  border-color: #2a2a28 !important;
  color: #fff;
}

.am-page-signup .am-form #row-buttons a {
  color: var(--tm-ink);
  text-decoration: none;
  margin-right: 1em;
  font-weight: 500;
  font-size: 0.875rem;
}

.am-page-signup .am-form #row-buttons a:hover {
  color: var(--tm-muted);
  text-decoration: underline;
}

/* ---- Alerts & errors ---- */
.am-page-signup .am-info {
  background: var(--tm-cream);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  color: var(--tm-ink);
}

.am-page-signup .am-flash-content-error,
.am-page-signup ul.errors {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--tm-radius-sm);
  color: #991b1b;
}

/* ---- Phone OTP (plugin) ---- */
.am-page-signup .tm-phone-otp-wrap {
  margin-top: 0.65rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: var(--tm-cream);
}

.am-page-signup .tm-phone-otp-wrap.is-verified {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.am-page-signup .tm-phone-otp-code {
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  font-family: var(--tm-sans);
}

.am-page-signup .tm-phone-otp-btn {
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: var(--tm-card-bg);
  color: var(--tm-ink);
  font-family: var(--tm-sans);
  font-weight: 500;
}

.am-page-signup .tm-phone-otp-btn-primary {
  background: var(--tm-ink);
  border-color: var(--tm-ink);
  color: #fff;
}

.am-page-signup .tm-phone-otp-btn-primary:hover:not(:disabled) {
  background: #2a2a28;
  border-color: #2a2a28;
}

/* ---- Desktop two-column layout ---- */
@media all and (min-width: 500px) {
  .am-page-signup-standard .am-form div.row,
  .am-page-signup-2 .am-form div.row {
    overflow: hidden;
  }

  .am-page-signup-standard .am-form div.element-title,
  .am-page-signup-2 .am-form div.element-title {
    width: 35% !important;
    float: left;
    text-align: right;
    padding: 0.875rem 0.75rem 0.875rem 1.25rem;
    margin: 0 !important;
    background-color: transparent;
  }

  .am-page-signup-standard .am-form div.element,
  .am-page-signup-2 .am-form div.element {
    width: auto !important;
    margin: 0 0 0 35% !important;
    padding: 0.875rem 1.25rem 0.875rem 0.5rem;
  }

  .am-page-signup-standard .am-form div.row.row-wide .element-title,
  .am-page-signup-standard .am-form div.row.row-wide .element,
  .am-page-signup-2 .am-form div.row.row-wide .element-title,
  .am-page-signup-2 .am-form div.row.row-wide .element,
  .am-page-signup-standard .am-form div.row.no-label .element,
  .am-page-signup-2 .am-form div.row.no-label .element {
    float: none;
    width: 100%;
    margin-left: 0;
    text-align: left;
  }

  .am-page-signup-standard .am-form div.row.row-head .element-title {
    float: none;
    width: 100%;
    text-align: left;
    margin: 0;
  }

  .am-page-signup-standard .am-form #row-buttons .element,
  .am-page-signup-2 .am-form #row-buttons .element {
    margin-left: 35% !important;
    padding: 1.25rem 1.25rem 1.25rem 0.5rem;
  }
}

@media all and (max-width: 499px) {
  .am-page-signup .am-form div.element input[type="text"],
  .am-page-signup .am-form div.element input[type="password"],
  .am-page-signup .am-form div.element input[type="email"],
  .am-page-signup .am-form div.element input[type="number"],
  .am-page-signup .am-form div.element input[type="tel"],
  .am-page-signup .am-form div.element input[type="url"],
  .am-page-signup .am-form div.element input[type="search"],
  .am-page-signup .am-form div.element select,
  .am-page-signup .am-form div.element textarea {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .am-page-signup .am-body-content-top h1,
  .am-page-signup .am-common h1 {
    font-size: 1.5rem;
  }

  .am-page-signup .am-signup {
    padding: 0 0 1rem;
  }
}

/* ============================================================
   Payment processing pages — Claude theme
   ============================================================ */
.am-page-payment {
  --tm-cream: #faf9f5;
  --tm-ink: #141413;
  --tm-muted: #6b6560;
  --tm-border: #e0dcd4;
  --tm-card-bg: #ffffff;
  --tm-radius: 0.875rem;
  --tm-radius-sm: 0.625rem;
  --tm-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --tm-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --tm-shadow: 0 1px 2px rgba(20, 20, 19, 0.04), 0 4px 16px rgba(20, 20, 19, 0.04);

  background-color: var(--tm-cream);
  color: var(--tm-ink);
  font-family: var(--tm-sans);
}

html:has(body.am-page-payment),
body.am-page-payment {
  background-color: var(--tm-cream) !important;
}

.am-page-payment .am-layout,
.am-page-payment .am-body,
.am-page-payment .am-body-content-wrapper,
.am-page-payment .am-body-content,
.am-page-payment .fixed-top,
.am-page-payment .am-header-line,
.am-page-payment #nav_placeholder,
.am-page-payment .white-bg-wrapper-fullw,
.am-page-payment .am-footer,
.am-page-payment .am-footer-content-wrapper,
.am-page-payment .footer {
  background-color: var(--tm-cream) !important;
  background-image: none !important;
}

.am-page-payment .white-bg-wrapper-fullw:has(.topnav2) {
  border-bottom: 1px solid var(--tm-border);
}

.am-page-payment .white-bg-wrapper-fullw {
  background-color: var(--tm-cream) !important;
  border-bottom-color: var(--tm-border) !important;
}

.am-page-payment .topnav1,
.am-page-payment .topnav2 {
  background-color: var(--tm-cream) !important;
  font-family: var(--tm-sans);
}

.am-page-payment .topnav2 .nav-item {
  float: left;
}

.am-page-payment .topnav1 a,
.am-page-payment .topnav2 a {
  color: var(--tm-ink);
  font-size: 0.9375rem;
  font-weight: 500;
}

.am-page-payment .topnav2 a:hover,
.am-page-payment .topnav1 a:hover {
  color: var(--tm-muted);
  background-color: transparent !important;
}

.am-page-payment #topnavicon img,
.am-page-payment .tm-header-logo {
  display: block;
  height: 40px;
  width: auto;
  max-width: none;
  object-fit: contain;
}

.am-page-payment .nav-title,
.am-page-payment .helpdesk {
  font-family: var(--tm-sans);
}

.am-page-payment .helpdesk {
  border-radius: 999px;
  font-size: 0.8125rem;
}

.am-page-payment .dropdown-content {
  background-color: var(--tm-card-bg) !important;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  box-shadow: var(--tm-shadow);
}

.am-page-payment .dropdown-content a {
  color: var(--tm-ink);
  font-size: 0.875rem;
  font-weight: 500;
}

.am-page-payment .dropdown-content a:hover {
  background-color: transparent !important;
  color: var(--tm-muted);
}

@media screen and (max-width: 1030px) {
  .am-page-payment .topnav2.responsive,
  .am-page-signup .topnav2.responsive {
    background-color: var(--tm-cream) !important;
  }

  .am-page-payment .topnav2.responsive .dropdown-content,
  .am-page-signup .topnav2.responsive .dropdown-content {
    background-color: var(--tm-cream) !important;
    border: none;
    box-shadow: none;
  }
}

.am-page-payment .tm-payment-page-top {
  display: none;
}

.am-page-payment .tm-payment-processing {
  width: 100%;
  max-width: none;
  padding: 0 0 1.5rem;
}

.am-page-payment .tm-payment-card {
  width: 100%;
  background: var(--tm-card-bg);
  border: 1px solid #d5d5d5;
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow);
  padding: 2rem 1.5rem;
  box-sizing: border-box;
  text-align: center;
}

.am-page-payment .tm-payment-spinner {
  width: 44px;
  height: 44px;
  margin: 0 auto 1.25rem;
  border: 3px solid var(--tm-border);
  border-top-color: var(--tm-ink);
  border-radius: 50%;
  animation: tm-payment-spin 0.9s linear infinite;
}

@keyframes tm-payment-spin {
  to { transform: rotate(360deg); }
}

.am-page-payment-manual .tm-payment-spinner {
  display: none !important;
}

.am-page-payment .tm-payment-title {
  margin: 0 0 0.5rem;
  font-family: var(--tm-serif);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--tm-ink);
}

.am-page-payment .tm-payment-content {
  width: 100%;
  text-align: left;
}

.am-page-payment .tm-payment-content > br {
  display: none;
}

.am-page-payment .tm-payment-redirect-form {
  margin: 0;
}

.am-page-payment .tm-payment-fallback {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--tm-border);
}

.am-page-payment .tm-payment-noscript {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--tm-muted);
}

/* Primary CTA — overrides amember orange submit defaults */
.am-page-payment .tm-payment-submit,
.am-page-payment .tm-payment-redirect-form #payment-continue-button,
.am-page-payment .tm-payment-redirect-form input[type="submit"],
.am-page-payment .tm-payment-redirect-form button[type="submit"],
.am-page-payment .tm-payment-manual-form input[type="submit"],
.am-page-payment .make-payment-button input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 2.75rem;
  padding: 0.625rem 1.5rem;
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  font-weight: 500 !important;
  line-height: 1.25;
  color: #fff !important;
  background: var(--tm-ink) !important;
  background-image: none !important;
  border: 1px solid var(--tm-ink) !important;
  border-radius: var(--tm-radius-sm);
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
  -webkit-appearance: none;
  appearance: none;
}

.am-page-payment .tm-payment-submit:hover,
.am-page-payment .tm-payment-redirect-form #payment-continue-button:hover,
.am-page-payment .tm-payment-redirect-form input[type="submit"]:hover,
.am-page-payment .tm-payment-redirect-form button[type="submit"]:hover,
.am-page-payment .tm-payment-manual-form input[type="submit"]:hover,
.am-page-payment .make-payment-button input[type="submit"]:hover {
  background: #2a2a28 !important;
  border-color: #2a2a28 !important;
  color: #fff !important;
}

.am-page-payment .tm-payment-submit:active,
.am-page-payment .tm-payment-redirect-form #payment-continue-button:active,
.am-page-payment .tm-payment-redirect-form input[type="submit"]:active {
  transform: scale(0.98);
}

/* Hide redirect submit while JS auto-redirect runs */
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form input[type="submit"],
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form #payment-continue-button {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

/* Show styled fallback when JS is disabled */
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form .tm-payment-fallback input[type="submit"],
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form .tm-payment-noscript ~ .tm-payment-actions input[type="submit"],
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form .tm-payment-noscript + input[type="submit"],
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form .tm-payment-noscript + #payment-continue-button,
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form.tm-payment-show-continue input[type="submit"],
.am-page-payment:not(.am-page-payment-manual) .tm-payment-redirect-form.tm-payment-show-continue #payment-continue-button {
  position: static;
  left: auto;
  width: auto;
  height: auto;
  min-width: 180px;
  min-height: 2.75rem;
  overflow: visible;
  clip: auto;
  display: inline-flex !important;
}

.am-page-payment .tm-payment-actions-fallback {
  margin-top: 1.5rem;
}

.am-page-payment .tm-payment-actions-fallback[hidden] {
  display: none !important;
}

/* Receipt table */
.am-page-payment .am-receipt {
  margin: 0 0 1.25rem;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  overflow: hidden;
  background: var(--tm-cream);
}

.am-page-payment .am-receipt-content {
  overflow-x: auto;
}

.am-page-payment .am-receipt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.am-page-payment .am-receipt-table th,
.am-page-payment .am-receipt-table td {
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--tm-border);
  text-align: left;
  vertical-align: top;
}

.am-page-payment .am-receipt-row-head th {
  background: var(--tm-cream);
  font-weight: 600;
  color: var(--tm-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.am-page-payment .am-receipt-row-total td {
  background: #fff;
  font-weight: 600;
}

.am-page-payment .am-receipt-row-terms td {
  font-size: 0.8125rem;
  color: var(--tm-muted);
  background: var(--tm-cream);
}

/* Manual payment amount box */
.am-page-payment .tm-payment-amount-box {
  margin: 0 0 1.25rem;
  padding: 1rem;
  background: var(--tm-cream);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
}

.am-page-payment .tm-payment-amount-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-weight: 600;
}

.am-page-payment .tm-payment-amount-label {
  color: var(--tm-muted);
  font-size: 0.875rem;
  font-weight: 500;
}

.am-page-payment .tm-payment-amount-value {
  color: var(--tm-ink);
  font-size: 1rem;
}

.am-page-payment .tm-payment-note {
  margin: 0.875rem 0 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--tm-muted);
  font-weight: 400;
}

.am-page-payment .tm-payment-actions {
  text-align: center;
  margin-top: 0.5rem;
}

.am-page-payment .tm-payment-submit-secondary {
  background: var(--tm-card-bg) !important;
  color: var(--tm-ink) !important;
  border-color: var(--tm-border) !important;
}

.am-page-payment .tm-payment-submit-secondary:hover {
  background: var(--tm-cream) !important;
}

/* UPI modal */
.am-page-payment .tm-payment-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(20, 20, 19, 0.45);
}

.am-page-payment .tm-payment-modal-card {
  position: relative;
  width: 100%;
  max-width: 400px;
  padding: 1.5rem;
  background: var(--tm-card-bg);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius);
  box-shadow: 0 8px 32px rgba(20, 20, 19, 0.12);
  text-align: center;
}

.am-page-payment .tm-payment-modal-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: var(--tm-muted);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.am-page-payment .tm-payment-modal-title {
  margin: 0 0 1rem;
  font-family: var(--tm-serif);
  font-size: 1.125rem;
  font-weight: 600;
}

.am-page-payment .tm-payment-qrcode {
  display: flex;
  justify-content: center;
  padding: 0.75rem;
  margin: 0 auto 1rem;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: #fff;
  width: fit-content;
}

.am-page-payment .tm-payment-upload label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--tm-ink);
}

.am-page-payment .tm-payment-upload input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem;
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: var(--tm-cream);
}

@media (max-width: 768px) {
  .am-page-payment .tm-payment-card {
    padding: 1.5rem 1rem;
  }

  .am-page-payment .tm-payment-title {
    font-size: 1.25rem;
  }

  .am-page-payment .am-receipt-table th,
  .am-page-payment .am-receipt-table td {
    padding: 0.5rem;
    font-size: 0.75rem;
  }
}

/* ---- Agreement pages (/agreement/*) ---- */
.am-page-agreement {
  --tm-cream: #faf9f5;
  --tm-ink: #141413;
  --tm-muted: #6b6560;
  --tm-border: #e0dcd4;
  --tm-border-soft: #ebe7df;
  --tm-card-bg: #ffffff;
  --tm-radius: 0.875rem;
  --tm-radius-sm: 0.625rem;
  --tm-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --tm-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --tm-shadow: 0 1px 2px rgba(20, 20, 19, 0.04), 0 4px 16px rgba(20, 20, 19, 0.04);

  background-color: var(--tm-cream);
  color: var(--tm-ink);
  font-family: var(--tm-sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html:has(body.am-page-agreement),
body.am-page-agreement {
  background-color: var(--tm-cream) !important;
}

.am-page-agreement .am-layout,
.am-page-agreement .am-body,
.am-page-agreement .am-body-content-wrapper,
.am-page-agreement .am-body-content,
.am-page-agreement .fixed-top,
.am-page-agreement .am-header-line,
.am-page-agreement #nav_placeholder,
.am-page-agreement .white-bg-wrapper-fullw,
.am-page-agreement .am-footer,
.am-page-agreement .am-footer-content-wrapper,
.am-page-agreement .footer {
  background-color: var(--tm-cream) !important;
  background-image: none !important;
}

.am-page-agreement .footer,
.am-page-agreement .am-footer {
  border-top: 1px solid var(--tm-border) !important;
  color: var(--tm-muted);
}

.am-page-agreement .footer-right a {
  color: var(--tm-ink);
}

.am-page-agreement .am-body-content-top {
  display: none;
}

.am-page-agreement .am-body-content-content {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding-top: 1.5rem;
  padding-bottom: 2rem;
  box-sizing: border-box;
}

.am-page-agreement .tm-agreement {
  width: 100%;
  max-width: 100%;
}

.am-page-agreement .tm-agreement-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  width: 100%;
  max-width: 100%;
}

.am-page-agreement .tm-agreement-header {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0 0 1.25rem !important;
  border-bottom: none !important;
  background: transparent !important;
}

.am-page-agreement .tm-agreement-header-icon {
  flex: none;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--tm-radius-sm);
  color: #fff;
  background: var(--tm-ink);
}

.am-page-agreement .tm-agreement-header-icon svg {
  width: 1.375rem;
  height: 1.375rem;
}

.am-page-agreement .tm-agreement-header-text {
  min-width: 0;
}

.am-page-agreement .tm-agreement-title {
  margin: 0;
  padding: 0;
  font-family: var(--tm-serif);
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.03em;
  color: var(--tm-ink);
}

.am-page-agreement .tm-agreement-subtitle {
  margin: 0.25rem 0 0;
  font-family: var(--tm-sans);
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--tm-muted);
}

.am-page-agreement .tm-agreement-body {
  padding: 0 !important;
  color: var(--tm-ink);
  font-family: var(--tm-sans);
  font-size: 1rem;
  line-height: 1.65;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.am-page-agreement .tm-agreement-body.tm-content-page {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.am-page-agreement .tm-agreement-body > :first-child {
  margin-top: 0;
}

.am-page-agreement .tm-agreement-body > :last-child {
  margin-bottom: 0;
}

.am-page-agreement .tm-agreement-body h1,
.am-page-agreement .tm-agreement-body h2,
.am-page-agreement .tm-agreement-body h3,
.am-page-agreement .tm-agreement-body h4 {
  font-family: var(--tm-serif);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--tm-ink);
  margin: 1.25rem 0 0.75rem;
}

.am-page-agreement .tm-agreement-body h1 { font-size: 1.375rem; }
.am-page-agreement .tm-agreement-body h2 { font-size: 1.125rem; }
.am-page-agreement .tm-agreement-body h3 { font-size: 1rem; }

.am-page-agreement .tm-agreement-body p,
.am-page-agreement .tm-agreement-body li,
.am-page-agreement .tm-agreement-body td,
.am-page-agreement .tm-agreement-body th {
  font-family: var(--tm-sans);
  color: var(--tm-ink);
}

.am-page-agreement .tm-agreement-body p {
  margin: 0 0 1rem;
}

.am-page-agreement .tm-agreement-body ul,
.am-page-agreement .tm-agreement-body ol {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}

.am-page-agreement .tm-agreement-body li {
  margin-bottom: 0.375rem;
}

.am-page-agreement .tm-agreement-body a {
  color: var(--tm-ink);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.am-page-agreement .tm-agreement-body a:hover {
  color: var(--tm-muted);
}

.am-page-agreement .tm-agreement-body pre {
  overflow: auto;
  padding: 1rem;
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-sm);
  background: var(--tm-cream);
  font-size: 0.875rem;
  line-height: 1.5;
}

.am-page-agreement .tm-agreement-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1rem;
  font-size: 0.9375rem;
}

.am-page-agreement .tm-agreement-body th,
.am-page-agreement .tm-agreement-body td {
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--tm-border);
  text-align: left;
}

.am-page-agreement .tm-agreement-body th {
  background: var(--tm-cream);
  font-weight: 600;
}

.am-page-agreement .tm-agreement-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--tm-radius-sm);
}

@media (max-width: 768px) {
  .am-page-agreement .tm-agreement-header {
    padding: 0 0 1rem;
  }

  .am-page-agreement .tm-agreement-title {
    font-size: 1.125rem;
  }
}
