/* OPS Gate 3.1.55.8 — deterministic runtime module layout recovery.
   This file is loaded after the stable shell and owns only module content geometry. */

#main-content,
#main-content * {
  box-sizing: border-box;
}

#main-content {
  min-width: 0;
  overflow-x: hidden;
}

#main-content > * {
  min-width: 0;
}

#main-content > .ops-layout-stack,
#main-content > .ops-core-page,
#main-content > .ops-people,
#main-content > .ops-ticket-hub,
#main-content > .ops-events-page {
  display: block !important;
  width: 100% !important;
  max-width: 1540px;
  margin-inline: auto !important;
  float: none !important;
  clear: both;
}

.ops-layout-stack {
  display: block !important;
  width: 100%;
  min-width: 0;
}

.ops-layout-stack > * {
  min-width: 0;
  max-width: 100%;
  clear: both;
}

.ops-layout-stack > .ops-page-header,
.ops-layout-stack > .ops-core-hero,
.ops-layout-stack > .ops-module-kpi-grid,
.ops-layout-stack > .nav,
.ops-layout-stack > .tab-content,
.ops-layout-stack > .ops-ticket-panel,
.ops-layout-stack > .ops-events-card,
.ops-layout-stack > .ops-events-stats-grid,
.ops-layout-stack > .ops-events-main-grid {
  width: 100% !important;
  float: none !important;
}

/* Predictable page hero geometry. */
.ops-people-hero,
.ops-ticket-hero,
.ops-events-hero,
.ops-core-hero,
.ops-page-header {
  width: 100% !important;
  min-width: 0;
  align-items: center;
}

.ops-people-hero > :first-child,
.ops-ticket-hero > :first-child,
.ops-events-hero > :first-child,
.ops-core-hero > :first-child,
.ops-page-header > :first-child {
  flex: 1 1 520px;
  min-width: 0;
}

.ops-people-hero > :last-child,
.ops-ticket-hero > :last-child,
.ops-events-hero > :last-child,
.ops-core-hero > :last-child,
.ops-page-header > :last-child {
  flex: 0 0 auto;
  max-width: 100%;
}

/* KPI rows no longer depend on Bootstrap row/column negative margins. */
.ops-module-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
  margin-inline: 0 !important;
  width: 100%;
}

.ops-module-kpi-grid > .ops-module-kpi-slot {
  display: block;
  min-width: 0;
  width: auto;
  max-width: none;
  padding: 0;
}

.ops-module-kpi-grid .ops-kpi-card,
.ops-module-kpi-grid .ops-people-stat,
.ops-module-kpi-grid .ops-ticket-stat {
  width: 100%;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.ops-module-kpi-grid .ops-kpi-card span,
.ops-module-kpi-grid .ops-people-stat span,
.ops-module-kpi-grid .ops-ticket-stat span {
  overflow-wrap: anywhere;
}

/* Employees */
.ops-people .ops-people-tabs,
.ops-people .tab-content,
.ops-people .tab-pane,
.ops-people .ops-people-panel {
  width: 100%;
  min-width: 0;
}

.ops-people .ops-people-tabs {
  display: flex !important;
  flex-wrap: wrap;
  margin-inline: 0;
}

.ops-people .ops-people-panel-head {
  width: 100%;
}

.ops-people .ops-employee-table-wrap,
.ops-people .ops-org-table-wrap,
.ops-people .ops-workflow-wrap {
  width: 100%;
  max-width: 100%;
}

/* IT Tickets */
.ops-ticket-hub .ops-ticket-categories-panel,
.ops-ticket-hub .ops-ticket-registry-panel,
.ops-ticket-hub .ops-ticket-panel-head,
.ops-ticket-hub .ops-ticket-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.ops-ticket-hub .ops-ticket-categories-panel {
  display: block !important;
}

.ops-ticket-hub .ops-ticket-mini-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  width: 100%;
}

