.billing-dialog{color:var(--text,#f4f4f5);background:var(--surface,#151518);border:1px solid var(--line2,#37373c);border-radius:20px;padding:24px;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;box-shadow:0 24px 80px #0009}
.billing-dialog::backdrop{background:#0009}
.billing-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.billing-head h2{margin:0;font-size:24px}.billing-head button{font-size:24px;background:none;border:0}
.billing-dialog p{font-size:14px;line-height:1.6}.billing-dialog h3{font-size:16px;margin:24px 0 12px}
.billing-dialog button{color:var(--text,#fff);background:var(--surface2,#25252a);border:1px solid var(--line2,#393940);border-radius:10px;padding:10px 16px;cursor:pointer}.billing-dialog button:focus-visible{outline:2px solid var(--gold,#e8c450);outline-offset:3px}
.billing-dialog button.primary{background:var(--gold,#e8c450);color:#151515;border:0;font-weight:700}.billing-dialog button:disabled{opacity:.5;cursor:wait}
.billing-balances{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.billing-balances>div{background:var(--surface2,#25252a);padding:18px;border-radius:12px}.billing-balances span{font-size:13px;color:var(--muted,#a4a4ae)}.billing-balances strong{display:block;font-size:32px;margin-top:8px}
.billing-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.billing-plans article{padding:16px;border:1px solid var(--line2,#393940);border-radius:12px}.billing-plans p{margin:10px 0}.billing-plans strong{font-size:24px}.billing-current{font-size:12px;color:var(--gold,#e8c450)}
.billing-notice{color:var(--muted,#aaaab4);padding:12px;background:var(--surface2,#25252a);border-radius:10px}.billing-history{max-height:220px;overflow:auto;margin-bottom:16px}.billing-history>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line2,#393940);padding:10px 0;font-size:14px}.billing-history small{display:block;color:var(--muted,#aaaab4);margin-top:4px}
.billing-quote-total{font-size:36px!important;font-weight:700}.billing-quote-total span{font-size:14px;font-weight:400}.billing-quote-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
@media(max-width:600px){.billing-dialog{padding:18px}.billing-plans{grid-template-columns:1fr}.billing-plans article{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.billing-balances strong{font-size:28px}.billing-head h2{font-size:21px}}

.billing-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:500px;color:var(--muted,#aaa);font-size:12px;line-height:1.6}.billing-inline.error{color:#f6a6a6}.billing-inline-retry{background:transparent;border:0;padding:3px;color:var(--gold,#e6c14e);font:inherit;text-decoration:underline}.billing-inline-retry[hidden]{display:none}.billing-inline+button{margin-left:4px}
/* 长串不出框（所有者 2026-10-10，docs/67 第 3 节第 28 条）：按钮旁边那一行价钱、账户窗口没读到时的那一句，里面有断不了行的长串时
   在自己的框边上折行（账户窗口以前是整个横着滚）。平常的句子一个像素不变；不裁、不藏 */
.billing-inline>span{min-width:0;overflow-wrap:anywhere}
.billing-dialog p[role="alert"]{overflow-wrap:anywhere}
