/* Creator review and the saved campaign checkout share one visual hierarchy. */
#createForm .creator-checkout-review .creator-stage-heading { margin-bottom:20px; }
#createForm .creator-checkout-review .creator-offer-summary { grid-template-columns:76px minmax(0,1fr); align-items:start; gap:14px; padding:16px; margin:0 0 16px; }
#createForm .creator-checkout-review .creator-offer-summary>img { width:76px; height:76px; min-height:0; border-radius:10px; object-fit:cover; }
#createForm .creator-checkout-review .creator-offer-summary>div { padding:0; }
#createForm .creator-checkout-review .creator-offer-summary h3 { margin:4px 0 6px; font-size:19px; line-height:1.25; }
#createForm .creator-checkout-review .creator-offer-summary .eyebrow { font-size:9px; letter-spacing:.08em; }
#createForm .creator-checkout-review .creator-offer-summary .creator-preview-reward { margin:6px 0; font-size:14px; }
#createForm .creator-checkout-review .creator-offer-summary .small { margin:6px 0; }
#createForm .creator-checkout-review .creator-offer-summary .hint { margin-bottom:0; }
#createForm .creator-review-offer-details { margin:10px 0 0; padding:9px 0 0; border-top:1px solid var(--line); }
#createForm .creator-review-offer-details>summary { font-size:11px; font-weight:600; line-height:1.5; }
#createForm .creator-review-payment { margin:18px 0; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
#createForm .creator-review-payment #creatorLaunchHeading { margin:0 0 18px; font-size:18px; line-height:1.3; font-weight:700; letter-spacing:-.3px; }
#createForm .creator-review-payment #creatorAddressField { font-size:12px; }
#createForm .creator-review-payment #creatorAddressField input { font-size:12px; }
#createForm .creator-review-payment .creator-featured-choice { margin:18px 0 0; border-radius:10px; padding:14px; }
#createForm .creator-review-payment .creator-featured-choice>.eyebrow { display:none; }
#createForm .creator-review-payment .creator-featured-choice .hint { margin:8px 0 0; }
#createForm .creator-review-payment #feeQuote { margin:20px 0 0; padding:0; border:0; border-radius:0; background:transparent; }
#createForm .creator-review-payment #feeQuote .definition { margin:0; gap:10px 16px; }
#createForm .creator-review-payment #feeQuote .definition :is(dt,dd) { min-width:0; font-size:12px; line-height:1.55; }
#createForm .creator-review-payment #feeQuote .definition dd { text-align:right; overflow-wrap:anywhere; }
#createForm .creator-review-payment #feeQuote .definition dt:has(+dd>strong),
#createForm .creator-review-payment #feeQuote .definition dd:has(>strong) { margin-top:8px; padding-top:14px; border-top:1px solid var(--line); color:var(--text); font-size:15px; }
#createForm .creator-review-payment #feeQuote .definition dd>strong { font-size:21px; font-weight:750; line-height:1.35; letter-spacing:-.6px; }
#createForm .creator-review-payment #feeQuote .definition dd>strong .usd-estimate { display:block; margin-top:3px; font-size:12px; font-weight:400; letter-spacing:0; }
#createForm .creator-review-payment #feeQuote>p { margin:14px 0 0; font-size:11px; line-height:1.6; }
#createForm .creator-checkout-note { margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.65; }
#createForm .creator-review-agreements { display:grid; gap:13px; margin:18px 0 0; }
#createForm .creator-review-agreements>.check { margin:0; align-items:flex-start; font-size:11px; line-height:1.7; }
#createForm .creator-review-agreements>.check>input { flex-shrink:0; margin-top:3px; }
#createForm .creator-review-agreements #creatorLaunchNotice { margin:0; padding:13px 14px; font-size:11px; line-height:1.65; }
#createForm .creator-review-agreements .creator-payment-rule { margin:0; }
#createForm :is(#creatorEstimateReviewDetails,#creatorReferralReviewDetails) { margin:12px 0; }
#createForm :is(#creatorEstimateReviewDetails,#creatorReferralReviewDetails)>section { margin:0; padding:16px; border:0; background:transparent; }
#createForm :is(#creatorEstimateReviewDetails,#creatorReferralReviewDetails) .creator-section-heading h3 { display:none; }

