.checkout{max-width:980px;padding:clamp(2rem,4vw,3.5rem) max(16px,env(safe-area-inset-right,0px)) 4rem max(16px,env(safe-area-inset-left,0px));grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(1.25rem,3vw,2rem);margin:0 auto;display:grid}@media (width<=900px){.checkout{grid-template-columns:minmax(0,1fr);max-width:520px}}.co-left,.co-right{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:clamp(1.25rem,3vw,2rem)}.co-inner{align-content:start;gap:1.6rem;display:grid}.co-inner .stack{gap:.9rem}.co-inner .field{gap:.3rem}.co-inner .field label{font-size:.88rem}.co-inner .input{padding:.5rem .75rem}.co-inner h3{font-size:1.05rem}.co-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.co-title{margin:0;font-size:1.35rem}.co-total{font-family:var(--f-display);font-size:1.9rem;font-weight:800;line-height:1}.opts{grid-template-columns:4rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.opts .opt-label{padding-top:.65rem;font-size:.88rem;font-weight:600}.opts .hint{margin:.35rem 0 0}@media (width<=420px){.opts{grid-template-columns:minmax(0,1fr);gap:.4rem}.opts .opt-label{padding-top:.5rem}}.toggle{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:2px;width:100%;padding:3px;display:flex}.toggle button{color:var(--muted);cursor:pointer;font:600 .9rem var(--f-body);white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:auto;padding:.5rem .7rem}.toggle button[aria-pressed=true]{background:var(--accent-soft);color:var(--ink)}.toggle .save{font:600 .72rem var(--f-body);color:var(--accent);margin-left:.25rem}@media (width<=380px){.toggle button{white-space:normal}}.co-sum{border-top:1px solid var(--line)}.co-sum .line{border-bottom:0;padding-block:.6rem}.co-due{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.75rem;font-weight:700;display:flex}.co-sum .hint{margin:.5rem 0 0}.consent{border:0;gap:.45rem;margin:0;padding:0;font-size:.88rem;display:grid}.consent label{cursor:pointer;align-items:flex-start;gap:.55rem;display:flex}.consent input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin-top:.2rem}.co-extra{gap:.6rem;display:grid}.co-extra summary{cursor:pointer;font-weight:600}.co-extra p{margin:0}.line{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;padding-block:.75rem;display:flex}.line.total{border-bottom:0;font-size:1.05rem;font-weight:700}.seg{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.seg button{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;font:500 .9rem var(--f-body);border-radius:8px;padding:.75rem}.seg button[aria-pressed=true]{border:2px solid var(--accent);padding:calc(.75rem - 1px)}.seg button b{font-size:1rem;display:block}.cardbox{border:1px dashed var(--line);background:var(--surface-2);color:var(--muted);font:500 .85rem var(--f-mono);border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.65rem .8rem;display:flex}#savedStripeCard,#renewalStripeCard{display:block}.secure{text-align:center;color:var(--muted);margin:0;font-size:.8rem}.secure svg{vertical-align:-1px;margin-right:.3rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row .input{flex:160px;width:auto}.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width<=560px){.split{grid-template-columns:minmax(0,1fr)}}.flowmap{gap:1.5rem;display:grid}.flowmap section{gap:.6rem;display:grid}.flowmap ol{gap:.45rem;margin:0;padding-left:1.2rem;display:grid}.flowmap .states{flex-wrap:wrap;gap:.4rem;margin-top:.3rem;display:flex}.flowmap .states a{font:500 .78rem var(--f-mono);background:var(--surface-2);color:var(--ink);border-radius:999px;padding:.25rem .55rem;text-decoration:none}.flowmap .states a:hover{background:var(--accent-soft)}[data-busy=true]{opacity:.6;pointer-events:none}[hidden]{display:none!important}.auth{max-width:460px;padding:clamp(2rem,5vw,4rem) max(16px,env(safe-area-inset-right,0px)) 4rem max(16px,env(safe-area-inset-left,0px));margin:0 auto}.auth .co-inner{gap:1.25rem}.auth-head{text-align:center;gap:.35rem;display:grid}.auth-head h1{margin:0;font-size:1.6rem}.auth-head p{margin:0}.check{cursor:pointer;align-items:center;gap:.55rem;font-size:.88rem;display:flex}.check input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin:0}.auth-foot{text-align:center;margin:0}
