/* Management chrome stays within the viewport; list data owns its scroll area. */
.app-shell:has(.management-workspace) {
  height: 100dvh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.app-shell:has(.management-workspace) > .global-header,
.app-shell:has(.management-workspace) > .breadcrumb { flex-shrink: 0; }
.app-shell:has(.management-workspace) .management-workspace {
  flex: 1 1 0;
  height: auto;
  min-height: 0;
  overflow: hidden;
}
.app-shell .management-workspace > .management-main {
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow: auto;
}
.app-shell .management-sidebar { min-height: 0; height: 100%; }
.app-shell .management-sidebar > nav { overflow-y: auto; min-height: 0; }
.app-shell .management-main :is(.business-management,.department-management,.organization-management,.catalog-layout,.resource-workspace):has(.management-page),
.app-shell .management-main > .management-page,
.app-shell .management-main > .logs-page {
  height: 100%;
  min-height: 0;
}
.app-shell .management-main .management-page,
.app-shell .management-main .logs-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.app-shell .management-main :is(.management-filter-card,.logs-filters) {
  flex: 0 1 auto;
  max-height: 35%;
  overflow: auto;
}
.app-shell .management-main :is(.management-results,.logs-results) {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.app-shell .management-main :is(.management-results,.logs-results) > * { flex-shrink: 0; }
.app-shell .management-main :is(.management-results,.logs-results) > :is(.table-scroll,.business-table-scroll,.department-table-scroll,.task-group-list) {
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  overflow: auto;
  overscroll-behavior: contain;
}
/* A grouped task list has one shared horizontal scrollbar for all dates. */
.app-shell .management-results > .task-group-list .table-scroll { overflow: visible; }
.app-shell .management-results > .task-group-list .date-task-group { min-width: max-content; }
.app-shell .management-main :is(.management-results,.logs-results) > :is(.table-pagination,.shared-pagination-container) {
  flex: 0 0 auto;
  min-height: 0;
  margin-top: 0;
  background: #fff;
}
.app-shell .management-main :is(.management-results,.logs-results) .table-pagination {
  padding-top: 10px;
  padding-bottom: 6px;
}
@media(max-width:600px) {
  .app-shell .management-main :is(.management-filter-card,.logs-filters) { max-height: 30%; }
  .app-shell .management-main :is(.management-results,.logs-results) { padding-inline: 12px; }
}
@media(max-width:640px) {
  .app-shell .management-workspace > .management-sidebar { height: auto; max-height: 100px; flex: 0 0 auto; }
  .app-shell .management-workspace > .management-main { height: auto; flex: 1 1 0; min-height: 0; }
}

/* Three-column pages: the middle tree fills the same vertical track as the list. */
.app-shell .management-main .organization-management {
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
}
.app-shell .management-main .organization-management > .organization-department-tree {
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: auto;
  box-sizing: border-box;
}
.app-shell .management-main :is(.catalog-layout,.resource-workspace) > :is(.organization-tree,.revision-resource-categories) {
  align-self: stretch;
  min-height: 0;
  max-height: 100%;
  overflow: auto;
}
/* Weather settings are long-form content, not a table with a pagination footer. */
.app-shell .management-main .restriction-view .management-results > :is(.weather-policy,.device-restrictions) {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}
@media(max-width:700px) {
  .app-shell .management-main .organization-management {
    grid-template-rows: minmax(0, 120px) minmax(0, 1fr);
  }
}
