/* Overview: a quieter, decision-first presentation built on the existing data model. */
#page:has(.dashboard-kpis) {
  max-width: 1540px;
  margin: 0 auto;
  padding: 42px 46px 60px;
}

#page:has(.dashboard-kpis) .page-head {
  margin-bottom: 22px;
  align-items: end;
}

#page:has(.dashboard-kpis) .page-head h1 {
  letter-spacing: -0.025em;
  font-size: clamp(30px, 2.45vw, 39px);
  line-height: 1.16;
}

#page:has(.dashboard-kpis) .page-head .eyebrow {
  margin-bottom: 9px;
  color: #237358;
  letter-spacing: .16em;
}

.dashboard-kpis {
  grid-template-columns: minmax(390px, 1.55fr) repeat(3, minmax(185px, 1fr)) !important;
  gap: 15px !important;
  margin-bottom: 20px !important;
}

.overview-metric {
  min-height: 112px;
  padding: 18px 20px !important;
  border: 1px solid #dfebe5;
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 10px 26px rgba(20, 64, 48, .055);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.overview-metric:hover {
  transform: translateY(-2px);
  border-color: #b9d8cb;
  box-shadow: 0 14px 30px rgba(20, 64, 48, .09);
}

.overview-metric .metric-icon {
  flex-basis: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  background: #eaf6f0 !important;
  color: #197052 !important;
}

.overview-metric .metric-icon.salary {
  background: #fff5e5 !important;
  color: #cf850e !important;
}

.overview-metric label {
  color: #60776d;
  font-size: 13px;
}

.overview-metric strong {
  color: #112c22;
  font-size: 25px !important;
  letter-spacing: -.015em;
}

.salary-overview-metric {
  position: relative;
  overflow: hidden;
  border-color: #cfe3d9;
  background: linear-gradient(118deg, #fff 0%, #fbfefc 61%, #edf8f2 100%);
}

.salary-overview-metric::after {
  position: absolute;
  right: -20px;
  bottom: -66px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(36, 113, 80, .1);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}

.salary-overview-metric .salary-overview-main {
  position: relative;
  z-index: 1;
}

.salary-overview-metric .salary-overview-main strong {
  font-size: clamp(28px, 2.25vw, 36px) !important;
}

.salary-overview-metric .salary-overview-side {
  position: relative;
  z-index: 1;
}

.salary-overview-metric .salary-overview-change {
  min-width: 126px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #f7faf8;
  font-weight: 750;
}

.dashboard-change-card {
  overflow: hidden;
  margin-bottom: 20px !important;
  border: 1px solid #dce9e2;
  border-radius: 18px !important;
  background: #fff;
  box-shadow: 0 14px 34px rgba(20, 64, 48, .055);
}

.dashboard-change-head {
  min-height: 62px !important;
  padding: 0 26px !important;
  border-bottom-color: #e1ece6 !important;
  background: linear-gradient(90deg, #fff 0%, #fbfdfc 100%);
}

.dashboard-change-head > h2 {
  color: #102d22;
  font-size: 21px !important;
  letter-spacing: -.02em;
}

.dashboard-change-head > .inline-workforce-summary span {
  color: #5f766c;
}

.dashboard-change-head > .inline-workforce-summary b {
  color: #153a2c;
  font-size: 16px !important;
}

.dashboard-change-content {
  grid-template-columns: minmax(440px, .9fr) minmax(560px, 1.1fr) !important;
}

.dashboard-change-content > .salary-activity-card,
.dashboard-change-content > .salary-trend-card {
  min-height: 226px !important;
}

.dashboard-change-content > .salary-activity-card {
  background: #fff;
}

.dashboard-change-content > .salary-trend-card {
  border-left-color: #e1ece6 !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(91, 164, 127, .11), transparent 28%),
    linear-gradient(155deg, #fff 0%, #f8fcf9 100%);
}

.dashboard-change-content .salary-activity-head {
  padding: 16px 20px 8px !important;
}

.dashboard-change-content .salary-activity-head h2 {
  color: #1a4131;
  font-size: 16px !important;
}

.dashboard-change-content .salary-activity-table {
  padding: 0 16px 14px !important;
}

.dashboard-change-content .salary-activity-row {
  min-height: 38px !important;
}

.dashboard-change-content .salary-activity-row.heading {
  min-height: 30px !important;
  color: #627a70;
  background: #f2f8f4;
}

.dashboard-change-content .salary-activity-row.total {
  min-height: 40px !important;
  background: #edf7f1 !important;
  color: #183e2e;
}

.dashboard-change-content .salary-trend-head {
  padding: 12px 22px 2px !important;
}

.dashboard-change-content .inline-trend-chart-wrap {
  padding: 0 24px !important;
}

.dashboard-change-content .salary-inline-chart {
  height: 175px !important;
}

.department-overview {
  overflow: hidden;
  border: 1px solid #dce9e2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(20, 64, 48, .045);
}

.department-overview .card-head {
  min-height: 60px;
  padding: 0 26px;
  border-bottom-color: #e1ece6;
}

.department-overview .card-head h2 {
  font-size: 19px;
}

.department-overview .bars {
  padding: 16px 26px 20px;
}

.department-overview .bar {
  margin: 14px 0;
}

@media (max-width: 1160px) {
  #page:has(.dashboard-kpis) {
    padding: 34px 28px 48px;
  }

  .dashboard-kpis {
    grid-template-columns: minmax(350px, 1.45fr) repeat(2, minmax(180px, 1fr)) !important;
  }

  .dashboard-change-content {
    grid-template-columns: minmax(385px, .88fr) minmax(450px, 1.12fr) !important;
  }
}

@media (max-width: 820px) {
  #page:has(.dashboard-kpis) {
    padding: 28px 18px 40px;
  }

  .dashboard-kpis,
  .dashboard-change-content {
    grid-template-columns: 1fr !important;
  }

  .dashboard-change-head {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 10px !important;
    padding: 16px 18px !important;
  }

  .dashboard-change-head > .inline-workforce-summary {
    justify-content: flex-start !important;
    flex-wrap: wrap;
  }

  .dashboard-change-content > .salary-trend-card {
    border-top: 1px solid #e1ece6;
    border-left: 0 !important;
  }
}

/* Preserve the established brand green used throughout the original shell. */
@media (min-width: 1051px) {
  .app {
    grid-template-columns: 228px minmax(0, 1fr) !important;
  }
}

.app > aside,
.global-header {
  background: #1b4535 !important;
}

/* The department list is content navigation, not the global sidebar. */
.organization-layout {
  grid-template-columns: 158px minmax(0, 1fr);
}

.organization-sidebar {
  background: #f8fbf9;
}

.organization-department {
  justify-content: flex-start;
}

.global-header {
  box-shadow: 0 4px 16px rgba(29, 73, 57, .12) !important;
}

.app > aside {
  padding-right: 14px;
  padding-left: 14px;
}

aside .nav {
  padding-right: 12px;
  padding-left: 12px;
}

aside .nav:hover,
aside .nav.on {
  background: rgba(236, 248, 241, .16) !important;
  box-shadow: inset 3px 0 0 rgba(239, 250, 244, .82) !important;
}

aside .brand,
aside .account {
  padding-right: 5px;
  padding-left: 5px;
}
