.billing { font-size:13px; min-width:0; }
.billing [hidden],.billing-shell[hidden] { display:none !important; }
.billing h1,.billing h2,.billing h3,.billing p { margin:0; }
.billing h2 { font-size:17px; font-weight:600; }
.billing h3 { font-size:14px; font-weight:600; }
.billing p,.billing small { color:var(--muted-foreground); line-height:1.6; }
.billing button,.billing-shell button { min-height:38px; height:auto; padding:8px 12px; font:inherit; font-size:12px; border:1px solid var(--border); border-radius:9px; background:var(--card); color:var(--foreground); cursor:pointer; white-space:normal; }
.billing button:disabled { opacity:.5; cursor:not-allowed; }
.billing .billing-primary { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.billing button:focus-visible,.billing a:focus-visible,.billing-shell button:focus-visible { outline:2px solid var(--ring); outline-offset:3px; }
.billing-heading,.billing-notice,.billing-actions,.billing-row,.billing-toolbar,.billing-shell { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.billing-heading { margin:20px 0; }
.billing-heading .page-title { font-size:28px; }
.billing-badge { display:inline-block; color:var(--link); background:var(--secondary); border-radius:6px; padding:4px 8px; font-size:11px; white-space:nowrap; }
.billing-notice { border:1px solid var(--border); border-radius:12px; padding:14px 16px; margin:16px 0; background:var(--muted); }
.billing-notice button { flex-shrink:0; }
.billing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.billing-card { padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--card); min-width:0; overflow-wrap:anywhere; }
.billing-card>strong { display:block; font-size:27px; letter-spacing:-.6px; font-variant-numeric:tabular-nums; margin:12px 0; }
.billing-card>p,.billing-card>h2 { margin-bottom:12px; }
.billing-columns { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr); gap:16px; align-items:start; }
.billing label { display:flex; flex-direction:column; gap:7px; color:var(--muted-foreground); font-size:12px; }
.billing input,.billing select { min-width:0; width:100%; height:40px; padding:8px 11px; border:1px solid var(--border); border-radius:8px; background:var(--background); color:var(--foreground); font:inherit; }
.billing form { display:grid; gap:14px; }
.billing [data-sms-service] .sms-sale-toggle { flex-direction:row; align-items:center; }
.billing [data-sms-service] input[type="checkbox"] { width:18px; height:18px; padding:0; flex-shrink:0; }
.billing .billing-row { padding:12px 0; border-bottom:1px solid var(--border); align-items:flex-start; }
.billing-row>div { min-width:0; overflow-wrap:anywhere; }
.billing-row strong { font-variant-numeric:tabular-nums; }
.billing-row small { display:block; }
.billing-row>button { flex-shrink:0; }
.billing-actions { justify-content:flex-start; flex-wrap:wrap; margin-top:16px; }
.billing-toolbar { flex-wrap:wrap; margin:16px 0; }
.billing-toolbar label { flex:1; min-width:140px; }
.billing-tabs { display:flex; gap:7px; overflow:auto; padding:8px 0 15px; }
.billing-tabs button { flex-shrink:0; }
.billing-tabs button[aria-current="page"] { color:var(--link); background:var(--secondary); border-color:var(--link); }
.billing-warning { color:var(--warning) !important; }
.billing-success { color:var(--link); }
.billing-empty { text-align:center; padding:35px 10px; }
.billing-detail { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,2fr); gap:12px; margin:20px 0; }
.billing-detail dt { color:var(--muted-foreground); }
.billing-detail dd { margin:0; overflow-wrap:anywhere; }
.billing-dialog { width:min(560px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); overflow:auto; margin:auto; border:1px solid var(--border); border-radius:16px; padding:22px; color:var(--foreground); background:var(--card); }
.billing-dialog::backdrop { background:rgb(0 0 0 / .55); }
.billing-dialog .billing-heading { margin-top:0; }
.billing-shell { margin-bottom:18px; padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--card); font-size:12px; flex-wrap:wrap; }
.billing-shell span { color:var(--muted-foreground); }
.billing-shell strong { margin:0 7px; font-variant-numeric:tabular-nums; }
.billing-subscriptions,.billing-admin { margin:20px 0; }
.billing-list { max-height:540px; overflow:auto; }
.billing .ui-select { min-width:0; width:100%; }
@media(max-width:768px) {
    .billing-grid,.billing-columns { grid-template-columns:1fr; }
    .billing-heading,.billing-notice { align-items:flex-start; flex-wrap:wrap; }
    .billing-card { padding:16px; }
    .billing .billing-row { flex-wrap:wrap; }
    .billing .billing-row>div { flex:1; min-width:170px; }
    .billing-detail { grid-template-columns:1fr; gap:6px; }
    .billing-detail dd { margin-bottom:8px; }
    .billing-shell { gap:8px; padding:10px; }
    .billing-shell>div { flex:1; min-width:150px; }
}
