


.pay-card-binding{margin-bottom:18px;font-size:14px;color:var(--aidc-text-primary)}
.pay-card-binding__details{border:1px solid var(--aidc-border-default);border-radius:14px;background:var(--aidc-bg-card);padding:14px}
.pay-card-binding summary{cursor:pointer;font-weight:600;min-height:28px;line-height:28px}
.pay-card-binding__form{max-width:560px;display:grid;gap:14px;margin-top:12px}
.pay-card-binding p{margin:0;line-height:1.6;color:var(--aidc-text-secondary);overflow-wrap:anywhere}
.pay-card-binding label{display:grid;gap:8px}
.pay-card-binding input[type="email"]{box-sizing:border-box;min-width:0;width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--aidc-border-default);background:var(--aidc-bg-elevated);color:var(--aidc-text-primary);font:inherit}
.pay-card-binding .pay-card-binding__consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.pay-card-binding input[type="checkbox"]{flex:none;margin-top:4px;accent-color:var(--aidc-action-primary-from)}
.pay-card-binding button{border:1px solid var(--aidc-btn-primary-border);border-radius:10px;background:var(--aidc-btn-primary-bg);color:var(--aidc-btn-primary-text);padding:10px 14px;min-height:42px;font:inherit;cursor:pointer;max-width:100%;white-space:normal}
.pay-card-binding button:hover{background:var(--aidc-btn-primary-bg-hover)}
.pay-card-binding button:disabled{opacity:.6;cursor:wait}
.pay-card-binding :focus-visible{outline:2px solid var(--aidc-action-primary-from);outline-offset:3px}
.pay-card-binding__progress{margin-top:12px;display:grid;gap:12px}
.pay-card-binding .pay-card-binding__error{color:var(--aidc-red-500)}
.pay-card-binding [hidden]{display:none!important}




/* Shared runtime subscription visual contract for Account + Payments. */
body[data-page="account"] .aidc-subscription-summary,
body[data-page="payments"] .aidc-subscription-summary{background:var(--aidc-bg-elevated)!important;border-color:var(--aidc-border-default)!important;color:var(--aidc-text-secondary)!important}
body[data-page="account"] .aidc-subscription-heading,
body[data-page="payments"] .aidc-subscription-heading,
body[data-page="account"] .aidc-subscription-text,
body[data-page="payments"] .aidc-subscription-text{color:var(--aidc-text-primary)!important}
body[data-page="account"] .aidc-subscription-label,
body[data-page="payments"] .aidc-subscription-label{color:var(--aidc-text-muted)!important}

body[data-page="account"] .aidc-subscription-notice--warning,
body[data-page="payments"] .aidc-subscription-notice--warning{background:var(--aidc-status-warning-bg)!important;border-color:var(--aidc-status-warning-border)!important;color:var(--aidc-status-warning-text)!important}
body[data-page="account"] .aidc-subscription-notice--warning *,
body[data-page="payments"] .aidc-subscription-notice--warning *{color:inherit!important}
body[data-page="account"] .aidc-subscription-notice--success,
body[data-page="payments"] .aidc-subscription-notice--success{background:var(--aidc-status-success-bg)!important;border-color:var(--aidc-status-success-border)!important;color:var(--aidc-status-success)!important}
body[data-page="account"] .aidc-subscription-notice--success *,
body[data-page="payments"] .aidc-subscription-notice--success *{color:inherit!important}
body[data-page="account"] .aidc-subscription-notice--danger,
body[data-page="payments"] .aidc-subscription-notice--danger{background:var(--aidc-status-danger-bg)!important;border-color:var(--aidc-action-danger-border)!important;color:var(--aidc-red-500)!important}
body[data-page="account"] .aidc-subscription-notice--neutral,
body[data-page="payments"] .aidc-subscription-notice--neutral{background:var(--aidc-btn-secondary-bg)!important;border-color:var(--aidc-border-default)!important;color:var(--aidc-text-secondary)!important}

body[data-page="account"] .aidc-subscription-referral,
body[data-page="payments"] .aidc-subscription-referral{background:color-mix(in srgb,var(--aidc-violet-500) 8%,var(--aidc-bg-card) 92%)!important;border-color:color-mix(in srgb,var(--aidc-violet-500) 28%,transparent)!important;color:var(--aidc-text-secondary)!important}
body[data-page="account"] .aidc-subscription-referral *,
body[data-page="payments"] .aidc-subscription-referral *{color:inherit!important}