/* Native dialog and mobile drawer behavior remain owned by the shared shell. */
#dialog.is-campaign-checkout { width:min(860px,calc(100vw - 40px)); max-width:860px; }
#dialog.is-campaign-checkout .dialog-head { padding:18px 24px; background:var(--panel); border-color:var(--line); }
#dialog.is-campaign-checkout .dialog-body { padding:18px 24px; color:var(--text); background:var(--panel); }
.campaign-checkout { display:grid; gap:16px; min-width:0; color:var(--text); }
.campaign-checkout .eyebrow { margin:0; }
.campaign-checkout .btn.secondary { color:var(--text); background:var(--panel); border-color:var(--theme-border); }
.campaign-checkout .btn.secondary:hover { background:var(--theme-hover); }
.campaign-checkout [hidden] { display:none!important; }
.campaign-checkout :is(section,aside,div,li) { min-width:0; }
.campaign-checkout :is(h2,h3,p) { overflow-wrap:anywhere; }
.checkout-progress { display:flex; align-items:flex-start; gap:0; padding:0; margin:0; list-style:none; counter-reset:checkout-step; }
.checkout-progress li { position:relative; display:flex; align-items:center; flex:1; gap:8px; min-height:32px; padding:0 12px 0 0; color:var(--muted); font-size:11px; font-weight:600; line-height:1.4; counter-increment:checkout-step; }
.checkout-progress li::before { content:counter(checkout-step); display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--panel2); font-size:11px; }
.checkout-progress li.is-current { color:var(--text); }
.checkout-progress li.is-current::before { color:#fff; background:var(--brand-red); border-color:var(--brand-red); }
.checkout-progress li.is-done::before { content:'✓'; color:var(--theme-success-text); background:var(--theme-success-bg); border-color:var(--theme-success-border); }
.checkout-progress li:last-child { flex:0 0 auto; padding-right:0; }
.checkout-progress li>span { display:none; }
.checkout-heading { display:grid; gap:7px; }
.checkout-heading h2 { margin:0; color:var(--text); font-size:clamp(23px,3.3vw,28px); font-weight:750; line-height:1.15; letter-spacing:-.8px; }
.checkout-heading p { margin:0; max-width:64ch; color:var(--muted); font-size:13px; line-height:1.65; }
.checkout-heading .eyebrow { margin-bottom:1px; font-size:10px; }
.checkout-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:22px; align-items:start; }
.checkout-payment { display:grid; justify-items:center; gap:12px; padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--panel2); text-align:center; }
.checkout-payment>p { margin:0; font-size:12px; line-height:1.65; }
.checkout-confirmation { display:grid; gap:9px; width:100%; padding-top:14px; border-top:1px solid var(--line); text-align:left; }
.checkout-confirmation>.spread { align-items:flex-start; flex-wrap:wrap; gap:5px 12px; }
.checkout-confirmation>.spread>strong { color:var(--text); font-size:12px; line-height:1.5; }
.checkout-confirmation>.spread>span { color:var(--muted); font-size:11px; line-height:1.6; }
.checkout-confirmation>.funding-progress { width:100%; margin:0; }
.checkout-confirmation>p { margin:0; color:var(--muted); font-size:11px; line-height:1.65; }
.checkout-amount { display:grid; gap:5px; width:100%; text-align:center; }
.checkout-amount>span,.checkout-amount>p { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.checkout-amount strong { display:block; color:var(--text); font-size:clamp(23px,3.5vw,32px); font-weight:750; line-height:1.22; letter-spacing:-1px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.checkout-amount strong small { display:inline; font-size:.48em; font-weight:650; letter-spacing:0; }
.checkout-amount>small,.checkout-amount .usd-estimate { display:block; margin:0; color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; letter-spacing:0; }
.checkout-qr { box-sizing:border-box; width:224px; height:224px; max-width:100%; padding:0; border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 4px 14px #0000000a; }
.checkout-qr svg { display:block; width:100%; height:100%; max-width:100%; background:#fff; }
.checkout-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; width:100%; }
.checkout-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:11px 15px; font-size:12px; line-height:1.35; white-space:normal; text-align:center; }
.checkout-payment>.checkout-actions>.btn:first-child { width:100%; }
.checkout-actions :is(.btn.ghost,.btn.secondary) { color:var(--text); background:var(--panel); border-color:var(--theme-border); }
.checkout-actions :is(.btn.ghost,.btn.secondary):hover { background:var(--theme-hover); }
.checkout-actions .btn:disabled,.checkout-actions .btn[aria-disabled=true] { opacity:.5; cursor:default; }
.checkout-address { width:100%; text-align:left; }
.checkout-address>label,.checkout-address>span,.checkout-address>summary { color:var(--muted); font-size:11px; font-weight:600; line-height:1.5; }
.checkout-address textarea { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:74px; margin:8px 0; padding:11px 12px; resize:vertical; border:1px solid var(--theme-border); border-radius:9px; color:var(--text); background:var(--theme-input); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; line-height:1.6; overflow-wrap:anywhere; word-break:break-all; }
.checkout-address .btn { min-height:38px; font-size:11px; }
.checkout-copy-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:8px 0 16px; }
.checkout-copy-row input { box-sizing:border-box; flex:1 1 125px; width:0; min-width:0; max-width:100%; min-height:40px; margin:0; padding:10px 11px; border:1px solid var(--theme-border); border-radius:9px; color:var(--text); background:var(--theme-input); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12px; line-height:1.5; user-select:text; -webkit-user-select:text; }
.checkout-copy-row .btn { flex:0 0 auto; min-height:40px; padding:10px 12px; }
.checkout-summary { display:grid; align-content:start; gap:16px; padding:4px 0; }
.checkout-summary>h3 { margin:0; color:var(--text); font-size:15px; line-height:1.4; }
.checkout-summary>p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.checkout-summary .definition { margin:0; gap:11px 15px; }
.checkout-summary .definition :is(dt,dd) { margin:0; font-size:12px; line-height:1.5; }
.checkout-summary .definition dd { text-align:right; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.checkout-summary .definition :is(dt,dd):last-of-type { padding-top:13px; border-top:1px solid var(--line); color:var(--text); }
.checkout-summary .definition dd:last-of-type strong { font-size:16px; font-weight:750; }
.checkout-summary .usd-estimate { display:block; margin:3px 0 0; font-size:10px; }
.checkout-status { display:grid; gap:5px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--panel2); text-align:left; }
.checkout-status :is(h3,strong) { margin:0; color:var(--text); font-size:13px; line-height:1.45; }
.checkout-status p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.checkout-status[data-tone=ready],.checkout-status[data-tone=success] { background:var(--theme-success-bg); border-color:var(--theme-success-border); }
.checkout-status[data-tone=ready] :is(h3,strong),.checkout-status[data-tone=success] :is(h3,strong) { color:var(--theme-success-text); }
.checkout-status[data-tone=warning],.checkout-status[data-tone=pending] { background:var(--theme-warning-bg); border-color:var(--theme-warning-border); }
.checkout-status[data-tone=warning] :is(h3,strong),.checkout-status[data-tone=pending] :is(h3,strong) { color:var(--theme-warning-text); }
.checkout-status[data-tone=error],.checkout-status[data-tone=blocked] { background:var(--theme-danger-bg); border-color:var(--theme-danger-border); }
.checkout-status[data-tone=error] :is(h3,strong),.checkout-status[data-tone=blocked] :is(h3,strong) { color:var(--theme-danger-text); }
.checkout-details { display:grid; gap:0; }
.checkout-details>details,.checkout-details:where(details) { border-top:1px solid var(--line); padding:13px 0; }
.checkout-details summary { color:var(--text); font-size:12px; font-weight:600; line-height:1.5; cursor:pointer; }
.checkout-details details[open]>summary,.checkout-details:where(details)[open]>summary { margin-bottom:14px; }
.checkout-details .definition { margin:0; }
.checkout-details .definition :is(dt,dd) { font-size:11px; line-height:1.6; }
.checkout-details .entry-row { flex-wrap:wrap; gap:9px; }
.checkout-details .mono,.checkout-details .entry-row small { overflow-wrap:anywhere; }
.checkout-details .funding-payment { margin:0 0 10px; }
.checkout-details p,.checkout-details .hint { font-size:11px; line-height:1.65; }
.checkout-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:18px; border-top:1px solid var(--line); }
.checkout-footer>p,.checkout-footer>span { margin:0; flex:1 1 220px; color:var(--muted); font-size:11px; line-height:1.65; }
.checkout-footer .btn { flex:none; min-height:38px; font-size:11px; white-space:normal; }
.checkout-ready { display:grid; justify-items:center; gap:16px; padding:28px 20px; border:1px solid var(--theme-success-border); border-radius:16px; background:var(--theme-success-bg); text-align:center; }
.checkout-ready :is(h2,h3) { margin:0; color:var(--text); font-size:24px; line-height:1.2; letter-spacing:-.6px; }
.checkout-ready p { max-width:55ch; margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.checkout-ready>.icon { width:36px; height:36px; color:var(--theme-success-text); }
.campaign-checkout .funding-payment .spread { flex-wrap:wrap; gap:7px; }
.campaign-checkout .funding-payment strong { font-size:13px; }
.campaign-checkout .funding-transaction .mono { display:block; word-break:break-all; }
.campaign-checkout .notice { margin:0; font-size:12px; line-height:1.65; }

@media(max-width:820px) {
 #dialog.is-campaign-checkout[open] { width:100%; max-width:none; }
 #dialog.is-campaign-checkout .dialog-head { padding:0 16px 10px; }
 #dialog.is-campaign-checkout .dialog-body { padding:18px 20px; }
}
@media(max-width:600px) {
 #dialog.is-campaign-checkout .dialog-body { padding:20px 17px max(22px,env(safe-area-inset-bottom,0px)); }
 .campaign-checkout { gap:14px; }
 .checkout-progress li { gap:6px; padding-right:8px; font-size:10px; }
 .checkout-progress li::before { flex-basis:23px; width:23px; height:23px; font-size:10px; }
 .checkout-heading h2 { font-size:25px; }
 .checkout-heading p { font-size:12px; }
 .checkout-heading>.eyebrow,.checkout-heading>p { display:none; }
 #checkoutStatus:has([data-state=pay]) { display:none; }
 .checkout-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .checkout-payment { gap:12px; padding:16px; border-radius:14px; }
 .checkout-amount strong { font-size:29px; }
 .checkout-summary { padding:0 2px; gap:14px; }
 .checkout-address textarea { font-size:12px; }
 .checkout-copy-row input { font-size:16px; }
 .checkout-status { padding:13px 14px; }
 .checkout-footer { align-items:flex-start; gap:10px; }
 .checkout-footer>p,.checkout-footer>span { flex-basis:100%; }
 .checkout-footer .btn { min-height:42px; }
 #createForm .creator-review-payment { padding:16px; }
 #createForm .creator-review-payment #creatorAddressField input { font-size:16px; }
 #createForm .creator-review-payment #feeQuote .definition { gap:9px 10px; }
 #createForm .creator-review-payment #feeQuote .definition dd>strong { font-size:18px; }
 #createForm .creator-review-agreements>.check { font-size:12px; }
}
@media(max-width:360px) {
 #dialog.is-campaign-checkout .dialog-body { padding-right:14px; padding-left:14px; }
 .checkout-payment { padding-right:12px; padding-left:12px; }
 .checkout-progress li { font-size:9px; gap:5px; padding-right:6px; }
 .checkout-heading h2 { font-size:23px; }
 .checkout-amount strong { font-size:26px; }
 #createForm .creator-review-payment { padding:13px; }
 #createForm .creator-review-payment #feeQuote .definition :is(dt,dd) { font-size:11px; }
 #createForm .creator-review-payment #feeQuote .definition dd>strong { font-size:16px; }
}
