/* Keep payment controls independent of the generic text-input and label styles. */
.billing-layout{grid-template-columns:260px minmax(0,1fr);max-width:1280px}
.billing-layout>div,.billing-layout .panel-body,#recharge{min-width:0}
#recharge [hidden]{display:none!important}
#recharge .payment-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:0 0 24px;min-width:0}
#recharge .payment-channels legend{padding:0;margin-bottom:12px;font-weight:500;color:var(--text)}
#recharge .payment-channel{position:relative;display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:18px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
#recharge .payment-channel:hover{border-color:#9db9eb;background:#fafcff}
#recharge .payment-channel:has(input:checked){border-color:var(--blue);background:#f5f8ff;box-shadow:0 0 0 1px var(--blue)}
#recharge .payment-channel:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:4px}
#recharge .payment-channel input[type=radio]{appearance:auto;display:block;flex:0 0 16px;width:16px;height:16px;min-width:16px;min-height:16px;max-height:16px;padding:0;margin:0;border:0;border-radius:50%;background:transparent;accent-color:var(--blue);box-shadow:none;outline:none;cursor:pointer}
#recharge .channel-mark{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;background:transparent;border-radius:6px}
#recharge .channel-mark img{display:block;width:32px;height:32px;object-fit:contain;border-radius:5px}
#recharge .channel-mark.transfer{background:#eef2f8;color:#536d95}
#recharge .channel-mark svg{width:24px;height:24px}
#recharge .channel-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
#recharge .channel-copy b{font-size:14px;font-weight:500;line-height:1.4;white-space:nowrap}
#recharge .channel-copy small{font-size:11px;color:var(--muted);line-height:1.5}
#recharge .amount-options{margin-bottom:28px}
#recharge .payment-error:empty{display:none}
.bank-transfer{border:1px solid #e1e8f2;background:#fafbfd;border-radius:7px;padding:22px;min-width:0}
.bank-transfer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bank-transfer-heading h3{margin:0;font-size:16px;font-weight:600}
.bank-transfer-heading>span{flex-shrink:0;padding:3px 8px;border-radius:4px;background:#edf2fb;color:#5f7494;font-size:12px}
.bank-intro,.bank-transfer-notice{font-size:13px;line-height:1.8;color:#64748b;margin:12px 0 0}
.bank-transfer-details{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:5px;margin:18px 0}
.bank-transfer-details h4{font-size:13px;font-weight:500;color:#586980;margin:0 0 10px}
.bank-transfer-details p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px;margin:0}
.bank-transfer-steps{list-style:none;counter-reset:bank-step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:24px 0}
.bank-transfer-steps li{counter-increment:bank-step;min-width:0;position:relative;padding-left:30px}
.bank-transfer-steps li:before{content:counter(bank-step);position:absolute;left:0;top:0;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#eaf0fb;color:#416fb5;font-size:12px}
.bank-transfer-steps b{display:block;font-size:13px;font-weight:500;margin-bottom:7px;line-height:21px}
.bank-transfer-steps span{display:block;color:var(--muted);font-size:12px;line-height:1.7}
.bank-transfer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bank-transfer>.coverage-note{margin:14px 0 0}
@media(max-width:1200px){.billing-layout{grid-template-columns:1fr}.balance-summary>strong{font-size:30px}.balance-summary p{margin-bottom:12px}}
@media(max-width:650px){#recharge .payment-channels{grid-template-columns:1fr}#recharge .payment-channel{padding:15px 16px}#recharge .channel-copy{flex:1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.bank-transfer{padding:18px}.bank-transfer-steps{grid-template-columns:1fr;gap:16px;margin:20px 0}.bank-transfer-steps b{margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){#recharge .payment-channel{transition:none}}
