.billing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; margin:24px 0; }
.billing-grid fieldset { border:1px solid #dce5d9; border-radius:8px; padding:12px; margin:16px 0; }
.billing-grid .check { display:flex; margin:8px 0; gap:8px; }
.billing-grid .full { grid-column:1/-1; }
.billing-page { max-width:1300px; margin:auto; padding:30px; display:grid; gap:24px; }
.subscription-invoice { max-width:960px; margin:30px auto; background:white; padding:40px; }
.subscription-invoice header { border-bottom:3px solid #2f7d4a; margin-bottom:24px; padding-bottom:20px; }
.subscription-invoice section { margin:26px 0; }
.subscription-invoice .address { white-space:pre-line; }
.invoice-toolbar { display:flex; gap:12px; margin-bottom:30px; }
.invoice-total { text-align:right; padding:22px 0; }
.warning-banner { background:#ac2020; color:white; padding:12px 24px; line-height:1.5; }
.notice-targets { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
.notice-targets .check { display:block; margin:8px 0; }
@media print { .invoice-toolbar { display:none; } .subscription-invoice { margin:0; padding:0; max-width:none; } body { background:white; } }

.subscription-invoice { overflow-wrap:anywhere; }
.subscription-invoice .data { min-width:0; width:100%; }
@media (max-width:600px) { .billing-page { padding:16px; } .billing-grid { grid-template-columns:minmax(0,1fr); } .subscription-invoice { padding:16px; margin:0; } .subscription-invoice td,.subscription-invoice th { padding:8px; } }
