.swal2-container{z-index:20000!important;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important}
.swal2-container.swal2-backdrop-show{background:rgba(15,35,33,.48)!important;backdrop-filter:blur(4px)}
.swal2-popup{font-family:Sarabun,sans-serif!important;border:1px solid #e0e8e3!important;border-radius:24px!important;box-shadow:0 24px 80px #102e3329!important;max-width:100%!important;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto!important;color:#203c40!important;padding-bottom:24px!important}
.swal2-title{font-size:clamp(21px,4vw,27px)!important;line-height:1.45!important;overflow-wrap:anywhere}
.swal2-html-container{font-size:16px!important;line-height:1.75!important;color:#52656a!important;overflow-wrap:anywhere;overscroll-behavior:contain}
.swal2-html-container table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.swal2-actions{align-items:stretch!important;gap:10px!important;max-width:100%;padding:0 16px!important}
.swal2-styled{font-family:inherit!important;font-size:16px!important;font-weight:700!important;min-height:46px;border-radius:12px!important;margin:0!important;padding:11px 22px!important;box-shadow:none!important}
.swal2-cancel{background:#f0f4f1!important;color:#415956!important;border:1px solid #dce5de!important}
.swal2-styled:focus-visible,.swal2-close:focus-visible,.sp-toast button:focus-visible{outline:3px solid #b48a32!important;outline-offset:3px!important}
.swal2-input,.swal2-textarea,.swal2-select{font-family:inherit!important;font-size:16px!important;max-width:calc(100% - 48px);border-radius:12px!important}
.swal2-validation-message{font-size:15px!important;background:#fff2ef!important;color:#a22a28!important}
.swal2-toast{border-radius:16px!important;padding:16px!important}
#sp-toast-stack{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:min(420px,calc(100vw - 32px));z-index:21000;display:grid;gap:10px;pointer-events:none;font-family:Sarabun,sans-serif}
.sp-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:12px 10px 12px 16px;border:1px solid #dce5de;border-left:4px solid #21836a;border-radius:16px;background:#fff;color:#203c40;box-shadow:0 12px 36px #183c4029;font-size:15px;line-height:1.6}
.sp-toast-text{flex:1;min-width:0;overflow-wrap:anywhere;white-space:pre-line}
.sp-toast-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#eaf7ef;color:#167054;font-weight:700}
.sp-toast-error{border-left-color:#c43b3b}.sp-toast-error .sp-toast-icon{background:#fff0f0;color:#b53232}
.sp-toast-warning{border-left-color:#b48a32}.sp-toast-warning .sp-toast-icon{background:#fff6dc;color:#8c651b}
.sp-toast-info{border-left-color:#287d9b}.sp-toast-info .sp-toast-icon{background:#eaf6fc;color:#24657b}
.sp-toast button{font:inherit;cursor:pointer;border:0;border-radius:10px;min-width:44px;min-height:44px;background:#f2f6f3;color:#415956;flex:none}
.sp-toast-close{font-size:24px!important}.sp-toast-action{padding:4px 10px}
/* Keep the cash/QR confirmation's existing controls and calculation intact. */
#confirmModal>div.relative{font-family:Sarabun,sans-serif;border-radius:24px!important;border:1px solid #e0e8e3;max-height:calc(100dvh - 32px)!important;margin:16px;bottom:auto!important}
#confirmModal button{min-height:44px;border-radius:12px}
@media(max-width:480px){.swal2-popup{padding-bottom:20px!important}.swal2-actions{width:100%}.swal2-styled{flex:1;min-width:100px}.swal2-html-container{margin:16px!important}.swal2-title{padding-left:18px!important;padding-right:18px!important}.swal2-toast .swal2-actions{width:auto}.sp-toast{gap:8px}}
@media(prefers-reduced-motion:reduce){.swal2-popup,.swal2-backdrop-show,.swal2-icon{animation:none!important;transition:none!important}}
@media print{.swal2-container,#sp-toast-stack{display:none!important}}
