/* The shell consumes physical system insets once. Controls retain a separate touch gap. */
html.cmh-mobile-safe-area uni-page-head .uni-page-head {
  box-sizing: border-box;
  height: calc(56px + var(--cmh-safe-top, 0px));
  padding: calc(8px + var(--cmh-safe-top, 0px)) calc(4px + var(--cmh-safe-right, 0px)) 4px calc(4px + var(--cmh-safe-left, 0px));
}
html.cmh-mobile-safe-area uni-page-head .uni-placeholder { height: calc(56px + var(--cmh-safe-top, 0px)); }
html.cmh-mobile-safe-area .uni-page-head-btn { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
html.cmh-mobile-safe-area .uni-page-head-bd { top: calc(8px + var(--cmh-safe-top, 0px)); height: 44px; display: flex; align-items: center; justify-content: center; }
html.cmh-mobile-safe-area uni-page-head[uni-page-head-type=default] ~ uni-page-wrapper:not(:has(.erp-mobile-app)) { height: calc(100% - 56px - var(--cmh-safe-top, 0px)); }
html.cmh-mobile-safe-area uni-page-body:not(:has(.erp-mobile-app)) {
  padding-left: var(--cmh-safe-left, 0px);
  padding-right: var(--cmh-safe-right, 0px);
  padding-bottom: calc(10px + var(--cmh-safe-bottom, 0px));
}
html.cmh-mobile-safe-area .login-page { padding-top: calc(10px + var(--cmh-safe-top, 0px)); }
html.cmh-mobile-safe-area .fixed-bottom {
  left: var(--cmh-safe-left, 0px);
  right: var(--cmh-safe-right, 0px);
  padding-bottom: calc(12px + var(--cmh-safe-bottom, 0px));
}
html.cmh-mobile-safe-area .erp-mobile-app {
  --m-header-height: 56px;
  --m-nav-height: 64px;
  --m-content-height: calc(var(--m-viewport-height) - var(--cmh-safe-top, 0px) - var(--cmh-safe-bottom, 0px) - var(--m-header-height) - var(--m-nav-height));
  box-sizing: border-box;
  padding: var(--cmh-safe-top, 0px) var(--cmh-safe-right, 0px) var(--cmh-safe-bottom, 0px) var(--cmh-safe-left, 0px);
}
/* Installed H5 shells predate the flex viewport used by the current app. */
html.cmh-mobile-safe-area .erp-mobile-app:not(.mobile-enterprise) {
  display: flex;
  flex-direction: column;
  height: var(--cmh-viewport-height, 100dvh);
  min-height: 0;
  overflow: hidden;
}
html.cmh-mobile-safe-area .erp-mobile-app:not(.mobile-enterprise) > .mobile-view-stage {
  flex: 1;
  height: auto;
  min-height: 0;
  padding-bottom: 0;
  overflow: auto;
}
html.cmh-mobile-safe-area .erp-mobile-app:not(.mobile-enterprise) > .mobile-bottom-nav {
  position: relative;
  flex: none;
  left: auto;
  right: auto;
  bottom: auto;
}
html.cmh-mobile-safe-area .erp-mobile-app .mobile-app-header {
  min-height: 56px;
  padding: 8px 12px 4px;
}
html.cmh-mobile-safe-area .erp-mobile-app .mobile-bottom-nav {
  min-height: 64px !important;
  height: auto !important;
  padding: 4px 4px 10px !important;
}
html.cmh-mobile-safe-area .erp-mobile-app .mobile-app-back {
  top: calc(8px + var(--cmh-safe-top, 0px)) !important;
  left: calc(8px + var(--cmh-safe-left, 0px)) !important;
  min-height: 44px !important;
}
html.cmh-mobile-safe-area .erp-mobile-app .mobile-page-body { padding-left: 12px; padding-right: 12px; }
html.cmh-mobile-safe-area .erp-mobile-app.mobile-keyboard-open { --m-nav-height: 0px; }
html.cmh-mobile-safe-area .erp-mobile-app .mobile-sheet-mask,
html.cmh-mobile-safe-area .erp-mobile-app .mobile-launcher-mask {
  inset: auto 0;
  top: var(--cmh-viewport-top, 0px);
  height: var(--cmh-viewport-height, 100dvh);
  box-sizing: border-box;
  padding: var(--cmh-safe-top, 0px) var(--cmh-safe-right, 0px) var(--cmh-safe-bottom, 0px) var(--cmh-safe-left, 0px);
}
html.cmh-mobile-safe-area .erp-mobile-app .mobile-sheet,
html.cmh-mobile-safe-area .erp-mobile-app .mobile-launcher {
  max-height: calc(100% - 10px);
  padding: 12px 16px 20px;
}
html.cmh-mobile-safe-area .erp-mobile-app .mobile-sheet-mask[data-mobile-full-page] > .mobile-sheet {
  max-height: 100%;
  padding-top: 0;
  padding-bottom: 10px;
}
html.cmh-mobile-safe-area .erp-mobile-app .mobile-sheet-mask[data-mobile-full-page] > .mobile-sheet > :is(.order-sheet-head,.catalog-sheet-head,.delivery-sheet-head,.warehouse-sheet-head,.application-detail-head,.mobile-full-page-head,.mobile-between) {
  padding-top: 10px;
}
html.cmh-mobile-safe-area .erp-mobile-app :is(.warehouse-sheet-actions,.delivery-sheet-actions) {
  bottom: 0 !important;
  padding-bottom: 10px !important;
}
html.cmh-mobile-safe-area .w3d-workbench {
  box-sizing: border-box;
  padding: var(--cmh-safe-top, 0px) var(--cmh-safe-right, 0px) var(--cmh-safe-bottom, 0px) var(--cmh-safe-left, 0px);
}
html.cmh-mobile-safe-area .erp-mobile-app .w3d-workbench { padding: 0; }
html.cmh-mobile-safe-area .w3d-workbench .w3d-mobile-actions { height: auto; min-height: 56px; padding: 8px 12px 4px; }
html.cmh-mobile-safe-area .w3d-workbench .w3d-mobile-actions button { min-height: 44px; }
html.cmh-mobile-safe-area .w3d-workbench .w3d-original-head { padding-top: 10px; }
html.cmh-mobile-safe-area .w3d-workbench .w3d-original-head button { min-height: 44px; }
html.cmh-mobile-safe-area .w3d-workbench .w3d-operation-card { padding-top: 10px; padding-bottom: 20px; }
