.establishment-billing-page,
.billing-overview-panel {
  display: grid;
  gap: var(--atende-space-5);
}

.billing-overview-panel > .establishment-section-card,
.billing-active-grid > .establishment-section-card,
.billing-offer-grid > .establishment-section-card,
.billing-charge-guide {
  background: var(--atende-color-surface);
  border: 1px solid var(--atende-color-border);
  border-radius: var(--atende-radius-card);
  box-shadow: var(--atende-shadow-sm);
}

.billing-overview-panel small,
.billing-overview-panel span,
.billing-overview-panel p { overflow-wrap: anywhere; }
.billing-overview-panel,
.billing-overview-panel > *,
.billing-overview-panel header > div { min-width: 0; }
.billing-overview-panel h2,
.billing-overview-panel p { margin-bottom: 0; }

.billing-title-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--atende-space-3);
}

.billing-title-row h2 { flex: 0 1 auto; margin: var(--atende-space-2) 0 0; }

.billing-icon {
  align-items: center;
  background: var(--atende-color-brand-soft);
  border-radius: 50%;
  color: var(--atende-color-brand);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.billing-icon svg {
  fill: none;
  height: 1.35rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 1.35rem;
}

.billing-trial-card,
.billing-subscription-card,
.billing-inactive-card,
.billing-current-plan-card,
.billing-pending-attempt-card,
.billing-payments-card,
.billing-about-card,
.billing-plan-offer-card { overflow: hidden; }

.billing-trial-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
}

.billing-trial-layout > header,
.billing-trial-countdown,
.billing-subscription-card > header,
.billing-inactive-card > header,
.billing-current-plan-card > header,
.billing-pending-attempt-card > header,
.billing-payments-card > header,
.billing-about-card > header { padding: var(--atende-space-6); }

.billing-trial-layout > header > div > small,
.billing-subscription-card > header small,
.billing-inactive-card > header small,
.billing-current-plan-card > header small,
.billing-pending-attempt-card > header small,
.billing-payments-card > header small,
.billing-plan-offer-summary > small {
  color: var(--atende-color-brand);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.09em;
}

.billing-trial-layout > header p,
.billing-subscription-card > header p,
.billing-inactive-card > header p,
.billing-pending-attempt-card > header p,
.billing-payments-card > header p,
.billing-plan-offer-summary > p { color: var(--atende-color-muted); margin-top: var(--atende-space-2); }

.billing-trial-layout > header h2 { font-size: 1.75rem; }

.billing-trial-card .badge,
.billing-subscription-card .badge,
.billing-inactive-card .badge,
.billing-current-plan-card .badge,
.billing-pending-attempt-card .badge {
  align-items: center;
  display: inline-flex;
  gap: var(--atende-space-1);
  padding: var(--atende-space-2) var(--atende-space-3);
}

.billing-pending-attempt-card > header { background: var(--atende-color-info-soft); }
.billing-pending-attempt-card.tone-warning > header { background: var(--atende-color-warning-soft); }
.billing-pending-attempt-card .badge { background: var(--atende-color-surface); color: var(--atende-color-info); }
.billing-pending-attempt-card.tone-warning .badge { color: var(--atende-color-warning); }

.billing-attempt-details {
  display: grid;
  gap: var(--atende-space-4);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: var(--atende-space-5) var(--atende-space-6) 0;
}
.billing-attempt-details > div { align-items: center; display: flex; gap: var(--atende-space-3); min-width: 0; }
.billing-attempt-details .billing-icon { height: 2rem; width: 2rem; }
.billing-attempt-details .billing-icon svg { height: 1.05rem; width: 1.05rem; }
.billing-attempt-details span { display: grid; gap: var(--atende-space-1); min-width: 0; }
.billing-attempt-details small { color: var(--atende-color-muted); font-size: 0.72rem; }
.billing-attempt-details strong { font-size: 0.84rem; overflow-wrap: anywhere; }
.billing-attempt-details:last-child { padding-bottom: var(--atende-space-6); }
.billing-attempt-actions {
  display: flex;
  gap: var(--atende-space-3);
  justify-content: flex-end;
  padding: var(--atende-space-5) var(--atende-space-6) var(--atende-space-6);
}
.billing-plan-attempt-note { border-top: 1px solid var(--atende-color-border); padding-top: var(--atende-space-4); }

