/* The payment stack stays inside the available viewport. */
html #bank-shell .bank-panel{padding:27px 13px 10px}html #bank-shell .bank-qr-wrap{max-width:164px;margin:0 auto}html #bank-shell .bank-details{display:grid;gap:4px;text-align:center;margin:8px 0 10px}html #bank-shell .bank-details :is(.bank-brand,.bank-name,.bank-number){margin:0;padding:0;line-height:1.35}html #bank-shell .bank-brand{font-size:12px;letter-spacing:0}html #bank-shell .bank-name{font-size:10px;font-weight:600;letter-spacing:.6px}html #bank-shell .bank-number{font-size:17px;font-weight:500;letter-spacing:.8px;font-variant-numeric:tabular-nums}html #bank-shell #bank-request{margin:3px 0 0;padding-top:7px;border-top:1px solid #ffffff20;display:grid;gap:4px;text-align:center}html #bank-shell #bank-request[hidden]{display:none}html #bank-shell #bank-request strong{font-size:14px;line-height:1.3;font-variant-numeric:tabular-nums;margin:0}html #bank-shell #bank-request span{font-size:8px;line-height:1.35;letter-spacing:.1px;margin:0}html #bank-shell .bank-actions{gap:5px}html #bank-shell .bank-actions :is(a,button){padding:7px 3px;line-height:1.35}html #bank-shell .promo-open{padding:7px 3px;font-size:9px;line-height:1.3;margin-top:6px}
html #promo-panel{padding:10px 12px;border-radius:18px;overscroll-behavior:contain;scrollbar-width:thin}.promo-editor{display:block;overflow:hidden;opacity:1}.promo-editor-inner{overflow:hidden;min-height:0}html #promo-panel.is-summary .promo-editor{height:0;opacity:0;pointer-events:none}html #promo-panel .promo-editor[hidden],html #promo-panel form[hidden]{display:none!important}.promo-heading{gap:7px;margin-bottom:5px}.promo-heading strong{font-size:10px;flex:1}.promo-heading #promo-edit{width:auto;height:23px;font-size:9px;padding:3px 7px;color:inherit}.promo-heading #promo-edit[hidden]{display:none}.promo-heading #promo-close{width:25px;height:25px}.promo-panel label{font-size:9px;margin:6px 0 4px}.promo-panel input{padding:6px 8px;line-height:1.3}.promo-panel .promo-submit{padding:7px;margin-top:8px;font-size:10px}.promo-panel #promo-usd{margin-top:4px;font-size:8px}.promo-panel #promo-status{font-size:8px;line-height:1.45;margin-top:6px}.promo-panel .promo-note{font-size:8px;line-height:1.4;margin-top:6px}.promo-panel #promo-result{padding-top:7px;margin-top:7px}.promo-panel #promo-total{font-size:19px;line-height:1.25;margin-top:3px}.promo-panel #promo-saving{font-size:9px;line-height:1.4;margin-top:4px}.promo-panel.is-summary #promo-status{color:#657a48}.promo-panel.is-summary #promo-result{border:0;padding-top:0;margin-top:7px}html[data-theme=dark] .promo-panel.is-summary #promo-status{color:#bdcf9f}
#promo-open.has-gift{animation:gift-reminder 3.8s ease-in-out infinite}@keyframes gift-reminder{0%,100%{box-shadow:0 0 0 0 #c8eb7700;border-color:var(--hud-edge)}50%{box-shadow:0 0 12px 1px #a4c76525;border-color:#96b96388}}
@media(max-width:760px){html #bank-shell .bank-qr-wrap{max-width:150px}html #bank-shell .bank-details{gap:3px;margin:6px 0 8px}html #bank-shell #bank-request{padding-top:6px;gap:3px}html.payment-editing #bank-shell .bank-qr-wrap{max-width:118px}html #promo-panel{padding:10px 12px}.promo-panel #promo-status{font-size:8px}}
@media(max-height:600px){html #bank-shell .bank-qr-wrap{max-width:132px}html.payment-editing #bank-shell .bank-qr-wrap{max-width:96px}html #bank-shell .bank-details{gap:2px;margin:5px 0 7px}html #bank-shell .bank-panel{padding-top:25px}}
@media(prefers-reduced-motion:reduce){.promo-editor{transition:none}#promo-open.has-gift{animation:none;border-color:#96b96388}}
/* A completed payment replaces the promo entry with a quiet recipient reminder. */
html #bank-shell #promo-open[hidden],html #bank-shell #bank-warning[hidden]{display:none}html #bank-shell #bank-warning{font-size:8px;line-height:1.45;text-align:center;opacity:.64;margin:7px 0 0;letter-spacing:0;max-width:240px}html #bank-shell .bank-qr-wrap{transition:max-width .6s cubic-bezier(.16,1,.3,1)}html #bank-shell .bank-qr-wrap img{transform-origin:center;will-change:auto}.payment-updating .bank-qr-wrap img,.payment-updating .bank-details{will-change:opacity,transform,filter}.promo-submit:disabled{cursor:wait;opacity:.65}.promo-panel.is-summary .promo-heading{margin-bottom:0}
@media(prefers-reduced-motion:reduce){html #bank-shell .bank-qr-wrap{transition:none}}
html #bank-shell .bank-reset{left:8px;right:auto;color:inherit;touch-action:manipulation}html #bank-shell .bank-reset[hidden]{display:none}html #bank-shell .bank-reset .ui-icon{width:14px;height:14px}html #bank-shell .bank-reset:disabled{opacity:.4;cursor:wait}html #bank-shell .bank-reset:focus-visible{outline:2px solid currentColor;outline-offset:2px}
/* A redeemed gift becomes a quiet lavender receipt rather than an active offer. */
html #gift .gift-ticket{transition:background-color .55s ease,border-color .55s ease}html #gift .gift-ticket.is-used{background:#ede8f2;border-color:#a08bad48;color:#685b75}html #gift .gift-ticket.is-used #gift-result{grid-column:1;grid-row:1}html #gift .gift-ticket.is-used strong{color:#796787}html #gift .gift-ticket.is-used .gift-code{color:#85768f;letter-spacing:.7px}html #gift .gift-ticket.is-used .gift-kicker{color:#82748d;font-size:7px;letter-spacing:.8px}html #gift .gift-ticket.is-used #gift-status{color:#82748d;font-size:8px;margin-top:7px;line-height:1.4}html #gift .gift-ticket .gift-used-badge{grid-column:2;grid-row:1;display:inline-flex;justify-content:center;align-items:center;gap:5px;padding:8px 9px;border:1px solid #a58ab438;border-radius:999px;background:#ffffff42;color:#796587;font-size:9px;line-height:1.2;white-space:nowrap}html #gift .gift-used-badge[hidden]{display:none}html #gift .gift-used-badge svg{display:block;width:14px;height:14px;flex:none}html #gift .gift-used-badge span{font-size:inherit;line-height:inherit}html[data-theme=dark] #gift .gift-ticket.is-used{background:#302b39;border-color:#b29acb35;color:#c6b7d3}html[data-theme=dark] #gift .gift-ticket.is-used strong{color:#c6afd8}html[data-theme=dark] #gift .gift-ticket.is-used :is(.gift-code,.gift-kicker,#gift-status){color:#ab9ab9}html[data-theme=dark] #gift .gift-ticket .gift-used-badge{background:#c5abd30c;color:#c7afd9;border-color:#c5abd32b}@media(prefers-reduced-motion:reduce){html #gift .gift-ticket{transition:none}}

html #promo-panel.is-summary{padding:9px 12px}html #promo-panel.is-summary .promo-note{display:none}html #promo-panel.is-summary #promo-status{margin-top:3px;font-size:8px;line-height:1.35}html #promo-panel.is-summary #promo-result{margin-top:5px}html #promo-panel.is-summary #promo-total{font-size:18px;margin-top:2px}html #promo-panel.is-summary #promo-saving{margin-top:2px}
