.billing-heading { align-items: flex-end; }
.billing-current-card, .billing-cancel-card { margin-bottom: 22px; padding: 22px; display: flex; justify-content: space-between; align-items: center; gap: 18px; border: 1px solid var(--line, #e5e7eb); border-radius: 18px; background: #fff; }
.billing-current-card span, .billing-order-card > small { color: #6b7280; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.billing-current-card h2 { margin: 5px 0; font-size: 1.55rem; }
.billing-current-card p { margin: 0; color: #6b7280; }
.billing-usage { text-align: right; }
.billing-usage strong { display: block; font-size: 2rem; }
.billing-usage small { color: #6b7280; }
.billing-alert { margin: 0 0 18px; padding: 13px 15px; border-radius: 12px; font-size: .86rem; line-height: 1.5; }
.billing-alert.success { border: 1px solid #b9e4c4; color: #176c38; background: #edfaef; }
.billing-alert.warning { border: 1px solid #f3d08a; color: #805000; background: #fff8e8; }
.billing-alert.danger { border: 1px solid #efb8bd; color: #98222b; background: #fff1f2; }
.billing-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.billing-plan-card { position: relative; min-height: 430px; padding: 23px; display: flex; flex-direction: column; border: 1px solid #e3e5e8; border-radius: 20px; background: #fff; box-shadow: 0 8px 25px rgba(15,23,42,.05); }
.billing-plan-card.featured { border: 2px solid #e4572e; transform: translateY(-5px); }
.billing-plan-card.current { box-shadow: inset 0 0 0 2px rgba(29,53,87,.16); }
.billing-plan-highlight { position: absolute; top: -13px; left: 50%; padding: 6px 12px; border-radius: 999px; color: #fff; background: #e4572e; font-size: .68rem; font-weight: 900; transform: translateX(-50%); white-space: nowrap; }
.billing-plan-card header small { color: #e4572e; font-size: .65rem; font-weight: 900; letter-spacing: .1em; }
.billing-plan-card h2 { margin: 7px 0; font-size: 1.35rem; }
.billing-plan-card header p { min-height: 48px; margin: 0; color: #6b7280; font-size: .8rem; line-height: 1.5; }
.billing-price { min-height: 70px; margin: 22px 0 12px; display: flex; align-items: baseline; gap: 4px; }
.billing-price > strong { font-size: 2rem; letter-spacing: -.04em; }
.billing-price > span, .billing-price > small { color: #6b7280; font-weight: 700; }
.billing-plan-card ul { margin: 10px 0 22px; padding: 0; display: grid; gap: 10px; list-style: none; color: #4b5563; font-size: .8rem; }
.billing-plan-card li::before { content: '✓'; margin-right: 8px; color: #178447; font-weight: 900; }
.billing-plan-card .button, .billing-current-button { margin-top: auto; }
.billing-current-button { padding: 13px; display: block; border-radius: 11px; color: #1d3557; background: #eef2f7; font-size: .82rem; font-weight: 850; text-align: center; }
.billing-current-button.muted { color: #6b7280; }
.billing-cancel-card { margin-top: 24px; }
.billing-cancel-card h2 { margin: 0 0 5px; }
.billing-cancel-card p { margin: 0; color: #6b7280; }
.billing-checkout-layout { width: min(1000px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 22px; }
.billing-checkout-card, .billing-order-card, .billing-success-card { padding: 26px; border: 1px solid #e3e5e8; border-radius: 20px; background: #fff; box-shadow: 0 8px 25px rgba(15,23,42,.05); }
.billing-checkout-card h1 { margin: 4px 0 8px; }
.billing-checkout-card > p { color: #6b7280; line-height: 1.6; }
.billing-loading { padding: 20px; color: #6b7280; text-align: center; }
.billing-order-card { position: sticky; top: 95px; }
.billing-order-card h2 { margin: 8px 0 4px; }
.billing-order-card p { color: #6b7280; }
.billing-order-card > div { margin-top: 22px; display: flex; justify-content: space-between; }
.billing-order-card hr { margin: 20px 0; border: 0; border-top: 1px solid #e5e7eb; }
.billing-order-card > small:last-child { display: block; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.billing-success-card { width: min(620px, 100%); margin: 30px auto; text-align: center; }
.billing-success-icon { width: 76px; height: 76px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 50%; color: #178447; background: #e8f8ee; font-size: 2rem; font-weight: 900; }
.billing-success-icon.pending { color: #805000; background: #fff5df; }
.billing-success-icon.error { color: #a5232d; background: #fff0f1; }
.billing-success-details { margin: 22px 0; padding: 15px; display: grid; gap: 10px; border-radius: 12px; background: #f7f8fa; }
.billing-success-details span { display: flex; justify-content: space-between; gap: 12px; }
.billing-plan-pill { margin-left: auto; padding: 6px 10px; border-radius: 999px; color: #1d3557; background: #eef2f7; font-size: .68rem; font-weight: 800; }
.product-limit-banner { margin-bottom: 16px; padding: 13px 15px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 1px solid #dce1e8; border-radius: 12px; background: #f9fafb; font-size: .8rem; }
.product-limit-banner.warning { border-color: #f3d08a; background: #fff8e8; }
@media (max-width: 1050px) { .billing-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .billing-current-card, .billing-cancel-card { align-items: flex-start; flex-direction: column; } .billing-usage { text-align: left; } .billing-plan-grid, .billing-checkout-layout { grid-template-columns: 1fr; } .billing-plan-card.featured { transform: none; } .billing-order-card { position: static; } .product-limit-banner { align-items: flex-start; flex-direction: column; } }
