.billing-checkout{box-sizing:border-box;width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sheet,20px);background:var(--surface);color:var(--ink);box-shadow:var(--mat-shadow-sheet);font:400 14px/1.5 var(--font)}
.billing-checkout::backdrop{background:rgba(8,12,20,.48);backdrop-filter:blur(5px)}
.billing-checkout *{box-sizing:border-box}
.billing-checkout [hidden]{display:none!important}
.billing-checkout button{font:inherit;cursor:pointer;color:inherit}
.billing-checkout button:disabled{cursor:default;opacity:.65}
.billing-checkout button:focus-visible,.build-checkout-provider-link:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.billing-checkout__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 20px;border-bottom:1px solid var(--line-soft)}
.billing-checkout__eyebrow{margin:0 0 4px;color:var(--accent-ink);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.billing-checkout h2{margin:0;font:600 23px/1.25 var(--font);letter-spacing:-.025em}
.billing-checkout__close{display:grid;place-items:center;width:36px;height:36px;flex:none;padding:8px;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-control,10px)}
.billing-checkout__close svg{width:18px;height:18px}
.billing-checkout__close:hover{background:var(--slot)}
.billing-checkout__body{display:grid;gap:16px;padding:20px 24px 24px}
.billing-checkout__intro{margin:0;font-size:13px;color:var(--dim)}
.billing-checkout__providers{display:grid;gap:12px}
.billing-checkout__providers:empty{display:none}
.billing-checkout__provider{display:flex;align-items:center;gap:14px;width:100%;padding:16px;text-align:left;border:1px solid var(--line);border-radius:var(--r-card,12px);background:var(--raised)}
button.billing-checkout__provider:not(:disabled):hover{border-color:var(--accent-ink);background:var(--accent-soft)}
.billing-checkout__provider-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.billing-checkout__provider-icon svg{width:24px;height:24px}
.billing-checkout__provider-icon--paypal{font-size:25px;font-weight:800;font-style:italic}
.billing-checkout__provider-copy{display:grid;min-width:0;gap:3px}
.billing-checkout__provider-copy strong{font-size:14px;font-weight:600}
.billing-checkout__provider-copy small{font-size:12px;color:var(--dim)}
.billing-checkout__provider-state{font-size:11px;color:var(--dim)}
.billing-checkout__provider-state[data-ready=true]{color:var(--accent-ink)}
.billing-checkout__status{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-control,10px);background:var(--raised);font-size:12px;overflow-wrap:anywhere}
.billing-checkout__status:empty{display:none}
.billing-checkout__status[data-state=error]{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
.billing-checkout__retry{width:100%;min-height:42px;padding:10px 16px;background:var(--accent-soft);border:1px solid var(--accent-ink);border-radius:var(--r-control,10px);font-weight:600!important}
.billing-checkout__resume{width:100%;min-height:40px;padding:8px 14px;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-control,10px);font-weight:500!important}
.billing-checkout__note{margin:0;color:var(--dim);font-size:11px}
.billing-checkout__summary{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:var(--r-card,12px);background:var(--raised)}
.billing-checkout__summary strong{font-weight:600;font-size:17px}
.billing-checkout__summary span{font-size:13px;color:var(--dim)}
.build-checkout-provider-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 0;padding:6px 0;border:0;border-radius:4px;background:transparent;color:var(--accent-ink);font:500 12px/1.4 var(--font);cursor:pointer}
.build-checkout-provider-link:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.billing-checkout{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.billing-checkout__header{padding:18px}.billing-checkout__body{padding:18px;gap:14px}.billing-checkout h2{font-size:21px}.billing-checkout__provider{padding:14px}}
@media(prefers-reduced-transparency:reduce){.billing-checkout::backdrop{backdrop-filter:none}}
