.infrastructure-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 16px;
  background: #2b2025;
  border: 1px solid #2b2025;
}
.infrastructure-summary article {
  background: linear-gradient(135deg, #100d10, #0a090b);
  padding: 20px;
}
.infrastructure-summary span,
.infrastructure-summary small {
  display: block;
}
.infrastructure-summary span {
  font-size: 8px;
  letter-spacing: 0.13em;
  color: #8e7d84;
}
.infrastructure-summary strong {
  display: block;
  font-size: 28px;
  margin: 8px 0 5px;
}
.infrastructure-summary small {
  font-size: 9px;
  color: #71666c;
}
.infrastructure-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: #2b2025;
  border-top: 1px solid #2b2025;
  border-bottom: 1px solid #2b2025;
}
.infrastructure-metrics article {
  background: #0d0b0e;
  padding: 18px;
}
.infrastructure-metrics span,
.infrastructure-metrics small {
  display: block;
}
.infrastructure-metrics span {
  font-size: 8px;
  letter-spacing: 0.11em;
  color: #8e7d84;
}
.infrastructure-metrics strong {
  display: block;
  font-size: 23px;
  margin: 8px 0 4px;
}
.infrastructure-metrics small {
  font-size: 9px;
  color: #71666c;
  line-height: 1.4;
}
.infra-bucket-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 8px;
  padding: 10px;
}
.infra-bucket {
  border: 1px solid #2b2025;
  background: #0c0b0e;
  padding: 13px;
}
.infra-bucket strong,
.infra-bucket span {
  display: block;
}
.infra-bucket strong {
  font-size: 11px;
  overflow-wrap: anywhere;
}
.infra-bucket span {
  font-size: 9px;
  color: #7e7278;
  margin-top: 6px;
}
.infrastructure-panel > #infra-error {
  padding: 0 14px 14px;
  margin: 0;
  color: #c58896;
}
@media (max-width: 960px) {
  .infrastructure-summary,
  .infrastructure-metrics {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .infrastructure-summary,
  .infrastructure-metrics {
    grid-template-columns: 1fr;
  }
}
