/* V1.4.82: scoped to payment UI; no page-wide layout or theme overrides. */
#subscribeModal{font-family:'Noto Sans Khmer',Battambang,Inter,system-ui,sans-serif}
#subscribeModal [hidden],.km-pay-dialog-v1482 [hidden]{display:none!important}
#subscribeModal .subscribe-card{width:min(1060px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:28px}
#subscribeModal .subscribe-heading h2{font-size:clamp(21px,3vw,29px);line-height:1.65;margin:10px 0}
#subscribeModal .subscribe-heading p,#subscribeModal .payment-steps{line-height:1.9;font-size:15px}
#subscribeModal .bakong-box{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);align-items:start;gap:24px;padding:22px}
#subscribeModal .qr-side{min-width:0;background:#fff;color:#101926;border-radius:16px;padding:18px;position:sticky;top:0}
#subscribeModal #bakongQr{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:0;margin:0}
#subscribeModal .km-pay-qr-image-v1482{border:0;background:#fff;color:inherit;display:block;width:100%;padding:0;margin:18px 0 12px;cursor:zoom-in}
#subscribeModal .km-pay-qr-view-v1482{width:100%;background:#e6f3fc;border:1px solid #bdd6e8;color:#154666;border-radius:10px;padding:11px;font-family:inherit;font-weight:700;font-size:14px;line-height:1.7;cursor:pointer;min-height:44px}
#subscribeModal .merchant-name{margin-top:20px;overflow-wrap:anywhere;font-size:15px}
#subscribeModal .merchant-note{overflow-wrap:anywhere}
#subscribeModal .km-pay-qr-help-v1482{color:#52667b;font-size:12px;line-height:1.9;margin:16px 0 0}
#subscribeModal .payment-side{min-width:0}
#subscribeModal .payment-side h3{margin-top:0;font-size:21px;line-height:1.7}
#subscribeModal .payment-steps{padding-left:24px;margin:10px 0 20px;color:#bac6d9}
#subscribeModal .payment-steps li{padding-left:3px;margin:0 0 7px}
#subscribeModal .selected-plan{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid #394559;border-radius:12px;font-size:13px}
#subscribeModal .selected-plan>strong{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;text-align:right}
#subscribeModal .plan-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}
#subscribeModal .plan-card{text-align:left;min-width:0;position:relative;padding:17px 16px;transition:border-color .16s,box-shadow .16s,background .16s}
#subscribeModal .plan-card.active{border-color:#a78bfa!important;box-shadow:0 0 0 2px #a78bfa45!important;background:linear-gradient(145deg,#26203b,#141b2c)!important}
#subscribeModal .plan-card[aria-pressed=true]::after{content:'✓';position:absolute;top:12px;right:12px;color:#dbcfff;font-size:18px}
#subscribeModal .plan-card .plan-title{font-weight:700;white-space:normal;line-height:1.7;padding-right:22px}
#subscribeModal .plan-card:disabled{opacity:.68;cursor:wait}
#subscribeModal .payment-label{font-size:14px;line-height:1.8;margin-top:20px;display:block;color:#e7edf7}
#subscribeModal .payment-input{font-family:inherit;font-size:16px;line-height:1.6;min-height:48px;width:100%;box-sizing:border-box}
#subscribeModal .payment-input[aria-invalid=true],#subscribeModal .km-pay-upload-v1482[aria-invalid=true]{border-color:#f29b9b;box-shadow:0 0 0 2px #ed6e6e1f}
.km-pay-required-v1482{font-size:11px;color:#f0c574;margin-left:5px}
.km-pay-hint-v1482{font-size:12px;line-height:1.9;color:#a6b4ca;margin:8px 0}
.km-pay-field-error-v1482{color:#ffc2c2;font-size:13px;line-height:1.85;margin:8px 0;white-space:pre-line}
.km-pay-file-input-v1482{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
#subscribeModal .km-pay-upload-v1482{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 14px;border:1px dashed #8b81ce;border-radius:13px;background:#292440;color:#f4f0ff;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;line-height:1.8;min-height:64px}
.km-pay-upload-v1482>span:first-child{font-size:26px;font-weight:400}
.km-pay-filename-v1482{color:#b7c8de;font-size:12px;line-height:1.8;margin:8px 0;overflow-wrap:anywhere}
.km-pay-proof-preview-v1482{display:flex;align-items:center;gap:14px;border:1px solid #34455b;border-radius:12px;padding:12px;margin:12px 0;color:#dfe7f4}
.km-pay-proof-preview-v1482>button{flex:0 0 86px;padding:0;background:#fff;border:0;border-radius:8px;overflow:hidden;cursor:zoom-in}
.km-pay-proof-preview-v1482 img{display:block;width:86px;height:100px;object-fit:contain;background:#fff}
.km-pay-proof-preview-v1482 strong{font-size:13px}.km-pay-proof-preview-v1482 p{font-size:12px;line-height:1.8}
.km-pay-proof-preview-v1482 div>button{border:0;background:transparent;color:#f5b6b6;padding:4px 0;cursor:pointer;font:inherit;font-size:12px}
#subscribeModal .payment-submit{font-family:inherit;font-size:14px;line-height:1.9;min-height:54px;height:auto;white-space:normal;padding:12px 16px;margin-top:20px}
#subscribeModal .payment-safe-note{font-size:12px;line-height:1.9;margin-top:12px;color:#a5b3c7}
.km-pay-alert-v1482{border:1px solid #9a5757;background:#39242b;color:#ffd2d2;padding:13px 15px;border-radius:11px;font-size:13px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere;margin:12px 0}
.km-pay-help-v1482{border-top:1px solid #354256;margin-top:22px;padding-top:17px;color:#b9c7dc;font-size:12px;line-height:1.9}
.km-pay-help-v1482 h4{font-size:14px;color:#edf2ff;margin:0 0 7px}.km-pay-help-v1482 p{margin:0 0 12px}
.km-pay-contact-links-v1482{display:flex;gap:10px;flex-wrap:wrap}
.km-pay-contact-links-v1482 a{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;border:1px solid #397092;background:#102e46;color:#cae9fc;border-radius:9px;text-decoration:none;font-family:inherit;font-size:12px;font-weight:650;line-height:1.75;padding:9px 12px;box-sizing:border-box;overflow-wrap:anywhere}
.km-pay-contact-links-v1482 a:hover{background:#173e5e;border-color:#80bce0}
.km-pay-contact-links-v1482 a:last-child:not(:first-child){background:#182537;border-color:#405978;color:#c7d8ee}
.km-pay-notice-strip-v1482{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;color:#a9d8c8;font-size:12px;line-height:1.8}
.km-pay-notice-strip-v1482 button{background:none;border:0;color:#bccbf4;font:inherit;cursor:pointer;padding:6px;text-decoration:underline}
.km-pay-dialog-v1482{box-sizing:border-box;padding:0;width:min(690px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;border:1px solid #46546e;border-radius:20px;background:#111827;color:#edf2ff;box-shadow:0 28px 100px #0009;font-family:'Noto Sans Khmer',Battambang,Inter,system-ui,sans-serif;z-index:2147483200}
.km-pay-dialog-v1482::backdrop{background:rgba(3,7,15,.86);backdrop-filter:blur(5px)}
.km-pay-dialog-head-v1482{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid #344259;background:#131d2e;position:sticky;top:0;z-index:1}
.km-pay-dialog-head-v1482>button{border:1px solid #43516a;border-radius:9px;background:#172239;color:#fff;flex:0 0 38px;min-height:38px;font-size:25px;cursor:pointer;line-height:1}
.km-pay-dialog-head-v1482 h2{font-size:18px;margin:0;line-height:1.7}
.km-pay-dialog-body-v1482{padding:24px}
.km-pay-dialog-body-v1482 h2{font-size:24px;line-height:1.7;margin:16px 0}
.km-pay-kicker-v1482{font-size:11px;color:#b1bfd6;line-height:1.8;font-weight:700}
.km-pay-warning-symbol-v1482{height:46px;width:46px;border-radius:13px;display:grid;place-items:center;color:#f8cc74;background:#463a21;border:1px solid #927239;font-size:29px;font-weight:900}
.km-pay-notice-text-v1482{font-size:14px;line-height:2;color:#d0d9e7;white-space:pre-line;overflow-wrap:anywhere}
.km-pay-ack-v1482{display:flex;gap:12px;align-items:flex-start;padding:14px;background:#1d2b37;border:1px solid #47616b;border-radius:12px;line-height:1.85;font-size:13px;margin-top:22px;cursor:pointer}
.km-pay-ack-v1482 input{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:#ad8aff}
.km-pay-dialog-actions-v1482{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.km-pay-primary-v1482,.km-pay-secondary-v1482{display:inline-flex;justify-content:center;align-items:center;border:1px solid #52617a;border-radius:10px;min-height:44px;font:600 13px/1.8 'Noto Sans Khmer',Battambang,Inter,system-ui,sans-serif;padding:10px 15px;background:#202d43;color:#edf2ff;cursor:pointer;text-decoration:none}
.km-pay-primary-v1482{background:linear-gradient(120deg,#8b4fe6,#7541cd);border-color:#b69bdd;flex:1}
.km-pay-primary-v1482:disabled,.km-pay-secondary-v1482:disabled,#subscribeModal button:disabled{opacity:.55;cursor:wait}
#subscribeModal button:focus-visible,#subscribeModal input:focus-visible,.km-pay-dialog-v1482 button:focus-visible,.km-pay-dialog-v1482 a:focus-visible,.km-pay-dialog-v1482 input:focus-visible{outline:3px solid #b8a3ff;outline-offset:3px}
.km-pay-media-dialog-v1482{width:min(940px,calc(100vw - 22px));}
.km-pay-media-viewport-v1482{overflow:auto;max-height:calc(100dvh - 190px);background:#fff;padding:20px;box-sizing:border-box;touch-action:pan-x pan-y pinch-zoom}
.km-pay-media-viewport-v1482 img{display:block;margin:0 auto;width:auto;max-width:100%;max-height:calc(100dvh - 230px);height:auto;object-fit:contain;user-select:auto;-webkit-user-select:auto}
.km-pay-media-tools-v1482{display:flex;align-items:center;gap:10px;padding:14px 20px;flex-wrap:wrap}
.km-pay-media-tools-v1482 span{font-size:11px;color:#b5c5db;line-height:1.7}
.km-pay-success-v1482{background:linear-gradient(145deg,#123338,#152331);border:1px solid #477969;border-radius:14px;padding:20px;margin:18px 0;color:#d8efeb;line-height:1.9}
#subscribeModal .km-pay-success-v1482 h3{font-size:19px;margin:9px 0}.km-pay-success-v1482 p{font-size:13px;margin:10px 0}
.km-pay-success-v1482 .km-pay-kicker-v1482{color:#f3cf80}.km-pay-request-id-v1482{overflow-wrap:anywhere}
.km-pay-success-v1482 .km-pay-contact-links-v1482{margin-top:16px}
@media(max-width:700px){
 #subscribeModal .subscribe-card{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:22px 14px;border-radius:16px}
 #subscribeModal .bakong-box{grid-template-columns:minmax(0,1fr);padding:14px;gap:24px}
 #subscribeModal .qr-side{position:static;width:min(100%,350px);box-sizing:border-box;justify-self:center}
 #subscribeModal .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #subscribeModal .plan-card{padding:15px 12px}
 #subscribeModal .plan-card strong{font-size:22px}
 #subscribeModal .selected-plan{align-items:flex-start;font-size:12px}
 #subscribeModal .selected-plan>strong{max-width:68%}
 #subscribeModal .payment-steps{font-size:14px}
 .km-pay-contact-links-v1482 a{flex:1 1 190px}
 .km-pay-dialog-head-v1482{padding:14px 16px}.km-pay-dialog-body-v1482{padding:18px}
 .km-pay-dialog-body-v1482 h2{font-size:21px}.km-pay-notice-text-v1482{font-size:13px}
 .km-pay-media-viewport-v1482{padding:12px}
 .km-pay-dialog-actions-v1482>*{flex:1 1 160px}
}
@media(prefers-reduced-motion:reduce){#subscribeModal .plan-card{transition:none}}
