/* Screen LMS v210 Hotfix 02: search, overlay, and administration-layout stability. */
.hotfix02-enabled [hidden] {
  display: none !important;
}

/* Portalled search results must remain over cards but never create page flow. */
.hotfix02-enabled [role="listbox"],
.hotfix02-enabled .fuzzy-select-menu,
.hotfix02-enabled .combobox-options,
.hotfix02-enabled .global-page-search-results,
.hotfix02-enabled [data-select-menu] {
  max-block-size: min(22rem, calc(100dvh - 2rem));
  overflow: auto;
  overscroll-behavior: contain;
  z-index: var(--z-popover, 1200);
}

.hotfix02-enabled [role="tooltip"],
.hotfix02-enabled .lms-tooltip,
.hotfix02-enabled [data-lms-tooltip-popup] {
  position: fixed;
  max-inline-size: min(24rem, calc(100dvw - 1rem));
  pointer-events: none;
  z-index: var(--z-tooltip, 1400);
}

.hotfix02-enabled [data-permission-matches="0"] [data-permission-no-results],
.hotfix02-enabled [data-permission-matches="0"] .permission-search-empty {
  display: block;
}

.hotfix02-ecosystem-search {
  display: grid;
  gap: 0.45rem;
  margin-block: 1rem 1.25rem;
  padding: clamp(0.85rem, 2vw, 1.15rem);
  border: 1px solid var(--border-color, #d9e2ef);
  border-radius: 1rem;
  background: var(--surface-subtle, #f8fafc);
}

.hotfix02-search-label {
  color: var(--text-strong, #172033);
  font-weight: 700;
}

.hotfix02-search-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
}

.hotfix02-search-control input[type="search"] {
  min-inline-size: 0;
  inline-size: 100%;
}

.hotfix02-search-status {
  min-block-size: 1.35rem;
  margin: 0;
}

.hotfix02-ecosystem-section[data-ecosystem-searching] .hotfix02-ecosystem-card[data-ecosystem-card-match] {
  scroll-margin-block-start: 6rem;
}

/* Shared administration-page shell. */
.hotfix02-page-root {
  inline-size: min(100%, 110rem);
  margin-inline: auto;
}

.hotfix02-panel {
  min-inline-size: 0;
}

.hotfix02-table-scroll {
  max-inline-size: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}

/* Email Template Studio */
.hotfix02-email-templates .hotfix02-page-root {
  display: grid;
  gap: 1rem;
}

.hotfix02-email-templates .hotfix02-panel {
  overflow: visible;
  border-radius: 1rem;
}

.hotfix02-email-templates .hotfix02-form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.9rem 1rem;
  align-items: start;
}

.hotfix02-email-templates .hotfix02-form-grid > * {
  min-inline-size: 0;
  grid-column: span 6;
}

.hotfix02-email-templates .hotfix02-form-grid > fieldset,
.hotfix02-email-templates .hotfix02-form-grid > .full,
.hotfix02-email-templates .hotfix02-form-grid > .full-width,
.hotfix02-email-templates .hotfix02-form-grid > [data-full-width],
.hotfix02-email-templates .hotfix02-form-grid > .actions,
.hotfix02-email-templates .hotfix02-form-grid > .form-actions,
.hotfix02-email-templates .hotfix02-form-grid > textarea,
.hotfix02-email-templates .hotfix02-form-grid > script,
.hotfix02-email-templates .hotfix02-form-grid > style {
  grid-column: 1 / -1;
}

.hotfix02-email-templates textarea {
  inline-size: 100%;
  min-block-size: 9rem;
  resize: vertical;
  font-family: inherit;
  line-height: 1.55;
}

.hotfix02-email-templates textarea[name*="html" i],
.hotfix02-email-templates textarea[id*="html" i] {
  min-block-size: 18rem;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 0.9rem;
}

.hotfix02-email-templates .actions,
.hotfix02-email-templates .form-actions,
.hotfix02-email-templates [data-template-actions] {
  position: static !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  padding-block-start: 0.5rem;
}

.hotfix02-email-templates table {
  min-inline-size: 52rem;
}

/* Progress Logic */
.hotfix02-progress-logic .hotfix02-page-root {
  display: grid;
  gap: 1rem;
}

.hotfix02-progress-logic .hotfix02-progress-form {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.hotfix02-progress-logic .hotfix02-progress-form > * {
  min-inline-size: 0;
  grid-column: span 6;
}

.hotfix02-progress-logic .hotfix02-progress-form > fieldset,
.hotfix02-progress-logic .hotfix02-progress-form > section,
.hotfix02-progress-logic .hotfix02-progress-form > .card,
.hotfix02-progress-logic .hotfix02-progress-form > .actions,
.hotfix02-progress-logic .hotfix02-progress-form > .form-actions,
.hotfix02-progress-logic .hotfix02-progress-form > [data-progress-summary],
.hotfix02-progress-logic .hotfix02-progress-form > [data-progress-preview] {
  grid-column: 1 / -1;
}

.hotfix02-progress-logic fieldset {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: clamp(0.9rem, 2vw, 1.2rem);
  border: 1px solid var(--border-color, #d9e2ef);
  border-radius: 0.9rem;
}

.hotfix02-progress-logic legend {
  max-inline-size: 100%;
  padding-inline: 0.35rem;
  color: var(--text-strong, #172033);
  font-weight: 800;
  white-space: normal;
}

.hotfix02-progress-logic .actions,
.hotfix02-progress-logic .form-actions,
.hotfix02-progress-logic [data-progress-actions] {
  position: static !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.hotfix02-progress-logic input,
.hotfix02-progress-logic select,
.hotfix02-progress-logic textarea {
  max-inline-size: 100%;
}

/* Reporting centre and report detail */
.hotfix02-reports .hotfix02-page-root {
  display: grid;
  gap: 1rem;
  inline-size: min(100%, 118rem);
}

.hotfix02-reports .hotfix02-panel {
  overflow: visible;
  border-radius: 1rem;
}

.hotfix02-reports form,
.hotfix02-reports .report-filters,
.hotfix02-reports [data-report-filters] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 0.8rem 1rem;
  align-items: end;
}

.hotfix02-reports .actions,
.hotfix02-reports .form-actions,
.hotfix02-reports .report-actions,
.hotfix02-reports [data-report-actions] {
  position: static !important;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

.hotfix02-reports table {
  inline-size: max-content;
  min-inline-size: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.hotfix02-reports thead th {
  position: sticky;
  inset-block-start: 0;
  z-index: 1;
  background: var(--surface, #fff);
  white-space: nowrap;
}

.hotfix02-reports th,
.hotfix02-reports td {
  max-inline-size: 28rem;
  overflow-wrap: anywhere;
  vertical-align: top;
}

.hotfix02-reports [data-report-catalogue],
.hotfix02-reports .report-catalogue,
.hotfix02-reports .reports-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 0.9rem;
}

@media (max-width: 56rem) {
  .hotfix02-email-templates .hotfix02-form-grid,
  .hotfix02-progress-logic .hotfix02-progress-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .hotfix02-email-templates .hotfix02-form-grid > *,
  .hotfix02-progress-logic .hotfix02-progress-form > * {
    grid-column: 1;
  }

  .hotfix02-email-templates table,
  .hotfix02-reports table {
    min-inline-size: 42rem;
  }
}

@media (max-width: 36rem) {
  .hotfix02-search-control {
    grid-template-columns: minmax(0, 1fr);
  }

  .hotfix02-email-templates .actions > *,
  .hotfix02-email-templates .form-actions > *,
  .hotfix02-progress-logic .actions > *,
  .hotfix02-progress-logic .form-actions > *,
  .hotfix02-reports .actions > *,
  .hotfix02-reports .form-actions > * {
    flex: 1 1 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hotfix02-enabled *,
  .hotfix02-enabled *::before,
  .hotfix02-enabled *::after {
    scroll-behavior: auto !important;
  }
}

/* Runtime-classified page regions create a stable information hierarchy even
   when optional cards are omitted for a role or tenant. */
.hotfix02-email-grid,
.hotfix02-progress-grid,
.hotfix02-reports-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.hotfix02-email-grid > *,
.hotfix02-progress-grid > *,
.hotfix02-reports-grid > * {
  min-inline-size: 0;
}

.hotfix02-email-grid > .hotfix02-email-catalogue { grid-column: span 4; }
.hotfix02-email-grid > .hotfix02-email-editor { grid-column: span 8; }
.hotfix02-email-grid > .hotfix02-email-preview,
.hotfix02-email-grid > .hotfix02-email-history,
.hotfix02-email-grid > .hotfix02-email-variables { grid-column: 1 / -1; }

.hotfix02-progress-grid > .hotfix02-progress-step { grid-column: span 6; }
.hotfix02-progress-grid > .hotfix02-progress-wide { grid-column: 1 / -1; }

.hotfix02-reports-grid > .hotfix02-reports-catalogue { grid-column: 1 / -1; }
.hotfix02-reports-grid > .hotfix02-reports-filters { grid-column: 1 / -1; }
.hotfix02-reports-grid > .hotfix02-reports-wide { grid-column: 1 / -1; }

.hotfix02-email-templates [class*="email-template"][class*="layout"],
.hotfix02-email-templates [class*="template-studio"],
.hotfix02-progress-logic [class*="progress-logic"][class*="layout"],
.hotfix02-progress-logic [class*="rule-builder"],
.hotfix02-reports [class*="reporting"][class*="layout"] {
  min-inline-size: 0;
  max-inline-size: 100%;
}

@media (max-width: 64rem) {
  .hotfix02-email-grid > .hotfix02-email-catalogue,
  .hotfix02-email-grid > .hotfix02-email-editor,
  .hotfix02-progress-grid > .hotfix02-progress-step {
    grid-column: 1 / -1;
  }
}
