/* iOS standalone mode: keep fixed chrome clear of the dynamic viewport and safe areas. */
.app-shell {
  min-height: 100vh;
  min-height: 100dvh;
}

@media (max-width: 800px) {
  #toast-region { bottom: calc(82px + env(safe-area-inset-bottom)); }

  /* Mirror usability layer: iOS focus zoom + compact overflow safety. */
  .input,
  .select,
  .textarea,
  #global-search,
  .search input,
  .global-search-shell > input,
  .table-page-size select,
  .table-mobile-sort-select {
    font-size: 16px;
  }
}

.login-page {
  min-height: 100vh;
  min-height: 100dvh;
}

.topbar {
  padding-top: max(16px, env(safe-area-inset-top));
}

@media (max-width: 800px) {
  .topbar {
    height: auto;
    min-height: calc(72px + env(safe-area-inset-top));
    padding-top: max(10px, env(safe-area-inset-top));
  }
}

@media (max-width: 800px) {
  .modal {
    max-height: 92vh;
    max-height: 92dvh;
  }
}
