/* MedicalTV Remote — touch/scroll recovery (2026-10-15)
   Never constrain the page to the visible viewport. Native page scroll remains
   available; horizontal movement is reserved for the dock and gesture navigation. */
html {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scroll-behavior: auto;
}
body {
  height: auto !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  max-height: none !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior-y: auto !important;
}
.wrap.remote-app,
.remote-app,
.content-stack,
.remote-layout,
.remote-column,
.primary-panel,
.card {
  height: auto !important;
  max-height: none !important;
  min-width: 0;
  overflow: visible !important;
}
/* Touching a command control may scroll; command execution is click/long-hold based. */
button[data-cmd] {
  touch-action: pan-y pinch-zoom !important;
  -webkit-touch-callout: none;
}
@media (max-width: 1100px) {
  .mobile-dock {
    display: flex !important;
    flex-flow: row nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: calc(100vw - 16px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x proximity;
    scrollbar-width: thin !important;
    touch-action: pan-x !important;
    white-space: nowrap;
  }
  .mobile-dock::-webkit-scrollbar { display: block !important; height: 3px; }
  .mobile-dock::-webkit-scrollbar-thumb { background: rgba(147,164,184,.7); border-radius: 999px; }
  .mobile-dock .dock-item {
    flex: 0 0 70px !important;
    width: 70px !important;
    min-width: 62px !important;
    max-width: 84px !important;
    grid-column: auto !important;
    box-sizing: border-box !important;
    scroll-snap-align: center;
    touch-action: pan-x !important;
  }
}
@media (max-width: 720px) and (min-height: 521px) {
  .wrap.remote-app {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 9px !important;
  }
  .app-topbar.hero { margin: 0 !important; padding: 10px !important; gap: 8px !important; }
  .quick-start-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 6px !important;
    margin: 0 !important;
  }
  .quick-start-step { min-width: 0 !important; min-height: 50px !important; padding: 7px !important; gap: 5px !important; }
  .quick-start-step small { display: none !important; }
  .content-stack { gap: 9px !important; padding-bottom: 0 !important; }
  .card { padding: 12px !important; border-radius: 18px !important; }
  .section-head { gap: 8px !important; margin-bottom: 8px !important; }
}
@media (max-width: 900px) and (max-height: 520px) {
  body { min-height: 100vh !important; min-height: 100dvh !important; }
  .wrap.remote-app { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; }
  .mobile-dock .dock-item { min-height: 44px !important; }
}