body[data-page="account"] .aidc-subscription-action--secondary,
body[data-page="payments"] .aidc-subscription-action--secondary{background:var(--aidc-btn-secondary-bg)!important;border-color:var(--aidc-border-default)!important;color:var(--aidc-text-primary)!important}
body[data-page="account"] .aidc-subscription-action--secondary:hover,
body[data-page="payments"] .aidc-subscription-action--secondary:hover{background:var(--aidc-btn-secondary-bg-hover)!important;border-color:var(--aidc-border-strong)!important}

body:has(.account-layout) .section-card details,
body:has(.account-layout) .section-card details > summary{color:var(--aidc-text-secondary)!important}
body:has(.account-layout) .section-card details > summary:hover,
body:has(.account-layout) .section-card details[open] > summary{color:var(--aidc-text-primary)!important}

/* The bridge cannot reliably classify every legacy inline fragment because old
   account builds used several literal variants. Root-scoped light rules make
   the entire runtime subscription block safe even when a new literal appears. */
html[data-aidc-color-mode="light"] body[data-page="account"] :is([data-subscription-panel],#pay-subscription-block),
html[data-aidc-color-mode="light"] body[data-page="payments"] :is([data-subscription-panel],#pay-subscription-block){
  background:var(--aidc-bg-card)!important;
  border:1px solid var(--aidc-border-default)!important;
  color:var(--aidc-text-secondary)!important;
  box-shadow:none!important
}
html[data-aidc-color-mode="light"] body[data-page="account"] :is([data-subscription-panel],#pay-subscription-block) :where(p,span,div,small,li):not(.aidc-subscription-notice--warning *):not(.aidc-subscription-notice--success *),
html[data-aidc-color-mode="light"] body[data-page="payments"] :is([data-subscription-panel],#pay-subscription-block) :where(p,span,div,small,li):not(.aidc-subscription-notice--warning *):not(.aidc-subscription-notice--success *){
  color:var(--aidc-text-secondary)!important
}
html[data-aidc-color-mode="light"] body[data-page="account"] :is([data-subscription-panel],#pay-subscription-block) :where(b,strong,h2,h3,h4),
html[data-aidc-color-mode="light"] body[data-page="payments"] :is([data-subscription-panel],#pay-subscription-block) :where(b,strong,h2,h3,h4){color:var(--aidc-text-primary)!important}
html[data-aidc-color-mode="light"] body[data-page="account"] :is([data-subscription-panel],#pay-subscription-block) :where(a,button):not(.btn-danger-outline):not(.aidc-subscription-action--primary),
html[data-aidc-color-mode="light"] body[data-page="payments"] :is([data-subscription-panel],#pay-subscription-block) :where(a,button):not(.btn-danger-outline):not(.aidc-subscription-action--primary){
  background:var(--aidc-btn-secondary-bg)!important;
  border-color:var(--aidc-border-default)!important;
  color:var(--aidc-text-primary)!important;
  box-shadow:none!important
}

/* Explicit plan CTA wins over legacy/light runtime button classification. */
body[data-page="payments"] #pay-subscription-block .aidc-subscription-action--primary{
  background:var(--aidc-btn-primary-bg)!important;
  border-color:var(--aidc-btn-primary-border)!important;
  color:var(--aidc-btn-primary-text)!important
}
body[data-page="payments"] #pay-subscription-block .aidc-subscription-action--primary:hover{
  background:var(--aidc-btn-primary-bg-hover)!important;
  border-color:var(--aidc-btn-primary-border-hover)!important
}
body[data-page="payments"] #pay-subscription-block .aidc-subscription-action--primary:focus-visible{
  outline:2px solid var(--aidc-action-focus-ring);
  outline-offset:2px
}


body[data-page="payments"] .payments-content-panel{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important
}

body[data-page="payments"] .payments-page-title{
  color:var(--aidc-text-primary)!important
}

body[data-page="payments"] .account-layout *{
  scrollbar-color:var(--aidc-border-default) transparent!important
}

body[data-page="payments"] .account-layout *::-webkit-scrollbar-thumb{
  background:var(--aidc-border-default)!important
}

body[data-page="payments"] .pay-tab{
  background:var(--aidc-btn-secondary-bg)!important;
  border-color:var(--aidc-border-default)!important;
  color:var(--aidc-text-secondary)!important
}

body[data-page="payments"] .pay-tab:hover{
  background:var(--aidc-btn-secondary-bg-hover)!important;
  border-color:var(--aidc-border-strong)!important;
  color:var(--aidc-text-primary)!important
}

body[data-page="payments"] .pay-tab.is-active{
  background:color-mix(in srgb,var(--aidc-action-primary-from) 12%,transparent)!important;
  border-color:color-mix(in srgb,var(--aidc-action-primary-from) 38%,transparent)!important;
  color:var(--aidc-text-primary)!important;
  box-shadow:none!important
}

body[data-page="payments"] .pay-card,
body[data-page="payments"] .pay-info-block{
  background:var(--aidc-bg-card)!important;
  border-color:var(--aidc-border-subtle)!important;
  box-shadow:var(--aidc-shadow-popover)!important
}

body[data-page="payments"] .pay-card.is-default{
  border-color:color-mix(in srgb,var(--aidc-cyan-500) 42%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--aidc-cyan-500) 22%,transparent)!important
}

body[data-page="payments"] .pay-card__last4,
body[data-page="payments"] .pay-table td,
body[data-page="payments"] .pay-info-block__text{
  color:var(--aidc-text-secondary)!important
}

body[data-page="payments"] .pay-card__exp,
body[data-page="payments"] .pay-empty,
body[data-page="payments"] .pay-table th,
body[data-page="payments"] .auth-guard p{
  color:var(--aidc-text-muted)!important
}

body[data-page="payments"] .pay-card__badge{
  background:color-mix(in srgb,var(--aidc-cyan-500) 12%,transparent)!important;
  color:var(--aidc-cyan-500)!important;
  border-color:color-mix(in srgb,var(--aidc-cyan-500) 30%,transparent)!important
}

body[data-page="payments"] .pay-card__btn,
body[data-page="payments"] .pay-pager__btn{
  background:var(--aidc-btn-secondary-bg)!important;
  border-color:var(--aidc-border-default)!important;
  color:var(--aidc-text-secondary)!important
}

body[data-page="payments"] .pay-card__btn:hover,
body[data-page="payments"] .pay-pager__btn:hover:not(:disabled){
  background:var(--aidc-btn-secondary-bg-hover)!important;
  border-color:var(--aidc-border-strong)!important;
  color:var(--aidc-text-primary)!important
}

body[data-page="payments"] .pay-card__btn--danger{
  background:color-mix(in srgb,var(--aidc-red-500) 8%,transparent)!important;
  border-color:var(--aidc-action-danger-border)!important;
  color:var(--aidc-red-500)!important
}

body[data-page="payments"] .pay-card__btn--danger:hover{
  background:color-mix(in srgb,var(--aidc-red-500) 14%,transparent)!important;
  border-color:var(--aidc-red-500)!important
}

body[data-page="payments"] .pay-info-block__title{
  color:var(--aidc-text-primary)!important
}

body[data-page="payments"] .pay-table th,
body[data-page="payments"] .pay-table td{
  border-color:var(--aidc-border-subtle)!important
}

body[data-page="payments"] .pay-table tr:hover td{
  background:var(--aidc-btn-secondary-bg)!important
}

body[data-page="payments"] .pay-status--succeeded{
  background:var(--aidc-status-success-bg)!important;
  color:var(--aidc-status-success)!important;
  border-color:var(--aidc-status-success-border)!important
}

body[data-page="payments"] .pay-status--pending{
  background:var(--aidc-status-warning-bg)!important;
  color:var(--aidc-status-warning-text)!important;
  border-color:var(--aidc-status-warning-border)!important
}

body[data-page="payments"] .pay-status--failed{
  background:var(--aidc-status-danger-bg)!important;
  color:var(--aidc-red-500)!important;
  border-color:var(--aidc-action-danger-border)!important
}

body[data-page="payments"] .pay-status--refunded{
  background:color-mix(in srgb,var(--aidc-violet-500) 12%,transparent)!important;
  color:var(--aidc-violet-500)!important;
  border-color:color-mix(in srgb,var(--aidc-violet-500) 30%,transparent)!important
}

body[data-page="payments"] .pay-pager__btn.is-active{
  background:color-mix(in srgb,var(--aidc-action-primary-from) 12%,transparent)!important;
  border-color:color-mix(in srgb,var(--aidc-action-primary-from) 38%,transparent)!important;
  color:var(--aidc-text-primary)!important
}

body[data-page="payments"] .auth-guard a{
  color:var(--aidc-cyan-500)!important
}


/* Account Payments layout, sizing and interaction geometry.
   Visual ownership: design-system/adapters/account-payments-theme.css. */

body[data-page="payments"]{
  min-height:100vh;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}

body[data-page="payments"] .account-layout{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:14px;
  margin-top:10px
}

@media(max-width:1000px){
  body[data-page="payments"] .account-layout{grid-template-columns:1fr}
}

body[data-page="payments"] .side-nav h2{
  font-size:15px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 10px
}

body[data-page="payments"] .side-nav .nav-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  text-decoration:none;
  font-size:14px
}