.billing-trial-card .badge { background: var(--atende-color-info-soft); color: var(--atende-color-info); }
.billing-subscription-card.tone-success .badge,
.billing-current-plan-card .badge.tone-success,
.billing-current-plan-card .badge.tone-info { background: var(--atende-color-success-soft); color: var(--atende-color-success); }
.billing-subscription-card.tone-warning .badge,
.billing-current-plan-card .badge.tone-warning { background: var(--atende-color-warning-soft); color: var(--atende-color-warning); }
.billing-subscription-card.tone-neutral .badge,
.billing-current-plan-card .badge.tone-neutral,
.billing-inactive-card .badge { background: var(--atende-color-surface-soft); color: var(--atende-color-muted); }

.billing-subscription-card .badge .billing-icon { background: transparent; color: currentColor; height: 1rem; width: 1rem; }
.billing-subscription-card .badge .billing-icon svg { height: 1rem; width: 1rem; }

.billing-trial-countdown {
  border-left: 1px solid var(--atende-color-border);
  display: grid;
  gap: var(--atende-space-3);
}

.billing-trial-mobile-summary,
.billing-plan-title-mobile { display: none; }

.billing-trial-countdown > small {
  color: var(--atende-color-brand);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.billing-trial-days { align-items: center; display: flex; gap: var(--atende-space-4); }
.billing-trial-days > strong {
  color: var(--atende-color-brand);
  font-size: clamp(3.75rem, 7vw, 5.5rem);
  letter-spacing: -0.055em;
  line-height: 0.8;
}
.billing-trial-days > span { color: var(--atende-color-text); font-size: 1.15rem; font-weight: 800; max-width: 7rem; }

.billing-trial-countdown progress {
  accent-color: var(--atende-color-brand);
  background: var(--atende-color-surface-soft);
  border: 0;
  border-radius: var(--atende-radius-lg);
  height: 0.65rem;
  overflow: hidden;
  width: 100%;
}
.billing-trial-countdown progress::-webkit-progress-bar { background: var(--atende-color-surface-soft); }
.billing-trial-countdown progress::-webkit-progress-value { background: var(--atende-color-brand); border-radius: var(--atende-radius-lg); }
.billing-trial-countdown progress::-moz-progress-bar { background: var(--atende-color-brand); border-radius: var(--atende-radius-lg); }

.billing-trial-dates { color: var(--atende-color-muted); display: flex; font-size: 0.8rem; gap: var(--atende-space-3); justify-content: space-between; }
.billing-trial-dates strong { color: var(--atende-color-text); }

.billing-status-notice {
  align-items: center;
  border-top: 1px solid var(--atende-color-border);
  display: flex;
  gap: var(--atende-space-4);
  margin: 0 var(--atende-space-6) var(--atende-space-6);
  padding: var(--atende-space-4);
}
.billing-status-notice.tone-info { background: var(--atende-color-info-soft); border: 0; border-radius: var(--atende-radius-md); }
.billing-status-notice.tone-info .billing-icon { background: var(--atende-color-surface); color: var(--atende-color-info); }
.billing-status-notice.tone-success { background: var(--atende-color-success-soft); border: 1px solid var(--atende-color-border); border-radius: var(--atende-radius-md); }
.billing-status-notice p { color: var(--atende-color-muted); margin-top: var(--atende-space-1); }

.billing-active-grid,
.billing-offer-grid {
  display: grid;
  gap: var(--atende-space-5);
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 1fr);
}
.billing-active-grid-secondary { align-items: stretch; }
.billing-subscription-card > header,
.billing-inactive-card > header { display: block; }

