html.kiosk-device-mode, html.kiosk-device-mode body {
  overscroll-behavior: none;
  touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
  -webkit-user-select: none;
  user-select: none;
}
html.kiosk-device-mode body {
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
}
body.customer-mode .page-content { min-height: 100vh; min-height: 100dvh; }
body.customer-mode .language-control { z-index: 1200; }
body.customer-mode input,
body.customer-mode textarea { -webkit-user-select: text; user-select: text; }
.kiosk-staff-unlock-dialog {
  width: min(430px, calc(100vw - 34px));
  border: 1px solid #555;
  border-radius: 20px;
  padding: 0;
  background: #111;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.75);
}
.kiosk-staff-unlock-dialog::backdrop { background: rgba(0,0,0,.82); }
.kiosk-staff-unlock-card { padding: 26px; display: grid; gap: 14px; }
.kiosk-staff-unlock-card h2,
.kiosk-staff-unlock-card p { margin: 0; }
.kiosk-staff-unlock-card input {
  width: 100%; box-sizing: border-box; border-radius: 12px; border: 1px solid #777;
  background: #fff; color: #111; font-size: 1.35rem; padding: 14px;
  text-align: center; letter-spacing: .16em;
}
.kiosk-staff-unlock-actions { display: flex; gap: 10px; justify-content: flex-end; }
.kiosk-unlock-error { color: #ff9d9d; font-weight: 800; }
@media (display-mode: standalone) {
  body.customer-mode { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
}