body[data-page="payments"] .nav-icon{
  width:16px;
  height:16px;
  flex-shrink:0
}

body[data-page="payments"] .section-card{
  border-radius:18px;
  padding:16px;
  margin-bottom:12px
}

body[data-page="payments"] .payments-content-panel{
  border:none!important;
  padding:0!important
}

body[data-page="payments"] .payments-page-title{
  margin:0 0 16px;
  font-size:17px;
  letter-spacing:.06em
}

body[data-page="payments"] .pay-subscription-block{margin-bottom:16px}
body[data-page="payments"] .pay-filter-tabs{margin-bottom:12px}
body[data-page="payments"] .pay-info-block__logos--secondary{margin-top:18px;margin-bottom:0;gap:28px}

body[data-page="payments"] .pay-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px
}

body[data-page="payments"] .pay-tab{
  height:36px;
  padding:0 14px;
  font-size:13px;
  letter-spacing:.08em;
  border-radius:999px;
  cursor:pointer;
  transition:all .15s
}

body[data-page="payments"] .pay-tab-content{display:none}
body[data-page="payments"] .pay-tab-content.is-active{display:block}

body[data-page="payments"] .pay-methods-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;
  margin-bottom:16px
}

body[data-page="payments"] .pay-card{
  border-radius:14px;
  padding:14px;
  position:relative
}