.ops-ticket-hub .ops-ticket-filter-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.65fr) repeat(3, minmax(180px, 1fr));
  align-items: end;
  gap: .85rem;
  width: 100%;
}

.ops-ticket-hub .ops-ticket-filter-grid > *,
.ops-ticket-hub .ops-ticket-filter-grid .input-group,
.ops-ticket-hub .ops-ticket-filter-grid .form-control,
.ops-ticket-hub .ops-ticket-filter-grid .form-select {
  min-width: 0;
  width: 100%;
}

.ops-ticket-hub .ops-ticket-registry-panel {
  display: block !important;
  min-height: 0 !important;
}

.ops-ticket-hub .ops-ticket-registry-panel > * {
  float: none !important;
  clear: both;
}

/* Events */
.ops-events-page .ops-events-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-inline: 0 !important;
}

.ops-events-page .ops-events-stat-slot {
  min-width: 0;
}

.ops-events-page .ops-events-stat {
  width: 100%;
  height: 100%;
  min-width: 0;
}

.ops-events-page .ops-events-filter-card,
.ops-events-page .ops-events-registry-card {
  display: block !important;
  width: 100%;
}

.ops-events-page .ops-events-filter-grid {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.6fr) minmax(190px, .8fr) minmax(190px, .8fr) auto;
  gap: .85rem;
  align-items: end;
  width: 100%;
}

.ops-events-page .ops-events-filter-grid > *,
.ops-events-page .ops-events-filter-grid .form-control,
.ops-events-page .ops-events-filter-grid .form-select {
  min-width: 0;
  width: 100%;
}

.ops-events-page .ops-events-filter-actions {
  width: auto;
  align-self: end;
}

.ops-events-page .ops-events-main-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
  gap: 1rem;
  align-items: stretch;
  margin-inline: 0 !important;
  width: 100%;
}

.ops-events-page .ops-events-calendar-column,
.ops-events-page .ops-events-highlights-column,
.ops-events-page .ops-events-calendar-column > section,
.ops-events-page .ops-events-highlights-column > section,
.ops-events-page .ops-events-table-wrap {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

/* Keep deliberate horizontal scrolling inside data tables only. */
#main-content .table-responsive,
#main-content [class*="table-wrap"],
#main-content [class*="table-shell"] {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1399.98px) {
  .ops-module-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ops-events-page .ops-events-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ops-ticket-hub .ops-ticket-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1199.98px) {
  .ops-events-page .ops-events-main-grid {
    grid-template-columns: 1fr;
  }

  .ops-events-page .ops-events-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ops-events-page .ops-events-filter-actions {
    grid-column: 1 / -1;
    width: 100%;
  }

  .ops-events-page .ops-events-filter-actions .btn {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .ops-module-kpi-grid,
  .ops-events-page .ops-events-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }

  .ops-ticket-hub .ops-ticket-mini-grid,
  .ops-ticket-hub .ops-ticket-filter-grid,
  .ops-events-page .ops-events-filter-grid {
    grid-template-columns: 1fr;
  }

  .ops-people-hero,
  .ops-ticket-hero,
  .ops-events-hero,
  .ops-core-hero,
  .ops-page-header {
    align-items: stretch;
  }

  .ops-people-hero > :last-child,
  .ops-ticket-hero > :last-child,
  .ops-events-hero > :last-child,
  .ops-core-hero > :last-child,
  .ops-page-header > :last-child {
    width: 100%;
  }

  .ops-people-hero > :last-child .btn,
  .ops-ticket-hero > :last-child .btn,
  .ops-events-hero > :last-child.btn,
  .ops-core-hero > :last-child .btn,
  .ops-page-header > :last-child .btn {
    flex: 1 1 auto;
  }
}

@media (max-width: 479.98px) {
  .ops-module-kpi-grid,
  .ops-events-page .ops-events-stats-grid {
    grid-template-columns: 1fr;
  }
}
