.ling-payment-options{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin:12px 0}.ling-payment-options[hidden]{display:none}.ling-payment-choice,.ling-payment-refresh{padding:10px 8px;border:2px solid #829c69;border-radius:3px;background:#f7f9ed;color:#203e30;font:inherit;font-weight:700;line-height:1.4;cursor:pointer}.ling-payment-choice[aria-pressed=true]{background:#d5fa50;border-color:#567d35;box-shadow:2px 2px 0 #567d35}.ling-payment-choice:disabled{cursor:default;opacity:.7}.ling-payment-refresh{grid-column:1/-1;font-size:12px}#payModal #payPrice{overflow-wrap:anywhere}#payModal #payBal{white-space:pre-line;line-height:1.5}

.balance-box-quote{display:grid;gap:6px;padding:12px 14px;margin:12px 0;border:1px solid #b6c8a5;background:#f0f5e7;color:#214631;border-radius:12px;font-size:14px;line-height:1.5}.balance-box-quote[hidden]{display:none}.balance-box-quote small{font-size:12px;color:#51644c}#payCancel{white-space:normal}

/* Payment-only feedback. Keep the original order/recovery state machine. */
#payModal{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;overscroll-behavior:contain}
#payModal.show{display:grid;place-items:center}
#payModal .payment-card{width:min(480px,100%);max-width:480px;max-height:calc(100vh - 32px);max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));margin:0;padding:24px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;isolation:isolate}
#payModal #payTitle{margin-right:50px;margin-bottom:8px}
#payModal .payment-close{width:44px;height:44px;top:16px;right:16px;display:grid;place-items:center;border-radius:14px}
#payModal #payPrice{font-size:clamp(28px,7vw,38px);line-height:1.2;min-height:1.2em;margin:18px 0 14px;overflow-wrap:anywhere}
#payModal #payBal{margin-bottom:14px;overflow-wrap:anywhere}
#payModal .ling-payment-options{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:10px;margin:12px 0}
#payModal .ling-payment-choice,#payModal .ling-payment-refresh{min-height:46px;border-radius:999px;padding:10px 12px;box-shadow:none;font-size:14px;transition:background-color .14s,border-color .14s}
#payModal .ling-payment-choice[aria-pressed=true]{box-shadow:inset 0 -2px 0 #789945}
#payModal .balance-box-quote{padding:12px;font-size:13px}
#payModal .balance-box-quote button{min-height:44px;white-space:normal}
#payModal .pay-row{position:sticky;bottom:-24px;z-index:2;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:10px;padding:14px 0 20px;margin:16px 0 -20px;background:var(--hl-paper,#fbfcf8);box-shadow:0 -8px 12px var(--hl-paper,#fbfcf8)}
#payModal .pay-row .btn{min-height:52px;height:auto;padding:10px 12px;white-space:normal;word-break:normal;overflow-wrap:break-word;line-height:1.4;font-size:14px;transition:background-color .14s,border-color .14s,filter .14s}
#payModal button:focus-visible{outline:3px solid #6a8e3b;outline-offset:3px}
#payModal button:not(:disabled):active{filter:brightness(.96)}
#payModal #payMethodNote{font-size:13px;min-height:40px;line-height:1.55;overflow-wrap:anywhere}
#payModal #payMethodNote[data-busy=true]::before{content:'';display:inline-block;vertical-align:-2px;width:12px;height:12px;border:2px solid #bfc9ab;border-top-color:#697e37;border-radius:50%;margin-right:8px;animation:payment-progress-499 .9s linear infinite}
#payModal #payConfirm[data-busy=true]{background:#e7efcf!important;color:#496031!important;border-color:#b5c59c!important;cursor:progress}
@keyframes payment-progress-499{to{rotate:360deg}}
@media(max-width:420px){#payModal .payment-card{padding:20px 16px;border-radius:22px}#payModal .payment-close{top:12px;right:12px}#payModal .pay-row{bottom:-20px;padding-bottom:16px;margin-bottom:-16px}#payModal .ling-payment-choice{font-size:13px}#payModal .pay-row .btn{font-size:13px}}
@media(max-height:500px){#payModal{place-items:start center}#payModal .payment-card{border-radius:16px}#payModal #payPrice{margin:10px 0;font-size:28px}}
@media(prefers-reduced-motion:reduce){#payModal button{transition:none!important}#payModal #payMethodNote[data-busy=true]::before{animation:none}}
