.billing-metrics { display: grid; margin-bottom: 16px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.billing-metric { padding: 17px; }
.billing-metric small, .billing-metric strong, .billing-metric span { display: block; }
.billing-metric small { margin-bottom: 7px; font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.billing-metric strong { font-size: 18px; }
.billing-metric span { margin-top: 5px; color: var(--muted); font-size: 9px; }
.billing-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 16px; }
.billing-card { padding: 19px; }
.billing-card-wide { grid-row: span 2; }
.billing-card > header { margin-bottom: 13px; }
.billing-card h3 { font-size: 14px; }
.billing-card header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.billing-list { display: grid; gap: 8px; }
.billing-row { padding: 11px; border: 1px solid var(--border); border-radius: 11px; background: #fafafe; }
.billing-row-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.billing-row-heading > div { min-width: 0; }
.billing-row-heading strong, .billing-row-heading small { display: block; }
.billing-row-heading strong { font-size: 10px; }
.billing-row-heading small { margin-top: 4px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.billing-status { padding: 4px 7px; border-radius: 999px; background: var(--primary-soft); color: var(--primary-dark); font-size: 7px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.billing-status.status-paid, .billing-status.status-completed, .billing-status.status-applied { background: rgba(35,134,92,.1); color: var(--success); }
.billing-status.status-void, .billing-status.status-failed { background: #fff1f1; color: var(--danger); }
.billing-row-amounts { display: flex; margin-top: 9px; flex-wrap: wrap; gap: 6px; }
.billing-row-amounts span { padding: 4px 7px; border-radius: 8px; background: white; color: #5f5e72; font-size: 8px; }
.billing-row-date { display: block; margin-top: 7px; font-size: 8px; }
.billing-document-link { display: inline-block; margin-top: 8px; color: var(--primary); font-size: 9px; font-weight: 700; text-underline-offset: 3px; }
.billing-payment-amount { color: var(--success); white-space: nowrap; }
.billing-empty { margin: 0; padding: 15px; border: 1px dashed var(--border); border-radius: 10px; color: var(--muted); font-size: 9px; line-height: 1.5; text-align: center; }
#billingMessage { margin-top: 10px; }

@media (max-width: 760px) {
  .billing-metrics, .billing-grid { grid-template-columns: 1fr; }
  .billing-card-wide { grid-row: auto; }
}
