.coral-billing-dialog {
  --color-primary: var(--coral-link); --color-text: var(--coral-ink); --color-text-muted: var(--coral-muted);
  --color-surface: var(--coral-surface); --color-surface-muted: var(--coral-pale);
  --color-border: var(--coral-border); --color-border-muted: var(--coral-border); --color-warning: var(--coral-rust);
  box-sizing: border-box; width: min(940px, calc(100vw - 28px)); max-width: none; max-height: calc(100dvh - 28px);
  padding: 0; border: 1px solid var(--coral-border); border-radius: 18px; background: var(--coral-surface); color: var(--coral-ink);
  box-shadow: 0 20px 80px #00142255; font-family: 'DM Sans', system-ui, sans-serif;
}
.coral-billing-dialog::backdrop { background: #001422a6; backdrop-filter: blur(4px); }
.coral-billing-dialog .billing-dialog { width: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: var(--coral-surface); }
.coral-billing-dialog .settings-header { align-items: start; padding: 20px 24px; border-bottom: 1px solid var(--coral-border); }
.coral-billing-dialog .settings-header h2 { margin: 5px 0 0; color: var(--coral-ink); font-family: inherit; font-weight: 700; font-size: 1.45rem; line-height: 1.3; letter-spacing: -.035em; }
.coral-billing-dialog .settings-eyebrow { margin: 0; color: var(--coral-link); font-size: .72rem; font-weight: 700; }
.coral-billing-dialog .settings-body { padding: 20px 24px 24px; gap: 16px; }
.coral-billing-dialog button { min-height: 44px; padding: 10px 14px; border: 1px solid var(--coral-border); border-radius: 10px; background: var(--coral-surface); color: var(--coral-ink); font: inherit; font-size: .85rem; cursor: pointer; }
.coral-billing-dialog button:disabled { opacity: .5; cursor: not-allowed; }
.coral-billing-dialog button:hover:not(:disabled) { border-color: var(--coral-border-focus); background: var(--coral-pale); }
.coral-billing-dialog :is(button, input, a, summary):focus-visible { outline: 2px solid var(--coral-border-focus); outline-offset: 3px; }
.coral-billing-dialog .modal-close { flex: 0 0 44px; padding: 8px; }
.coral-billing-dialog .billing-summary-card { margin: 0; }
.coral-billing-dialog .billing-status-desc:empty { display: none; }
.coral-billing-dialog .billing-actions:not(:has(button:not([hidden]))) { display: none; }
.coral-billing-dialog .billing-plans-container { margin: 0; }
.coral-billing-dialog .billing-plans-heading { margin: 0; font-family: inherit; color: var(--coral-ink); }
.coral-billing-dialog .billing-pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.coral-billing-dialog .billing-price-card { display: flex; flex-direction: column; min-width: 0; padding: 16px; }
.coral-billing-dialog .price-card-header { display: grid; gap: 8px; }
.coral-billing-dialog .price-card-title { font-size: .9rem; }
.coral-billing-dialog .price-card-desc { flex: 1; margin: 8px 0; color: var(--coral-muted); font-size: .8rem; line-height: 1.6; }
.coral-billing-dialog .price-card--featured .price-card-badge { position: absolute; top: -10px; right: 12px; font-size: .67rem; background: var(--coral-pale); color: var(--coral-link); }
.coral-billing-dialog .btn-checkout { width: 100%; align-self: end; }
.coral-billing-dialog .btn-checkout--primary { background: var(--coral-action-fill); color: var(--coral-action-text); border-color: var(--coral-action-fill); }
.coral-billing-dialog .billing-agreement { color: var(--coral-muted); font-size: .8rem; line-height: 1.6; }
.coral-billing-dialog .billing-agreement-label { display: block; }
.coral-billing-dialog .billing-agreement input { display: inline-block; vertical-align: middle; margin: 0 8px 0 0; width: 18px; height: 18px; accent-color: var(--coral-link); }
.coral-billing-dialog a { color: var(--coral-link); }
.coral-billing-dialog .billing-activity-section { margin-top: 20px; border-color: var(--coral-border); }
.coral-billing-dialog .billing-activity-section summary { min-height: 44px; padding-block: 12px; cursor: pointer; }
.coral-billing-dialog .billing-activity-list { padding: 0; list-style: none; }
.coral-billing-dialog .billing-activity-filters { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 680px) {
  .coral-billing-dialog .billing-pricing-grid { grid-template-columns: minmax(0, 1fr); }
  .coral-billing-dialog .settings-header, .coral-billing-dialog .settings-body { padding: 16px; }
}
