.main-grid > *,
.triple-grid > *,
.lower-grid > *,
.kpis > * {
  min-width: 0;
}

.table-wrap {
  width: 100%;
  max-width: 100%;
}

.period-control {
  display: grid !important;
  gap: 5px !important;
  height: auto;
  padding: 12px 14px !important;
}

.period-control > span,
.filters label > span {
  color: #65716b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.period-control b {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

.period-control small,
.filters label small {
  color: #89938e;
  font-size: 10px;
}

.filter-panel {
  margin-bottom: 14px;
  padding: 17px;
  background: rgba(255,255,255,.68);
  border: 1px solid #dfe4dc;
  border-radius: 14px;
}

.filter-guide {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 13px;
}

.filter-guide strong {
  font-family: Georgia, serif;
  font-size: 17px;
  font-weight: 500;
}

.filter-guide span {
  color: #748079;
  font-size: 11px;
}

.filter-panel .filters {
  align-items: stretch;
  margin: 0;
}

.filters label {
  display: grid;
  min-width: 250px;
  gap: 5px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #dfe4dc;
  border-radius: 10px;
}

.filter-panel .filters select {
  min-height: 26px;
  padding: 0;
  border: 0;
}

#reset-filters {
  align-self: center;
  min-height: 40px;
  padding: 0 13px;
  color: #27483f;
  background: #edf4ef;
  border: 1px solid #d3e3d9;
  border-radius: 9px;
  cursor: pointer;
}

.filter-summary {
  margin: 12px 0 0;
  padding-top: 12px;
  color: #496159;
  border-top: 1px solid #e4e9e3;
  font-size: 12px;
}

@media (max-width: 680px) {
  .actions {
    align-items: stretch;
  }

  .filter-guide {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .filter-panel .filters {
    display: grid;
  }

  .filters label {
    min-width: 0;
  }

  #reset-filters {
    width: 100%;
  }
}
