/* E-HUB PRO - penyesuaian layar HP (tombol & form nyaman disentuh, layar penuh) */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
* { -webkit-tap-highlight-color: transparent; }
button, a, select, input, textarea, label, [onclick] { touch-action: manipulation; }
body { overscroll-behavior-y: contain; }

@media (max-width: 767px) {
  /* tinggi layar yang benar (bar alamat HP naik-turun) + area aman (poni/gesture bar) */
  body { height: 100vh; height: 100dvh; min-height: 100dvh; }
  body.flex.h-screen { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); box-sizing: border-box; }
  #sidebar { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }

  /* form: 16px mencegah browser zoom otomatis saat mengetik; tinggi 46px nyaman untuk jempol */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),
  select, textarea { font-size: 16px !important; min-height: 46px; }
  textarea { min-height: 88px; }
  input[type=checkbox], input[type=radio] { width: 22px; height: 22px; }
  input[type=file] { font-size: 14px; max-width: 100%; }

  /* tombol: minimal 44px (standar sentuh) */
  button, [role=button], a.btn, input[type=button], input[type=submit] { min-height: 44px; }
  td button, th button, td a.btn { min-height: 40px; min-width: 40px; }

  /* modal tidak melebihi layar & bisa di-scroll */
  .fixed.inset-0 > div { max-height: calc(100dvh - 24px); overflow-y: auto; -webkit-overflow-scrolling: touch; }

  /* tabel lebar: geser samping, bukan merusak halaman */
  .ehub-tblwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }

  /* jarak antar menu sidebar lebih lega */
  #sidebar nav button { min-height: 48px; }
  main, #mainContent { -webkit-overflow-scrolling: touch; }
}

/* tombol melayang: layar penuh / pasang */
#ehubTools { position: fixed; left: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 900; display: none; gap: 8px; }
#ehubTools button { min-height: 44px; min-width: 44px; padding: 0 14px; border-radius: 9999px; background: rgba(15,23,42,.92); color: #e2e8f0; border: 1px solid rgba(148,163,184,.35); font: 700 12px/1 system-ui, sans-serif; box-shadow: 0 4px 14px rgba(0,0,0,.4); }
@media (max-width: 767px) { #ehubTools.on { display: flex; } }
@media (display-mode: fullscreen), (display-mode: standalone) { #ehubInstall { display: none !important; } }
