/* Shared mobile clean-up for every page (admin, staff app, kiosk, login).
   iPhone Safari zooms the whole page in when you tap a box whose text is smaller than 16px —
   keeping form text at 16px on phones stops that, without disabling pinch-zoom. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (max-width: 991.98px), (pointer: coarse) {
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),
  select, textarea, .form-control, .form-select, .form-control-sm, .form-select-sm,
  .input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text {
    font-size: 16px !important;
  }
  input[type=file] { font-size: 14px; }
}
/* Taps respond immediately (no double-tap-to-zoom delay) */
a, button, .btn, label, select, input, summary { touch-action: manipulation; }
/* Nothing may push the page sideways */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, canvas { max-width: 100%; }
.table-responsive { -webkit-overflow-scrolling: touch; }
@media (max-width: 575.98px) {
  .container-fluid.p-4 { padding: 1rem .85rem !important; }
  h4 { font-size: 1.25rem; }
  .card { border-radius: 14px; }
  .modal-dialog { margin: .5rem; }
  .table { font-size: .85rem; }
  .btn-sm { padding: .3rem .55rem; }
}
/* Installed app on iPhone: keep a solid strip behind the clock / battery so page content
   never scrolls underneath the status bar (zero height everywhere else). */
body::before {
  content: ""; position: fixed; top: 0; left: 0; right: 0; height: env(safe-area-inset-top, 0px);
  background: #111827; z-index: 2100; pointer-events: none;
}
