/* v128: Top Up Saldo — modal tidak lagi kepotong, bisa di-scroll, tampilan lebih lengkap */
#topupModal{align-items:center!important;justify-content:center!important;padding:14px!important;overflow:hidden!important}
#topupModal .modal-box{width:min(460px,100%)!important;max-height:calc(100vh - 28px)!important;max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;margin:0 auto!important;padding:0 0 16px!important;border-radius:22px!important;position:relative}
#topupModal .mhead{position:sticky;top:0;z-index:3;margin:0!important;padding:16px 18px!important;background:linear-gradient(180deg,#143a9a,#0e2a78);border-bottom:1px solid rgba(255,255,255,.1)}
#topupModal .mhead h2{font-size:18px;margin:0}
#topupModal>.modal-box>*:not(.mhead){margin-left:16px;margin-right:16px}
#topupModal .tp-bal{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,rgba(255,209,102,.18),rgba(47,107,255,.22));border:1px solid rgba(255,209,102,.35)}
#topupModal .tp-bal .tp-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,209,102,.2);font-size:22px;flex:0 0 auto}
#topupModal .tp-bal small{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
#topupModal .tp-bal b{display:block;font-size:22px;color:#ffd166;line-height:1.15}
#topupModal .tp-bal em{margin-left:auto;font-style:normal;font-size:11px;padding:4px 9px;border-radius:99px;background:rgba(34,197,94,.18);color:#6ee7a0;white-space:nowrap}
#topupModal .tp-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
#topupModal .tp-chip{padding:11px 4px;border-radius:13px;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;font:700 13px/1.1 inherit;cursor:pointer;transition:.18s}
#topupModal .tp-chip.on{border-color:#ffd166;background:rgba(255,209,102,.16);color:#ffd166;box-shadow:0 0 0 3px rgba(255,209,102,.12)}
#topupModal .tp-chip:active{transform:scale(.97)}
#topupModal #topupAmount{position:absolute!important;opacity:0!important;pointer-events:none!important;height:0!important;width:0!important;padding:0!important;border:0!important}
#topupModal .label{margin-top:14px!important}
#topupModal .tp-sum{margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.2);font-size:13px;line-height:1.55}
#topupModal .tp-sum div{display:flex;justify-content:space-between;gap:10px}
#topupModal .tp-sum b{color:#ffd166}
#topupModal .tp-note{margin-top:10px;font-size:11.5px;opacity:.72;line-height:1.5;text-align:center}
#topupModal #topupConfirmBtn{position:sticky;bottom:0;margin-top:14px!important;min-height:48px;font-weight:800;border-radius:14px!important;width:calc(100% - 32px)!important}
#topupModal .pay-method-grid{max-height:none}
/* modal pembayaran produk: pastikan juga tidak kepotong */
#paymentModal{align-items:center!important;justify-content:center!important;padding:14px!important}
#paymentModal .modal-box{max-height:calc(100dvh - 28px)!important;overflow-y:auto!important}
@media (prefers-reduced-motion:no-preference){#topupModal.show .modal-box{animation:tpIn .35s cubic-bezier(.2,.9,.25,1.05) both}@keyframes tpIn{from{transform:translateY(24px) scale(.97);opacity:0}to{transform:none;opacity:1}}}