.billing-subscription-details {
  border-top: 1px solid var(--atende-color-border);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 var(--atende-space-6);
  padding: var(--atende-space-4) 0 var(--atende-space-6);
}
.billing-subscription-details > div {
  align-items: flex-start;
  border-left: 1px solid var(--atende-color-border);
  display: flex;
  gap: var(--atende-space-3);
  min-width: 0;
  padding-inline: var(--atende-space-4);
}
.billing-subscription-details > div:first-child { border-left: 0; padding-left: 0; }
.billing-subscription-details > div:last-child { padding-right: 0; }
.billing-subscription-details .billing-icon { height: 2rem; width: 2rem; }
.billing-subscription-details .billing-icon svg { height: 1.1rem; width: 1.1rem; }
.billing-subscription-details span { display: grid; gap: var(--atende-space-1); min-width: 0; }
.billing-subscription-details small { color: var(--atende-color-muted); font-size: 0.72rem; }
.billing-subscription-details strong { font-size: 0.84rem; }

.billing-current-plan-card { padding-bottom: var(--atende-space-5); }
.billing-current-plan-card > header { padding-bottom: 0; }
.billing-current-plan-card > header h2,
.billing-about-card > header h2 { margin-top: var(--atende-space-2); }
.billing-current-price,
.billing-plan-price { align-items: baseline; display: flex; gap: var(--atende-space-2); }
.billing-current-price { padding: var(--atende-space-3) var(--atende-space-6) 0; }
.billing-current-price strong,
.billing-plan-price strong { font-size: clamp(2.2rem, 4vw, 3.25rem); letter-spacing: -0.045em; line-height: 1; }
.billing-current-price span,
.billing-plan-price span,
.billing-current-plan-frequency { color: var(--atende-color-muted); }
.billing-current-plan-frequency { padding: var(--atende-space-2) var(--atende-space-6) 0; }

.billing-provider-note {
  align-items: center;
  background: var(--atende-color-brand-soft);
  border: 1px solid var(--atende-color-border);
  border-radius: var(--atende-radius-md);
  display: flex;
  gap: var(--atende-space-3);
  margin: var(--atende-space-4) var(--atende-space-6) 0;
  padding: var(--atende-space-4);
}
.billing-provider-note > div,
.billing-benefit > div,
.billing-plan-note > div,
.billing-security-notice > div,
.billing-first-charge > div { display: grid; gap: var(--atende-space-1); }
.billing-provider-note span,
.billing-benefit span,
.billing-plan-note span,
.billing-security-notice span,
.billing-first-charge span { color: var(--atende-color-muted); font-size: 0.82rem; }

.billing-cancel-action { display: grid; gap: var(--atende-space-2); padding: var(--atende-space-4) var(--atende-space-6) 0; }
.billing-cancel-action .btn { width: 100%; }
.billing-cancel-action small { color: var(--atende-color-muted); text-align: center; }

.billing-plan-offer-layout {
  display: grid;
  gap: var(--atende-space-6);
  grid-template-columns: minmax(15rem, 0.9fr) minmax(0, 1.1fr);
  padding: var(--atende-space-6);
}
.billing-plan-offer-summary { border-right: 1px solid var(--atende-color-border); padding-right: var(--atende-space-6); }
.billing-plan-offer-summary h2 { margin-top: var(--atende-space-3); }
.billing-plan-price { margin-top: var(--atende-space-6); }
.billing-plan-price span { font-weight: 700; }
.billing-plan-unavailable { margin-top: var(--atende-space-5); }
.billing-plan-unavailable strong { font-size: 1.6rem; }
.billing-plan-unavailable p { color: var(--atende-color-muted); margin-top: var(--atende-space-2); }
.billing-plan-actions { display: grid; gap: var(--atende-space-2); margin-top: var(--atende-space-5); }
.billing-plan-actions .btn { width: 100%; }
.billing-plan-actions small { color: var(--atende-color-muted); text-align: center; }

.billing-plan-feature-grid { display: grid; gap: var(--atende-space-4); }
.billing-plan-feature-grid article { display: flex; gap: var(--atende-space-3); }
.billing-plan-feature-grid article > div { min-width: 0; }
.billing-plan-feature-grid h5 { color: var(--atende-color-text); font-size: 0.85rem; margin: 0; }
.billing-plan-feature-grid ul { color: var(--atende-color-muted); display: grid; font-size: 0.75rem; gap: var(--atende-space-1); list-style: none; margin: var(--atende-space-1) 0 0; padding: 0; }
.billing-plan-feature-grid li::before { color: var(--atende-color-success); content: "✓"; font-weight: 900; margin-right: var(--atende-space-2); }
.billing-plan-features-unavailable { color: var(--atende-color-muted); margin: 0; }

