:root{--kx-orange:#ff6b35;--kx-orange-2:#ff9b3d;--kx-green:#25c06d;--kx-card:#1b2038;--kx-line:rgba(255,255,255,.18)}
#kiosk-message-layer,#kiosk-confirm-layer{position:fixed;inset:0;z-index:3200;display:none;align-items:center;justify-content:center;padding:42px;background:rgba(2,5,16,.82);backdrop-filter:blur(12px)}
#kiosk-message-layer.visible,#kiosk-confirm-layer.visible{display:flex}
.kx-dialog{width:min(720px,88vw);border:2px solid var(--kx-line);border-radius:32px;padding:40px;text-align:center;color:#fff;background:linear-gradient(145deg,#202641,#12162a);box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 0 8px rgba(255,255,255,.025)}
.kx-dialog-icon{width:78px;height:78px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--kx-orange-2),var(--kx-orange));font-size:40px;font-weight:900;box-shadow:0 12px 34px rgba(255,107,53,.36)}
.kx-dialog[data-tone="success"] .kx-dialog-icon{background:linear-gradient(135deg,#3dde8c,#159e58);box-shadow:0 12px 34px rgba(37,192,109,.34)}
.kx-dialog-title{margin:0 0 14px;font-size:clamp(30px,3.2vw,46px);line-height:1.2;font-weight:900;letter-spacing:.02em}
.kx-dialog-text{color:rgba(255,255,255,.88);font-size:clamp(22px,2.2vw,32px);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.kx-dialog-actions{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kx-dialog-actions.one{grid-template-columns:1fr}
.kx-dialog-button{min-height:82px;border:0;border-radius:20px;padding:16px 24px;color:#fff;background:rgba(255,255,255,.13);font-size:clamp(22px,2vw,30px);font-weight:900;cursor:pointer}
.kx-dialog-button.primary{background:linear-gradient(135deg,var(--kx-orange-2),var(--kx-orange));box-shadow:0 12px 30px rgba(255,107,53,.34)}.kx-dialog-button:active{transform:scale(.98)}
#kiosk-help-button{position:fixed;right:24px;bottom:96px;z-index:1300;min-width:150px;min-height:64px;border:2px solid rgba(255,255,255,.34);border-radius:22px;padding:12px 22px;color:#fff;background:rgba(20,26,48,.94);font-size:21px;font-weight:900;box-shadow:0 12px 36px rgba(0,0,0,.38);cursor:pointer}
#kiosk-help-panel{position:fixed;inset:0;z-index:3250;display:none;align-items:center;justify-content:center;padding:36px;background:rgba(2,5,16,.86);backdrop-filter:blur(12px)}#kiosk-help-panel.visible{display:flex}
.kx-help-card{width:min(650px,88vw);padding:34px;border-radius:30px;text-align:center;background:#fff;color:#13182b}.kx-help-card h2{font-size:34px;margin-bottom:10px}.kx-help-card p{font-size:22px;line-height:1.55}.kx-help-card img{display:block;width:min(330px,66vw);margin:22px auto;border-radius:16px}.kx-help-card button{min-width:260px;min-height:70px;border:0;border-radius:18px;color:#fff;background:var(--kx-orange);font-size:24px;font-weight:900}
.kx-enabled .idle-warning-card{width:min(680px,88vw)!important;padding:42px!important;border-radius:30px!important}.kx-enabled .idle-warning-title{font-size:36px!important}.kx-enabled .idle-warning-text{font-size:25px!important}.kx-enabled .idle-warning-actions button{min-height:74px!important;font-size:24px!important}
.kx-enabled .pay-modal-content{width:min(620px,88vw)!important;max-width:none!important;padding:42px!important}.kx-enabled .pay-modal-title{font-size:34px!important}.kx-enabled .print-modal-content{width:min(760px,90vw)!important}
@media(max-width:900px){#kiosk-message-layer,#kiosk-confirm-layer{padding:22px}.kx-dialog{padding:30px 24px}.kx-dialog-actions{grid-template-columns:1fr}#kiosk-help-button{min-width:124px;min-height:58px;font-size:18px}}

/* v14: customer-facing support entry, large enough for standing and elderly users. */
#kiosk-help-button{min-width:168px;min-height:68px;padding:0 26px;border-color:rgba(85,234,215,.58);background:rgba(8,21,38,.94);box-shadow:0 12px 30px rgba(0,0,0,.28);font-size:21px;font-weight:900}
