/* Compact page starts after removing redundant page-level title blocks. */
.ea-page,
.admin-page {
  padding-top:12px;
}

.ea-page-actions,
.project-page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap:12px;
  margin:0 0 12px;
}

.project-summary-grid {
  margin-top:0;
}

.page-heading {
  justify-content: flex-end;
}

.page-heading > div:first-child {
  display: none;
}

.welcome {
  justify-content: flex-end;
  padding:12px 0 12px;
}

.monitor-page {
  padding-top:12px;
}

.monitor-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom:12px;
}

/* One spacing unit for card layouts and the workspace edge. */
.admin-main {
  padding-right:12px;
  padding-left:12px;
}

/* Let every workspace use the full area left by the fixed navigation. */
.main {
  width: auto;
  max-width: none;
  min-width: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.project-section {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.project-grid {
  flex: 1 1 auto;
  align-content: stretch;
  grid-auto-rows: minmax(180px, 1fr);
}

.admin-main {
  display: flex;
  flex-direction: column;
  width: auto;
  max-width: none;
  min-width: 0;
}

.admin-main > .admin-top {
  flex: none;
}

.admin-main > #adminContent {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 0;
}

#adminContent > .admin-page,
#adminContent > .ea-page {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
}

.admin-page > .project-panel:has(.project-table-wrap),
.admin-page > .project-panel:has(.license-table-wrap),
.admin-page > .project-panel:has(.project-empty-block),
.ea-page > .ea-table-panel {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.project-panel > .project-table-wrap,
.project-panel > .license-table-wrap,
.ea-table-panel > .ea-table-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.project-empty-block {
  flex: 1 1 auto;
  place-content: center;
}

.project-panel,
.ea-table-panel {
  width: 100%;
  min-width: 0;
}

.api-portal-content {
  width: 100%;
  max-width: none;
}

.project-tabs {
  justify-content: center;
}

.project-tab {
  flex: 0 0 auto;
}

@media (max-width: 1050px) {
  .project-tabs {
    justify-content: flex-start;
  }
}

.admin-top {
  margin-right:-12px;
  margin-left:-12px;
  padding-right:12px;
  padding-left:12px;
  background: #edf3f8;
  border-bottom-color: #dce6ef;
}

.admin-top .breadcrumb,
.admin-top .breadcrumb a {
  color: #63758b;
}

.admin-top .breadcrumb b {
  color: #2f4c70;
}

.side-project-brand:has(.empower-logo) {
  height: 70px;
  padding-bottom:12px;
}

.side-project-logo:has(.empower-logo) {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e8e7e2;
}

.side-project-logo .side-project-icon.empower-logo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-tab .tab-icon.empower-logo {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  opacity: 1;
  filter: none;
}

@media (max-width: 600px) {
  .side-project-brand:has(.empower-logo) {
    height: 58px;
  }

  .side-project-logo:has(.empower-logo) {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }
}

.ea-page,
.admin-page {
  padding-top:12px;
}

.ea-page {
  max-width: none;
}

.ea-metrics,
.ea-dashboard-grid,
.ea-stack,
.ea-quick-grid,
.metrics-row,
.dashboard-grid,
.content-cards,
.project-summary-grid,
.appointment-workspace,
.appointment-rail {
  gap:12px;
}

.ea-metrics,
.ea-dashboard-grid,
.metrics-row,
.dashboard-grid,
.appointment-workspace {
  margin-bottom:12px;
}

.ea-page-actions,
.project-page-actions {
  margin-bottom:12px;
}

.project-summary-grid {
  margin-top:12px;
  margin-bottom:12px;
}

.project-panel,
.project-loading {
  margin-top:12px;
}

.appointment-table-wrap {
  margin-bottom:12px;
}

.ea-slot-picker { display: flex; align-items: center; gap:12px; color: #718096; font-size: 10px; }
.ea-slot-picker input, .ea-slot-row input[type=number] { height: 31px; padding:0 12px; border: 1px solid #e3e8e4; border-radius: 7px; background: #fff; color: #405066; font: 10px "Noto Sans SC", sans-serif; }
.ea-slot-note { margin:0 0 12px; color: #8d98a6; font-size: 10px; }
.ea-slot-list { display: grid; gap:12px; }
.ea-slot-row { display: grid; grid-template-columns: 70px 1fr 125px 75px 56px; align-items: center; gap:12px; padding:12px 12px; border: 1px solid #e8ece7; border-radius: 8px; background: #fcfdfc; color: #677486; font-size: 10px; }
.ea-slot-row b { color: #344256; font-size: 11px; }
.ea-slot-row label { display: flex; align-items: center; gap:12px; white-space: nowrap; }
.ea-slot-row input[type=number] { width: 65px; }
.ea-slot-closed input { accent-color: #6b8c7d; }
.ea-pager { display: flex; justify-content: flex-end; align-items: center; gap:12px; margin-top:12px; color: #8d98a6; font-size: 10px; }
.ea-pager span { margin-right:12px; }
.ea-pager button { height: 29px; padding:0 12px; border: 1px solid #e4e9e5; border-radius: 7px; background: #fff; color: #60736a; cursor: pointer; font: 10px "Noto Sans SC", sans-serif; }
.ea-pager button:disabled { opacity: .45; cursor: default; }
.ea-access-label { display: flex; align-items: center; gap:12px; }
.ea-access-label input { accent-color: #527d68; }
.ea-compact .ea-panel { padding:12px; }
.ea-compact .ea-table-head { padding-bottom:12px; }
.ea-compact .ea-table-scroll td { padding-top:12px; padding-bottom:12px; }
@media (max-width: 700px) {
  .ea-slot-row { grid-template-columns: 54px 1fr 90px; gap:12px; }
  .ea-slot-row .ea-slot-closed { grid-column: 2; }
  .ea-slot-row button { grid-column: 3; grid-row: 2; }
  .ea-slot-row input[type=number] { width: 54px; }
}