.billing-plan-note {
  align-items: center;
  background: var(--atende-color-brand-soft);
  border-top: 1px solid var(--atende-color-border);
  display: flex;
  gap: var(--atende-space-3);
  padding: var(--atende-space-4) var(--atende-space-6);
}

.billing-charge-guide {
  align-self: start;
  display: grid;
  gap: var(--atende-space-4);
  padding: var(--atende-space-5);
}
.billing-charge-guide > h2,
.billing-charge-highlight h2 { font-size: 1rem; margin: 0; }
.billing-charge-highlight,
.billing-first-charge { align-items: flex-start; display: flex; gap: var(--atende-space-3); }
.billing-charge-highlight p { color: var(--atende-color-muted); font-size: 0.82rem; margin-top: var(--atende-space-1); }
.billing-first-charge { background: var(--atende-color-info-soft); border-radius: var(--atende-radius-md); color: var(--atende-color-info); padding: var(--atende-space-4); }
.billing-first-charge .billing-icon { background: var(--atende-color-surface); color: var(--atende-color-info); }
.billing-charge-list,
.billing-about-list { display: grid; gap: var(--atende-space-4); }
.billing-benefit { align-items: flex-start; display: flex; gap: var(--atende-space-3); }
.billing-benefit .billing-icon { border-radius: var(--atende-radius-sm); height: 2rem; width: 2rem; }
.billing-benefit .billing-icon svg { height: 1rem; width: 1rem; }
.billing-about-card > header { padding-bottom: var(--atende-space-3); }
.billing-about-list { padding: 0 var(--atende-space-6) var(--atende-space-6); }