body[data-page="payments"] .pay-card__brand{
  font-size:18px;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:8px
}

body[data-page="payments"] .pay-card__icon{
  width:28px;
  height:28px;
  object-fit:contain;
  flex-shrink:0
}

body[data-page="payments"] .pay-card__last4{
  font-size:14px;
  margin-top:4px;
  font-family:monospace
}

body[data-page="payments"] .pay-card__exp{
  font-size:12px;
  margin-top:2px
}

body[data-page="payments"] .pay-card__badge{
  position:absolute;
  top:10px;
  right:10px;
  font-size:10px;
  padding:2px 8px;
  border-radius:999px;
  letter-spacing:.1em;
  text-transform:uppercase
}

body[data-page="payments"] .pay-card__actions{
  display:flex;
  gap:8px;
  margin-top:10px
}

body[data-page="payments"] .pay-card__btn{
  height:30px;
  padding:0 12px;
  border-radius:8px;
  font-size:12px;
  cursor:pointer
}

body[data-page="payments"] .pay-empty{
  font-size:14px;
  padding:20px 0;
  text-align:center
}

body[data-page="payments"] .pay-info-block{
  margin-top:20px;
  border-radius:16px;
  padding:22px 24px
}

body[data-page="payments"] .pay-info-block__title{
  font-size:15px;
  font-weight:600;
  margin-bottom:16px;
  letter-spacing:.03em
}

body[data-page="payments"] .pay-info-block__logos{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  align-items:center;
  margin-bottom:18px
}

body[data-page="payments"] .pay-info-block__logo{
  height:42px;
  width:auto;
  opacity:.9;
  transition:opacity .15s
}

body[data-page="payments"] .pay-info-block__logo--lg{height:63px}
body[data-page="payments"] .pay-info-block__logo:hover{opacity:1}
body[data-page="payments"] .pay-info-block__text{font-size:14.5px;line-height:1.75}
body[data-page="payments"] .pay-info-block__text p{margin:0 0 10px}
body[data-page="payments"] .pay-info-block__text p:last-child{margin-bottom:0}

body[data-page="payments"] .pay-table-wrap{overflow-x:auto}
body[data-page="payments"] .pay-table{width:100%;border-collapse:collapse;font-size:13px}
body[data-page="payments"] .pay-table th{text-align:left;padding:8px 10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
body[data-page="payments"] .pay-table td{padding:8px 10px}

body[data-page="payments"] .pay-status{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px
}

body[data-page="payments"] .pay-pager{
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:center;
  margin-top:12px
}

body[data-page="payments"] .pay-pager__btn{
  height:32px;
  min-width:32px;
  padding:0 8px;
  border-radius:8px;
  font-size:13px;
  cursor:pointer
}
body[data-page="payments"] .pay-pager__btn:disabled{opacity:.4;cursor:not-allowed}

body[data-page="payments"] .account-layout *{scrollbar-width:thin}
body[data-page="payments"] .account-layout *::-webkit-scrollbar{width:8px!important;height:8px!important}
body[data-page="payments"] .account-layout *::-webkit-scrollbar-track{background:transparent;border-radius:10px}
body[data-page="payments"] .account-layout *::-webkit-scrollbar-thumb{border-radius:10px;border:2px solid transparent;background-clip:content-box}

body[data-page="payments"] .auth-guard{padding:40px 0;text-align:center}
body[data-page="payments"] .auth-guard p{margin-bottom:12px}
