.billing-dialog{width:min(62rem,calc(100vw - 2rem));padding:0;overflow:hidden}
.billing-dialog-body{overflow-x:hidden}
.billing-loading,.billing-error{min-height:20rem;display:grid;place-items:center;align-content:center;gap:.8rem;text-align:center;color:var(--muted)}
.billing-error p{margin:0}
.billing-heading{text-align:center;max-width:42rem;margin:0 auto 1.4rem}
.billing-heading h2{margin:.3rem 0 .65rem;font-size:clamp(1.7rem,4vw,2.35rem);letter-spacing:-.045em}
.billing-heading>p:last-child{margin:0;color:var(--muted);line-height:1.55}
.billing-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.billing-plan{position:relative;min-width:0;padding:1.1rem;border:1px solid var(--line);border-radius:18px;background:#111117}
.billing-plan.is-featured{border-color:rgba(180,119,255,.62);background:linear-gradient(180deg,rgba(130,87,255,.2),rgba(130,87,255,.06)),#111117}
.billing-plan-badge{position:absolute;right:.8rem;top:.8rem;padding:.3rem .48rem;border-radius:999px;background:linear-gradient(135deg,#8257ff,#ef4f9a);font-size:.62rem;font-weight:900}
.billing-plan h3{margin:0 0 1rem;font-size:1.05rem}
.billing-plan strong{display:block;font-size:1.65rem;letter-spacing:-.04em}
.billing-plan strong small{color:var(--muted);font-size:.72rem;letter-spacing:0}
.billing-plan p{margin:.8rem 0 0;color:var(--muted);font-size:.82rem}
.billing-plan p b{color:#fff}
.billing-plan .billing-action{margin-top:1rem;font-size:.78rem}
.billing-retention-heading{position:relative}
.billing-discount{display:inline-grid;place-items:center;min-width:4.2rem;height:2.25rem;margin:.2rem 0 .35rem;padding:0 .7rem;border-radius:999px;background:linear-gradient(135deg,#8257ff,#ef4f9a);font-weight:950;box-shadow:0 12px 35px rgba(130,87,255,.28)}
.billing-retention-plan{max-width:31rem;margin:0 auto;padding:1.25rem}
.billing-offer-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem}
.billing-offer-price s{color:var(--muted);font-size:1rem}
.billing-offer-price strong{font-size:1.9rem}
.billing-offer-countdown{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;margin-top:.85rem;padding:.55rem .8rem;border:1px solid rgba(180,119,255,.42);border-radius:999px;background:rgba(130,87,255,.1);font-size:.75rem;color:#d8d6df}
.billing-offer-countdown b{min-width:5.3rem;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.05em}
.billing-renewal-note{max-width:34rem;margin:1rem auto;color:var(--muted);font-size:.75rem;line-height:1.5;text-align:center}
.billing-payment-note{margin:.65rem auto 0;color:var(--muted);font-size:.72rem;line-height:1.45;text-align:center}
.billing-legal-consent{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;margin:1rem 0 .75rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:.85rem;background:rgba(255,255,255,.025);color:#d8d6df;font-size:.75rem;line-height:1.45}.billing-legal-consent input{width:1.1rem;height:1.1rem;margin:.05rem 0 0;accent-color:var(--p)}.billing-legal-consent a{color:#cbbcff}.billing-legal-error{padding:.75rem .9rem;border:1px solid rgba(244,85,101,.3);border-radius:.8rem;color:#ffbec5;background:rgba(244,85,101,.08)}
.billing-success{display:grid;justify-items:center;gap:.45rem;padding:2rem 0}
.billing-success-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,#8257ff,#ef4f9a);font-size:1.8rem;font-weight:900}
.billing-free-note{display:grid;gap:.2rem;margin:1rem 0;padding:.9rem 1rem;border:1px dashed rgba(180,119,255,.38);border-radius:15px;background:rgba(130,87,255,.07)}
.billing-free-note span{color:var(--muted);font-size:.78rem;line-height:1.45}
.billing-action{display:flex;align-items:center;justify-content:center;width:100%;text-align:center;text-decoration:none}
.billing-offer-stack{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:75;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.billing-offer-stack[hidden]{display:none}
.billing-offer-chip{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"discount plan" "discount timer";align-items:center;gap:.08rem .55rem;min-width:10.5rem;padding:.65rem .8rem;border:1px solid rgba(197,158,255,.5);border-radius:16px;background:linear-gradient(145deg,rgba(130,87,255,.96),rgba(113,54,148,.98));color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.4),0 8px 26px rgba(130,87,255,.3);cursor:pointer;text-align:left;backdrop-filter:blur(16px)}
.billing-offer-chip[hidden]{display:none}
.billing-offer-chip>span{grid-area:discount;font-size:1.15rem;font-weight:950}
.billing-offer-chip>small{grid-area:plan;color:rgba(255,255,255,.82);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.billing-offer-chip>b{grid-area:timer;font-size:.84rem;font-variant-numeric:tabular-nums;letter-spacing:.05em}
.billing-offer-chip:hover{transform:translateY(-1px);filter:brightness(1.06)}
.account-offer-note{display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;align-items:center;margin:.9rem 0;padding:.75rem .85rem;border:1px solid rgba(180,119,255,.4);border-radius:14px;background:rgba(130,87,255,.09)}
.account-offer-note>span{grid-row:1/3;display:grid;place-items:center;min-width:3.25rem;height:2rem;border-radius:999px;background:linear-gradient(135deg,#8257ff,#ef4f9a);font-size:.78rem;font-weight:950}
.account-offer-note>b{font-size:.82rem}
.account-offer-note>small{color:var(--muted);font-size:.72rem}
.account-offer-note [data-billing-countdown]{color:#fff;font-variant-numeric:tabular-nums}

@media(max-width:800px){
  .billing-dialog{position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}
  .billing-dialog .dialog-toolbar{position:sticky!important;top:0!important;z-index:20!important}
  .billing-dialog-body{box-sizing:border-box!important;width:100%!important;height:calc(100dvh - 56px - env(safe-area-inset-top))!important;overflow-y:auto!important;padding:1rem max(1rem,env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))!important}
  .billing-plans{grid-template-columns:1fr}
  .billing-heading{text-align:left}
  .billing-offer-countdown{display:flex;border-radius:14px}
  .billing-offer-stack{
    left:max(.7rem,env(safe-area-inset-left));
    right:max(.7rem,env(safe-area-inset-right));
    bottom:calc(5.75rem + env(safe-area-inset-bottom));
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.4rem;
    pointer-events:none
  }
  .billing-offer-chip{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    width:auto;
    min-width:0;
    min-height:40px;
    padding:.42rem .65rem;
    border-radius:999px;
    text-align:center;
    pointer-events:auto
  }
  .billing-offer-chip>span{font-size:.88rem;line-height:1}
  .billing-offer-chip>small{display:none}
  .billing-offer-chip>b{font-size:.7rem;line-height:1}
  .billing-offer-chip>b::before{content:"·";margin-right:.35rem;color:rgba(255,255,255,.72)}
}