.billing-payments-card > header {
  align-items: flex-start;
  border-bottom: 1px solid var(--atende-color-border);
  display: flex;
  gap: var(--atende-space-4);
  justify-content: space-between;
}
.billing-payments-card > header > span { color: var(--atende-color-muted); white-space: nowrap; }
.billing-payments-card .table-responsive { padding: var(--atende-space-2) var(--atende-space-6) var(--atende-space-4); }
.billing-payments-card .table { margin: 0; table-layout: fixed; width: 100%; }
.billing-payments-card .table th { color: var(--atende-color-muted); font-size: 0.75rem; font-weight: 600; }
.billing-payments-card .table td { min-width: 0; vertical-align: middle; }
.billing-payments-card .table td:nth-child(2) { display: grid; gap: var(--atende-space-1); }
.billing-payment-title-row { min-width: 0; }
.billing-payment-mobile-status { display: none; }
.billing-payments-card .table td strong,
.billing-payments-card .table td small { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.billing-payments-card .table td:nth-child(2) small { color: var(--atende-color-muted); }
.billing-payments-card .establishment-empty-state { margin: var(--atende-space-6); }
.billing-payments-card .establishment-pagination { padding: 0 var(--atende-space-6) var(--atende-space-5); }
.billing-payments-card .badge { background: var(--atende-color-info-soft); color: var(--atende-color-info); }
.billing-payments-card .billing-payment-approved { background: var(--atende-color-success-soft); color: var(--atende-color-success); }
.billing-payments-card .billing-payment-rejected,
.billing-payments-card .billing-payment-refunded,
.billing-payments-card .billing-payment-charged_back { background: var(--atende-color-danger-soft); color: var(--atende-color-danger); }

.billing-security-notice {
  align-items: center;
  background: var(--atende-color-brand-soft);
  border: 1px solid var(--atende-color-border);
  border-radius: var(--atende-radius-card);
  display: flex;
  gap: var(--atende-space-4);
  padding: var(--atende-space-4) var(--atende-space-6);
}

.billing-regularization-form,
.billing-cancellation-form { display: grid; gap: var(--atende-space-4); }
.billing-regularization-form label,
.billing-cancellation-form label { align-items: flex-start; display: flex; gap: var(--atende-space-2); }
.billing-regularization-form input,
.billing-cancellation-form input { margin-top: var(--atende-space-1); }
.billing-dialog-actions { display: flex; gap: var(--atende-space-2); justify-content: flex-end; }

.billing-method-dialog,
.billing-pix-dialog { display: grid; gap: var(--atende-space-4); }
.billing-method-dialog > p,
.billing-pix-dialog > p { color: var(--atende-color-muted); margin: 0; }
.billing-payment-methods { display: grid; gap: var(--atende-space-3); }
.billing-payment-method {
  align-items: center;
  background: var(--atende-color-surface);
  border: 1px solid var(--atende-color-border);
  border-radius: var(--atende-radius-md);
  color: var(--atende-color-text);
  cursor: pointer;
  display: flex;
  gap: var(--atende-space-3);
  min-height: var(--atende-control-height);
  padding: var(--atende-space-4);
  text-align: left;
  width: 100%;
}
.billing-renewal-notice {
  align-items: flex-start;
  border: 1px solid var(--atende-color-border);
  border-radius: var(--atende-radius-md);
  display: flex;
  gap: var(--atende-space-3);
  margin: var(--atende-space-4) var(--atende-space-6) 0;
  padding: var(--atende-space-4);
}
.billing-renewal-notice.tone-info { background: var(--atende-color-info-soft); }
.billing-renewal-notice.tone-warning { background: var(--atende-color-warning-soft); color: var(--atende-color-warning); }
.billing-renewal-notice.tone-danger { background: var(--atende-color-danger-soft); color: var(--atende-color-danger); }
.billing-renewal-notice > div { color: var(--atende-color-text); display: grid; gap: var(--atende-space-1); }
.billing-renewal-notice p { color: var(--atende-color-muted); }
.billing-payment-method:hover { background: var(--atende-color-brand-soft); border-color: var(--atende-color-brand); }
.billing-payment-method:focus-visible,
.billing-pix-copy textarea:focus-visible { outline: 3px solid color-mix(in srgb, var(--atende-color-brand) 24%, transparent); outline-offset: 2px; }
.billing-payment-method > span:last-child { display: grid; gap: var(--atende-space-1); }
.billing-payment-method small { color: var(--atende-color-muted); }
.billing-pix-dialog { justify-items: center; text-align: center; }
.billing-pix-qr {
  aspect-ratio: 1;
  border: 1px solid var(--atende-color-border);
  border-radius: var(--atende-radius-md);
  display: block;
  max-width: 18rem;
  padding: var(--atende-space-3);
  width: min(100%, 18rem);
}
.billing-pix-copy { display: grid; gap: var(--atende-space-2); text-align: left; width: 100%; }
.billing-pix-copy > span { color: var(--atende-color-text); font-size: 0.8rem; font-weight: 800; }
.billing-pix-copy textarea {
  background: var(--atende-color-surface-soft);
  border: 1px solid var(--atende-color-border);
  border-radius: var(--atende-radius-sm);
  color: var(--atende-color-text);
  font: inherit;
  overflow-wrap: anywhere;
  padding: var(--atende-space-3);
  resize: none;
  width: 100%;
}
.billing-pix-expiry { display: flex; gap: var(--atende-space-2); justify-content: center; }
.billing-pix-expiry span { color: var(--atende-color-muted); }
.billing-pix-dialog .billing-dialog-actions { justify-content: center; width: 100%; }
.billing-renew-pix { padding: var(--atende-space-4) var(--atende-space-6) 0; }

html[data-establishment-access-mode="billing_only"] .establishment-tour-actions,
html[data-establishment-access-mode="billing_only"] #refresh { display: none; }

@media (max-width: 991.98px) {
  .billing-trial-layout,
  .billing-active-grid,
  .billing-offer-grid { grid-template-columns: minmax(0, 1fr); }
  .billing-trial-countdown { border-left: 0; border-top: 1px solid var(--atende-color-border); }
}

@media (max-width: 767.98px) {
  .establishment-billing-page,
  .billing-overview-panel,
  .billing-active-grid,
  .billing-offer-grid { gap: var(--atende-space-4); }
  .billing-trial-layout > header,
  .billing-trial-countdown,
  .billing-subscription-card > header,
  .billing-inactive-card > header,
  .billing-current-plan-card > header,
  .billing-pending-attempt-card > header,
  .billing-payments-card > header,
  .billing-about-card > header,
  .billing-plan-offer-layout { padding: var(--atende-space-5); }
  .billing-title-row { align-items: flex-start; flex-wrap: nowrap; justify-content: space-between; }
  .billing-title-row h2 { font-size: clamp(1.45rem, 6.8vw, 2rem); }
  .billing-pending-attempt-card .billing-title-row { flex-wrap: wrap; }
  .billing-pending-attempt-card .billing-title-row h2 { font-size: clamp(1.25rem, 6vw, 1.7rem); }
  .billing-trial-layout > header { padding: var(--atende-space-4) var(--atende-space-4) var(--atende-space-2); }
  .billing-trial-layout > header .billing-title-row { gap: var(--atende-space-2); }
  .billing-trial-layout > header h2 { font-size: clamp(0.95rem, 4.5vw, 1.1rem); margin-top: 0; }
  .billing-trial-layout > header p { font-size: 0.75rem; margin-top: var(--atende-space-1); }
  .billing-trial-layout > header .badge { font-size: 0.625rem; padding: var(--atende-space-1) var(--atende-space-2); white-space: nowrap; }
  .billing-trial-countdown { display: none; }
  .billing-trial-mobile-summary {
    align-items: center;
    border: 1px solid var(--atende-color-border);
    border-radius: var(--atende-radius-md);
    display: grid;
    gap: var(--atende-space-3);
    grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.2fr);
    margin: 0 var(--atende-space-4) var(--atende-space-3);
    padding: var(--atende-space-2);
  }
  .billing-trial-mobile-summary .billing-trial-days { gap: var(--atende-space-2); }
  .billing-trial-mobile-summary .billing-trial-days > strong { font-size: 2.75rem; }
  .billing-trial-mobile-summary .billing-trial-days > span { font-size: 0.8rem; line-height: 1.2; }
  .billing-trial-mobile-end { align-items: center; border-left: 1px solid var(--atende-color-border); display: flex; gap: var(--atende-space-2); min-width: 0; padding-left: var(--atende-space-2); }
  .billing-trial-mobile-end .billing-icon { background: transparent; height: 1.75rem; width: 1.75rem; }
  .billing-trial-mobile-end .billing-icon svg { height: 1rem; width: 1rem; }
  .billing-trial-mobile-end > span { color: var(--atende-color-muted); display: grid; font-size: 0.68rem; gap: var(--atende-space-1); line-height: 1.25; }
  .billing-trial-mobile-end strong { color: var(--atende-color-text); font-size: 0.78rem; }
  .billing-status-notice { gap: var(--atende-space-3); margin: 0 var(--atende-space-4) var(--atende-space-4); padding: var(--atende-space-3); }
  .billing-status-notice .billing-icon { height: 2rem; width: 2rem; }
  .billing-status-notice .billing-icon svg { height: 1rem; width: 1rem; }
  .billing-status-notice strong { font-size: 0.78rem; }
  .billing-status-notice p { font-size: 0.72rem; }
  .billing-subscription-details { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-inline: var(--atende-space-5); }
  .billing-subscription-details > div { display: grid; gap: var(--atende-space-2); padding-inline: var(--atende-space-2); }
  .billing-subscription-details > div:first-child { padding-left: 0; }
  .billing-subscription-details > div:last-child { padding-right: 0; }
  .billing-subscription-details small,
  .billing-subscription-details strong { font-size: 0.68rem; }
  .billing-current-price,
  .billing-current-plan-frequency { padding-inline: var(--atende-space-5); }
  .billing-provider-note { margin-inline: var(--atende-space-5); padding: var(--atende-space-4); }
  .billing-attempt-details { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: var(--atende-space-5); }
  .billing-attempt-actions { padding-inline: var(--atende-space-5); }
  .billing-renewal-notice { margin-inline: var(--atende-space-5); padding: var(--atende-space-3); }
  .billing-cancel-action { margin: 0; padding: var(--atende-space-4) var(--atende-space-5) 0; }
  .billing-plan-offer-layout { gap: var(--atende-space-4); grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .billing-plan-offer-summary { padding-right: var(--atende-space-4); }
  .billing-plan-title-desktop { display: none; }
  .billing-plan-title-mobile { display: inline; }
  .billing-plan-offer-summary > p { font-size: 0.72rem; line-height: 1.35; }
  .billing-plan-price strong { font-size: clamp(2rem, 10vw, 2.8rem); }
  .billing-plan-feature-grid { gap: var(--atende-space-3); }
  .billing-plan-feature-grid article { gap: var(--atende-space-2); }
  .billing-plan-feature-grid .billing-icon { height: 1.9rem; width: 1.9rem; }
  .billing-plan-feature-grid .billing-icon svg { height: 1rem; width: 1rem; }
  .billing-plan-feature-grid h5 { font-size: 0.72rem; }
  .billing-plan-feature-grid ul { font-size: 0.68rem; }
  .billing-plan-feature-grid li:not(:first-child) { display: none; }
  .billing-plan-feature-grid li:first-child::before { display: none; }
  .billing-plan-note,
  .billing-security-notice { padding-inline: var(--atende-space-5); }
  .billing-charge-guide { padding: var(--atende-space-5); }
  .billing-about-list { padding: 0 var(--atende-space-5) var(--atende-space-5); }
  .billing-payments-card .table-responsive { max-width: 100%; overflow: hidden; padding-inline: var(--atende-space-5); }
  .billing-payments-card .table { min-width: 0; }
  .billing-payments-card .table thead { display: none; }
  .billing-payments-card .table tbody,
  .billing-payments-card .table tr,
  .billing-payments-card .table td { display: block; width: 100%; }
  .billing-payments-card .table tr {
    display: grid;
    gap: var(--atende-space-2) var(--atende-space-3);
    grid-template-columns: minmax(6rem, 0.7fr) minmax(0, 1.5fr) minmax(5rem, 0.7fr) auto;
    padding-block: var(--atende-space-3);
  }
  .billing-payments-card .table td { border: 0; padding: 0; }
  .billing-payments-card .table td:nth-child(2) { display: grid; }
  .billing-payments-card .establishment-empty-state { margin: var(--atende-space-5); }
  .billing-dialog-actions { flex-direction: column-reverse; }
  .billing-dialog-actions .btn { width: 100%; }
  .billing-payment-method { padding: var(--atende-space-3); }
  .billing-pix-dialog .billing-dialog-actions { flex-direction: column; }
  .billing-renew-pix { padding-inline: var(--atende-space-5); }
}

@media (max-width: 479.98px) {
  .billing-trial-dates { display: grid; gap: var(--atende-space-1); }
  .billing-plan-offer-layout { grid-template-columns: minmax(0, 1fr); padding-inline: var(--atende-space-4); }
  .billing-plan-offer-summary { border-bottom: 1px solid var(--atende-color-border); border-right: 0; padding: 0 0 var(--atende-space-4); }
  .billing-plan-price { gap: var(--atende-space-1); }
  .billing-plan-price strong { font-size: 2.1rem; }
  .billing-plan-price span { font-size: 0.75rem; white-space: nowrap; }
  .billing-plan-offer-summary > p,
  .billing-plan-actions small,
  .billing-plan-note span { font-size: 0.75rem; }
  .billing-plan-actions .btn { font-size: 0.8rem; padding-inline: var(--atende-space-3); white-space: normal; }
  .billing-plan-feature-grid h5 { font-size: 0.82rem; }
  .billing-plan-feature-grid ul { font-size: 0.75rem; }
  .billing-plan-feature-grid li::before { display: none; }
  .billing-subscription-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .billing-subscription-details > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .billing-attempt-details { grid-template-columns: minmax(0, 1fr); }
  .billing-attempt-actions { flex-direction: column; }
  .billing-attempt-actions .btn { width: 100%; }
  .billing-payments-card .table tr { grid-template-columns: minmax(0, 1fr); }
  .billing-payment-title-row { align-items: flex-start; display: flex; gap: var(--atende-space-3); justify-content: space-between; }
  .billing-payment-title-row > strong { min-width: 0; }
  .billing-payment-mobile-status { display: inline-flex; flex: 0 0 auto; }
  .billing-payments-card .table .billing-payment-status-cell { display: none; }
}

[data-subscription-navigation][hidden] { display: none !important; }
