/**
 * Native Android WebView inset contract (patient_debug APK).
 *
 * Android webViewContainer owns status-bar padding. CSS clears the native
 * header/footer via container padding. The main document (html) scrolls —
 * nested overflow:hidden + flex height:0/"auto" scrollports are unreliable in
 * WebView and left pages clipped with no pan gesture target.
 *
 * Scope: html.native-android-chrome only (WebView pages). Native Kotlin pages
 * do not load this stylesheet into their view hierarchy — do not add Android
 * touch-forwarding to the WebView from the chrome overlay (that steals pans
 * from nativeRoot when native tabs are showing).
 */

html.native-android-chrome {
  --patient-chrome-header-offset: var(--native-content-top, var(--native-chrome-top, 52px));
  --patient-chrome-footer-offset: var(--native-content-bottom, var(--native-chrome-bottom, 80px));
  --patient-native-content-gap: 8px;
  /*
   * Kotlin PatientInsetContract injects --native-content-top/bottom (density-correct).
   * Do not recompute header + gap − trim in CSS.
   */
  width: 100%;
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Hide legacy web chrome (native overlay owns header / bottom nav) */
html.native-android-chrome .patient-header-shell:not(.patient-persistent-chrome),
html.native-android-chrome .patient-page-header-shell:not(.patient-persistent-chrome),
html.native-android-chrome .patient-header:not(.patient-persistent-chrome),
html.native-android-chrome .patient-page-header,
html.native-android-chrome .patient-bottom-nav,
html.native-android-chrome .companion-topbar,
html.native-android-chrome .companion-flow-topbar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/*
 * Main-frame scroll (html/document). Nested overflow scrollports are unreliable
 * in Android WebView; do not use position:fixed on html/body.
 */
html.native-android-chrome body {
  position: relative !important;
  width: 100%;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0;
  padding: 0 !important;
  overflow: visible !important;
  touch-action: pan-y !important;
}

html.native-android-chrome body.patient-dashboard,
html.native-android-chrome body.patient-dashboard.patient-has-bottom-nav {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow: visible !important;
}

/*
 * Background brick: page bodies paint a full-viewport color (#0f1724 / --patient-bg-primary)
 * behind the Kotlin header. Nested Model 8 scroll then tucks content "under" that band.
 * Sources: .patient-dashboard (global.css), .patient-sharing-page, .patient-family-page,
 * .patient-notification-prefs-page, plus .patient-container inheritance.
 * Kill body/html/container paint under native; keep color on the content scrollports.
 */
html.native-android-chrome,
html.native-android-chrome body,
html.native-android-chrome body.patient-dashboard,
html.native-android-chrome body.patient-sharing-page,
html.native-android-chrome body.patient-family-page,
html.native-android-chrome body.patient-family-demo-page,
html.native-android-chrome body.patient-notification-prefs-page,
html.native-android-chrome body.patient-privacy-page,
html.native-android-chrome body.patient-finances-page,
html.native-android-chrome body.patient-medical-history-page,
html.native-android-chrome body.patient-messages-page,
html.native-android-chrome body.patient-profile-account-page,
html.native-android-chrome body.companion-flow-page,
html.native-android-chrome body.companion-appointment-flow,
html.native-android-chrome .patient-container {
  background: transparent !important;
  background-color: transparent !important;
}

html.native-android-chrome body.patient-sharing-page .patient-sharing-content {
  background-color: var(--ps-bg, #0f1724);
}

html.native-android-chrome body.patient-family-page .patient-family-content,
html.native-android-chrome body.patient-family-demo-page .patient-family-content {
  background-color: var(--fa-bg, #0f1724);
}

html.native-android-chrome body.patient-notification-prefs-page .patient-content,
html.native-android-chrome body.patient-notification-prefs-page .notif-prefs {
  background-color: var(--np-page, #0f1724);
}

html.native-android-chrome body.patient-privacy-page .patient-privacy-content {
  background-color: var(--patient-bg-primary, #10172a);
}

html.native-android-chrome body.patient-profile-account-page .patient-content {
  background-color: var(--patient-bg-primary, #10172a);
}

/* Beat patient-performance.css / global 100dvh locks (same !important, higher specificity). */
html.native-android-chrome body.patient-dashboard .patient-container,
html.native-android-chrome body.patient-dashboard.patient-has-bottom-nav .patient-container,
html.native-android-chrome body.documents-page .patient-container {
  min-height: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Sidebar drawer must not participate in document flow */
html.native-android-chrome .patient-sidebar-backdrop,
html.native-android-chrome .patient-sidebar {
  position: fixed !important;
  margin: 0 !important;
}

/*
 * Container grows with content so body can scroll. Do not lock height/overflow
 * on the container or children — that was the unscrollable clip.
 */
html.native-android-chrome .patient-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-top: var(--native-content-top, var(--patient-chrome-header-offset, 0px)) !important;
  padding-bottom: var(--native-content-bottom, var(--patient-chrome-footer-offset, 0px)) !important;
  margin: 0 !important;
}

html.native-android-chrome body.patient-travel-page .patient-container {
  padding-top: 0 !important;
}

html.native-android-chrome body.patient-travel-page .chat-btn {
  top: calc(var(--patient-chrome-header-offset, var(--native-chrome-top, 52px)) + 1.5rem) !important;
}

html.native-android-chrome body.patient-travel-page #flightBanner {
  top: calc(var(--patient-chrome-header-offset, var(--native-chrome-top, 52px)) + 1.5rem) !important;
}

html.native-android-chrome body.patient-travel-page #waitingBanner {
  top: calc(var(--patient-chrome-header-offset, var(--native-chrome-top, 52px)) + 2.5rem) !important;
}

html.native-android-chrome body.patient-travel-page .patient-container > * {
  margin-top: 0 !important;
}

html.native-android-chrome .patient-container > [class*="-overview"],
html.native-android-chrome .patient-container > .patient-finances-summary,
html.native-android-chrome .patient-container > .patient-finances-overview {
  flex-shrink: 0 !important;
}

/*
 * Release nested scrollports — content flows; html pans.
 */
html.native-android-chrome .patient-container > .patient-content,
html.native-android-chrome .patient-container > .patient-messages-content,
html.native-android-chrome .patient-container > .patient-travel-content,
html.native-android-chrome .patient-container > #patient-content-swap > .patient-content,
html.native-android-chrome .patient-container > #patient-route-host,
html.native-android-chrome .patient-container > .companion-flow-shell,
html.native-android-chrome .patient-messages-content,
html.native-android-chrome .documents-content,
html.native-android-chrome .patient-appointments-content,
html.native-android-chrome .patient-medical-history-content,
html.native-android-chrome .patient-finances-content {
  flex: 0 0 auto !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  touch-action: pan-y !important;
  box-sizing: border-box !important;
  padding-bottom: 0 !important;
}

/* Home list already has container footer clearance. The global
 * --patient-bottom-offset-lg pad was a second empty scroll band. */
html.native-android-chrome .patient-home-page .patient-content .card-list.patient-home-list {
  padding-bottom: 0 !important;
}

/* Retained-route / swap hosts: grow with active route, do not clip */
html.native-android-chrome .patient-container > #patient-content-swap,
html.native-android-chrome .patient-container > #patient-screen-host {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  padding-bottom: 0 !important;
}

html.native-android-chrome #patient-screen-host > .patient-route-screen,
html.native-android-chrome #patient-screen-host > .patient-route-screen [data-route-content],
html.native-android-chrome body.companion-app-page #patient-content-swap > main,
html.native-android-chrome body.companion-app-page #patient-content-swap > .companion-app-shell {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

html.native-android-chrome body.patient-messages-page.pcs-inbox-page .patient-messages-content {
  /* Messages list: no mid-pull — 50dvh/28.5dvh put the search bar above the header. */
  margin-top: 0 !important;
  padding-top: 20px !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Body-level alert toast (not in document flow — avoids flex/scroll layout breakage) */
html.native-android-chrome .patient-request-alert-host {
  position: fixed;
  top: calc(var(--patient-chrome-header-offset, var(--native-chrome-top, 52px)) + 10px);
  left: 0;
  right: 0;
  z-index: var(--patient-overlay-z-toast, 13000);
  display: flex;
  justify-content: center;
  padding: 0 1rem;
  pointer-events: none;
}

html.native-android-chrome .patient-request-alert-toast {
  pointer-events: auto;
  position: relative;
  box-sizing: border-box;
  width: min(100%, 24rem);
  margin: 0;
  padding: 0.9rem 2.5rem 0.9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(248, 113, 113, 0.55);
  background: #172033 !important;
  background-color: #172033 !important;
  box-shadow: 0 18px 42px rgba(2, 6, 23, 0.62);
  color: #f8fafc;
  opacity: 0;
  transform: translate3d(0, -14px, 0);
  transition: opacity 0.28s ease, transform 0.28s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

html.native-android-chrome .patient-request-alert-toast.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html.native-android-chrome .patient-request-alert-toast__title {
  margin: 0 0 0.35rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: #fecaca;
  line-height: 1.3;
}

html.native-android-chrome .patient-request-alert-toast__message {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #e2e8f0;
}

html.native-android-chrome .patient-request-alert-toast__close {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #f8fafc;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/*
 * Mid-start → Privacy baseline (CSS pull-up).
 * Confirmed device formula: margin-top: calc(20px - 28.5dvh).
 * Privacy + messages list excluded (already correct / pull made messages too high).
 */
html.native-android-chrome body.patient-sharing-page .patient-container > .patient-sharing-content,
html.native-android-chrome body.patient-family-page .patient-container > .patient-family-content,
html.native-android-chrome body.patient-family-demo-page .patient-container > .patient-family-content,
html.native-android-chrome body.patient-notification-prefs-page .patient-container > .patient-content.notif-prefs,
html.native-android-chrome body.patient-notification-prefs-page .patient-container > .notif-prefs,
html.native-android-chrome body.patient-profile-account-page .patient-container > .patient-content,
html.native-android-chrome body.patient-profile-account-page #patient-content-swap > .patient-content,
html.native-android-chrome body.patient-finances-page .patient-container > .patient-finances-content,
html.native-android-chrome body.patient-family-access-manage-page .patient-container > .patient-content,
html.native-android-chrome body.appointment-request-detail-page .patient-container > .appt-req-detail__content,
html.native-android-chrome body.appointment-detail-page .patient-container > .appt-detail__content,
html.native-android-chrome body.companion-access-page #patient-content-swap > .patient-content,
html.native-android-chrome body.companion-access-page #patient-content-swap > main {
  padding-top: 20px !important;
}

/*
 * Medical / travel / appointments: stat overview is a sibling ABOVE the list content.
 * Pull the overview only — content follows in normal flow (pulling both overlaps).
 */
html.native-android-chrome body.patient-medical-history-page .patient-medical-history-overview,
html.native-android-chrome body.patient-travel-history-page .patient-travel-overview,
html.native-android-chrome body.patient-appointments-page .patient-appointments-overview,
html.native-android-chrome .patient-route-screen.route-appointments .patient-appointments-overview {

  padding-top: 20px !important;
}

html.native-android-chrome body.patient-medical-history-page .patient-medical-history-content,
html.native-android-chrome body.patient-travel-history-page .patient-travel-content,
html.native-android-chrome body.patient-appointments-page .patient-appointments-content,
html.native-android-chrome .patient-route-screen.route-appointments .patient-appointments-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Privacy + messages: known-good / no pull-up */
html.native-android-chrome body.patient-privacy-page .patient-container > .patient-privacy-content,
html.native-android-chrome body.patient-messages-page .patient-messages-content {
  margin-top: 0 !important;
  padding-top: 20px !important;
}

/* Document-scroll: content is not a nested scrollport */
html.native-android-chrome .patient-content,
html.native-android-chrome [class*="-content"] {
  overflow: visible !important;
  flex: 0 0 auto !important;
}

html.native-android-chrome body.patient-travel-history-page .patient-container > .patient-travel-content {
  padding-left: var(--travel-page-gutter, 24px) !important;
  padding-right: var(--travel-page-gutter, 24px) !important;
  /* mid-pull is on .patient-travel-overview; content follows below stats */
  flex: 0 0 auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Sticky family / manage-access action footers sit on native chrome footer offset */
html.native-android-chrome body.patient-family-page .family-access-cta,
html.native-android-chrome body.patient-family-demo-page .family-access-cta,
html.native-android-chrome body.patient-family-access-manage-page .family-access-manage__action-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: var(--patient-chrome-footer-offset, var(--native-content-bottom, 0px)) !important;
  margin: 0 !important;
  padding: 12px var(--fa-page-gutter, var(--fam-page-gutter, 24px)) 12px !important;
  background: var(--fa-bg, var(--fam-page, #0f1724)) !important;
  z-index: 80 !important;
}

/* Content clears sticky CTA; container already owns chrome footer inset */
html.native-android-chrome body.patient-family-page .patient-family-content,
html.native-android-chrome body.patient-family-demo-page .patient-family-content {
  padding-bottom: calc(var(--fa-cta-bar-h, 80px) + 16px) !important;
}

html.native-android-chrome body.patient-family-access-manage-page .family-access-manage {
  padding-bottom: calc(var(--fam-action-bar-h, 120px) + 16px) !important;
}

/* Zero legacy nested footers (container already pads for native bottom nav) */
html.native-android-chrome .patient-appointments-panels,
html.native-android-chrome .patient-travel-panels,
html.native-android-chrome .patient-travel-history-list,
html.native-android-chrome .patient-finances-list,
html.native-android-chrome .patient-route-screen.documents-page .documents-content,
html.native-android-chrome .patient-route-screen.route-documents .documents-content {
  padding-bottom: 0 !important;
}

html.native-android-chrome .patient-request-scroll-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

html.native-android-chrome body.patient-medical-history-page .patient-medical-history-layout,
html.native-android-chrome body.patient-medical-history-page .patient-medical-history-list {
  flex: none !important;
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

html.native-android-chrome body.patient-medical-history-page .patient-medical-history-list {
  padding-bottom: 0 !important;
}

html.native-android-chrome body.patient-sharing-page.patient-sharing-page--consent .patient-container {
  padding-bottom: calc(var(--ps-action-bar-h, 0px) + var(--patient-chrome-footer-offset)) !important;
}

html.native-android-chrome body.patient-request-page .patient-container > .patient-content.patient-request-wizard-wrap,
html.native-android-chrome body.patient-request-page .patient-container > .patient-content.patient-request-blocked-wrap {
  padding-top: 0.9rem !important;
}

html.native-android-chrome body.patient-request-page .patient-request-hero {
  padding-top: 0.65rem !important;
}

html.native-android-chrome body.patient-request-page .patient-request-hero__copy h1 {
  scroll-margin-top: calc(var(--patient-chrome-header-offset, 52px) + 12px);
}

html.native-android-chrome body.patient-request-page .patient-request-sticky-footer {
  bottom: var(--patient-chrome-footer-offset, var(--native-content-bottom, 0px));
  padding-bottom: 0.75rem;
}

/* Sticky back/continue bar needs scroll clearance; generic native rule hides the spacer. */
html.native-android-chrome body.patient-request-page .patient-request-scroll-spacer {
  display: block !important;
  height: calc(11rem + var(--native-content-bottom, 0px)) !important;
  min-height: calc(11rem + var(--native-content-bottom, 0px)) !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

html.native-android-chrome body.patient-request-page .patient-request-wizard-wrap {
  padding-bottom: calc(1rem + var(--native-content-bottom, 0px)) !important;
}

/* Companion appointment wizard (patient-path URL with ?companion_flow=1). */
html.native-android-chrome body.patient-request-page.companion-appointment-flow .patient-request-sticky-footer {
  bottom: var(--patient-chrome-footer-offset, var(--native-content-bottom, 0px));
}

html.native-android-chrome body.patient-request-page.companion-appointment-flow .patient-request-scroll-spacer {
  display: block !important;
  height: calc(11.5rem + var(--native-content-bottom, 0px)) !important;
  min-height: calc(11.5rem + var(--native-content-bottom, 0px)) !important;
}

html.native-android-chrome body.companion-flow-page .companion-flow-shell {
  padding-top: 0 !important;
  padding-bottom: calc(1.75rem + var(--native-content-bottom, 0px)) !important;
}

html.native-android-chrome body.companion-flow-page .companion-flow-shell:has(.companion-request-who) {
  padding-bottom: calc(7rem + var(--native-content-bottom, 0px)) !important;
}

html.native-android-chrome body.companion-flow-page .companion-request-who .patient-appointments-content {
  padding-bottom: calc(5.5rem + var(--native-content-bottom, 0px)) !important;
}

html.native-android-chrome body.companion-flow-page .companion-request-who-cta {
  bottom: var(--patient-chrome-footer-offset, var(--native-content-bottom, 0px));
  margin-bottom: 0;
  padding-bottom: max(16px, calc(12px + env(safe-area-inset-bottom, 0px)));
}

html.native-android-chrome body.companion-flow-page .companion-flow-documents,
html.native-android-chrome body.companion-flow-page .companion-flow-card:last-child {
  margin-bottom: calc(0.5rem + var(--native-content-bottom, 0px));
}

html.native-android-chrome body.companion-flow-page .companion-flow-actions {
  margin-bottom: var(--native-content-bottom, 0px);
}

html.native-android-chrome body.companion-flow-page .companion-request-who .patient-appointments-section-head {
  margin-top: 0;
}

/*
 * Standalone appointment detail routes (opened from appointments list in WebView).
 * Without patient-native-shell.css the global .patient-container 100dvh lock clips content.
 *
 * One bottom-clearance owner under native chrome:
 * - Container reserves footer chrome + measured action-panel height (when Manage exists).
 * - Content padding-bottom is zeroed (page CSS / companion --patient-bottom-offset-* would stack).
 * - Action panel / manage sheet sit on footer-offset and do not add env(safe-area-inset-bottom)
 *   (Phase 3: system safe-area is owned by container / native chrome).
 * Unset the page's default 92px clearance on body so syncActionClearance() on <html>
 * inherits correctly; without a Manage panel, var(..., 0px) keeps container at footer-only.
 */
html.native-android-chrome body.appointment-request-detail-page,
html.native-android-chrome body.appointment-detail-page.appointment-request-detail-page {
  --appt-req-action-clearance: unset;
}

html.native-android-chrome body.appointment-request-detail-page .patient-container,
html.native-android-chrome body.appointment-detail-page .patient-container {
  padding-bottom: var(--patient-chrome-footer-offset, 0px) !important;
}

html.native-android-chrome body.appointment-request-detail-page:has(#appt-req-action-panel) .patient-container,
html.native-android-chrome body.appointment-detail-page:has(#appt-req-action-panel) .patient-container {
  padding-bottom: calc(
    var(--patient-chrome-footer-offset, 0px) + var(--appt-req-action-clearance, 0px)
  ) !important;
}

html.native-android-chrome body.appointment-request-detail-page .patient-container > .appt-req-detail__content,
html.native-android-chrome body.appointment-request-detail-page .appt-req-detail__content,
html.native-android-chrome body.appointment-detail-page .patient-container > .appt-detail-content,
html.native-android-chrome body.appointment-detail-page .appt-detail-content {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  touch-action: pan-y !important;
  /* Container owns action/footer clearance — do not stack page/companion content pads. */
  padding-bottom: 12px !important;
}

html.native-android-chrome body.appointment-request-detail-page .appt-req-action-panel,
html.native-android-chrome body.appointment-detail-page .appt-req-action-panel {
  bottom: var(--patient-chrome-footer-offset, 0px);
  z-index: 120;
  padding-bottom: 12px;
}

html.native-android-chrome body.appointment-request-detail-page .appt-req-manage-sheet,
html.native-android-chrome body.appointment-detail-page .appt-req-manage-sheet {
  z-index: 130;
}

html.native-android-chrome body.appointment-request-detail-page .appt-req-manage-sheet__panel,
html.native-android-chrome body.appointment-detail-page .appt-req-manage-sheet__panel {
  bottom: var(--patient-chrome-footer-offset, 0px);
  max-height: calc(100dvh - var(--patient-chrome-header-offset, 52px) - var(--patient-chrome-footer-offset, 0px) - 16px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 20px;
}

html.native-android-chrome body.appointment-request-detail-page.appt-req-sheet-open .appt-req-action-panel,
html.native-android-chrome body.appointment-detail-page.appt-req-sheet-open .appt-req-action-panel {
  visibility: hidden;
  pointer-events: none;
}

html.native-android-chrome body.appointment-request-detail-page.appt-req-sheet-open,
html.native-android-chrome body.appointment-detail-page.appt-req-sheet-open {
  overflow: hidden !important;
}

html.native-android-chrome body.appointment-request-detail-page.appt-req-sheet-open .patient-container,
html.native-android-chrome body.appointment-detail-page.appt-req-sheet-open .patient-container {
  overflow: hidden !important;
}

/*
 * Phase 3: under native chrome, system safe-area is owned by the container / bottom nav.
 * Do not add env(safe-area-inset-*) on top of --native-content-bottom.
 */
html.native-android-chrome .notif-prefs__status {
  bottom: calc(var(--native-content-bottom, var(--native-chrome-bottom, 0px)) + 12px) !important;
}

html.native-android-chrome body.patient-privacy-page .patient-privacy-content,
html.native-android-chrome body.patient-sharing-page .patient-sharing-content,
html.native-android-chrome body.patient-profile-account-page .patient-content,
html.native-android-chrome body.patient-finances-page .patient-finances-content,
html.native-android-chrome body.patient-medical-history-page .patient-medical-history-content,
html.native-android-chrome body.patient-travel-page .patient-travel-content {
  /* Keep page design pads; strip additive safe-area by relying on container contract. */
  padding-bottom: 24px !important;
}

html.native-android-chrome body.patient-family-page .patient-family-content,
html.native-android-chrome body.patient-family-demo-page .patient-family-content {
  padding-bottom: 132px !important;
}

