/* Repeated marker specificity deliberately beats legacy module selectors.
 * Shared page chrome. Loaded after domain styles to keep every module compact. */
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] {
  margin-bottom: 8px;
  padding-block: 0;
  min-height: 0;
}
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] > div:has([data-page-actions]) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] > div > :first-child {
  flex: 1 1 16rem;
  width: auto;
  min-width: 0;
}
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] h1 {
  font-size: 18px !important;
  line-height: 24px !important;
  margin-block: 0;
}
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] :is(.ui-page-title, .hrm-page-title-copy, [data-hrm-page-header]) {
  height: auto;
  min-height: 0;
  overflow: visible;
  margin-bottom: 0 !important;
  gap: 0 !important;
}
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] :is(.ui-page-title, .hrm-page-title-copy) > p {
  margin-block: 2px 0;
  font-size: 12px !important;
  line-height: 18px !important;
  white-space: normal;
  min-height: 0;
}
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] .hrm-page-breadcrumb {
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 18px;
}
html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] [data-page-actions] {
  flex: 0 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  margin: 0;
  align-self: center;
  justify-content: flex-end;
  gap: 6px;
}
@media (max-width: 639px) {
  html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] h1 {
    font-size: 16px !important;
    line-height: 22px !important;
  }
  html body #app-main #app-content > header[data-page-header][data-page-header][data-page-header] [data-page-actions] {
    justify-content: flex-start;
  }
}

/* Explicit page headings inside the content area and alternative app shells.
 * Markers keep card titles, modal headers, emails and print layouts untouched. */
html body [data-page-heading-surface] {
  min-height: 0 !important;
  height: auto !important;
  padding-block: 8px !important;
  margin-block: 0 8px !important;
  gap: 8px !important;
}
html body #app-main #app-content [data-page-heading],
html body :is([data-page-heading], [data-page-heading-surface] h1),
body #content > h1 {
  font-size: 18px !important;
  line-height: 24px !important;
  margin-block: 0 !important;
  min-height: 0;
  overflow-wrap: anywhere;
}
html body [data-page-heading-surface] p {
  font-size: 12px;
  line-height: 18px;
  margin-block: 2px 0;
}
html body #app-main #app-content > header[data-page-header] :is(.portal-heading, [data-dashboard-header]) {
  padding-block: 0;
  margin-block: 0;
  gap: 8px;
}
html body #app-main #app-content > header[data-page-header] :is(.portal-actions, [data-page-actions] > div) {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
  gap: 6px;
  margin-block: 0;
}
@media (max-width: 639px) {
  html body #app-main #app-content [data-page-heading],
  html body :is([data-page-heading], [data-page-heading-surface] h1),
  body #content > h1 {
    font-size: 16px !important;
    line-height: 22px !important;
  }
}
