.billing-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0; }
.billing-summary > div { display:flex; flex-direction:column; gap:10px; padding:20px; border:1px solid #dfe5ef; border-radius:16px; background:#fff; }
.billing-summary span,.billing-note { color:#667085; font-size:13px; line-height:1.6; }
.billing-summary strong { font-size:22px; overflow-wrap:anywhere; color:#172b4d; }
.billing-scroll { overflow-x:auto; background:white; border:1px solid #dfe5ef; border-radius:14px; }
.billing-table { width:100%; border-collapse:collapse; font-size:13px; }
.billing-table th { text-align:left; color:#667085; background:#f8fafc; font-size:12px; }
.billing-table td,.billing-table th { padding:14px; border-bottom:1px solid #edf0f5; vertical-align:top; }
.billing-table td small { display:block; font-size:12px; color:#667085; margin-top:6px; line-height:1.5; }
.billing-status { display:inline-block; padding:5px 9px; border-radius:8px; background:#fff2dc; color:#955700; white-space:nowrap; }
.billing-status.paid { background:#e5f6ed; color:#096746; }
.billing-status.partially_paid { background:#eaf0ff; color:#265fcb; }
.billing-status.cancelled { background:#feeceb; color:#b42318; }
.billing-reason { white-space:pre-wrap; overflow-wrap:anywhere; min-width:130px; }
.modal.billing-history-modal,.dialog.billing-history-modal { width:min(1000px,100%); }
.billing-actions { display:flex; flex-direction:column; gap:7px; align-items:flex-start; min-width:140px; }
.billing-pager { display:flex; justify-content:flex-end; gap:12px; align-items:center; margin:14px 0; font-size:13px; }
.billing-empty { text-align:center; padding:28px!important; color:#667085; }
.billing-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; margin:28px 0 12px; }
.billing-heading h2 { margin:0; }
@media(max-width:640px) { .billing-summary { grid-template-columns:1fr; } .billing-heading { align-items:flex-start; flex-direction:column; } .billing-summary strong { font-size:20px; } }
