.subscribe-shell { max-width: 820px; }
.subscribe-shell > .console-heading { margin-bottom: 28px; }
.subscribe-card { padding: 0; }
.subscribe-account { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 26px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
.subscribe-account span, .subscribe-account strong { display: block; overflow-wrap: anywhere; }
.subscribe-account span { color: var(--muted); font-size: var(--text-small); margin-bottom: 6px; }
.subscribe-account strong { font-size: var(--text-body); font-weight: 600; }
.subscribe-account button { font-size: var(--text-ui); min-height: 38px; padding: 7px 14px; }
.subscribe-card > h2 { font-size: var(--text-heading); font-weight: 700; letter-spacing: 0; margin: 0; }
.subscribe-price { font-size: var(--text-heading); font-weight: 600; margin: 12px 0 28px; }
.subscribe-card p { line-height: 1.7; }
.subscribe-card form > .button { min-width: 220px; justify-content: center; border-radius: 5px; box-shadow: none; padding: 12px 28px; background: var(--teal); }
.subscribe-card form > .button:hover { background: var(--teal-dark); }
.subscribe-details { font-size: var(--text-small); color: var(--muted); margin-top: 20px; max-width: 680px; }
.subscribe-details summary { cursor: pointer; }
.subscribe-back { font-size: var(--text-small); margin: 32px 0 0; color: var(--teal-dark); }
.subscribe-terms, .subscribe-footnote { font-size: var(--text-small); color: var(--muted); }
.subscribe-status { padding: 24px 28px; margin: 28px 0; background: #f4f9f7; border: 1px solid #deebe5; border-radius: 8px; }
.subscribe-status h2 { font-size: var(--text-strong); line-height: 1.5; margin: 0; font-weight: 600; }
.subscribe-status p { font-size: var(--text-ui); margin: 10px 0; }
.subscribe-status button { margin: 12px 12px 0 0; font-size: var(--text-small); }
.subscribe-status [data-billing-resume] { background: var(--teal); color: #fff; }
.subscribe-history { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 30px; }
.subscribe-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.subscribe-history-heading h2 { font-size: var(--text-strong); font-weight: 600; margin: 0; }
.subscribe-history-heading button { font-size: var(--text-ui); margin-left: auto; }
.subscribe-payment { padding: 20px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.subscribe-payment p { margin: 8px 0; font-size: var(--text-small); }
.subscribe-payment button { margin-top: 8px; font-size: var(--text-small); }
.subscribe-card a:hover { text-decoration: underline; }
@media (max-width: 800px) {
  .subscribe-account { align-items: flex-start; gap: 14px; flex-direction: column; }
  .subscribe-status { padding: 20px; }
  .subscribe-status button { width: 100%; margin-right: 0; }
  .subscribe-card form > .button { width: 100%; }
}
