.pressure-sorter {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(320px, 1fr) minmax(260px, 0.62fr);
  gap: var(--allocation-gutter);
  padding: clamp(28px, 5vw, 74px);
  background: #263337;
  color: #f8f2e8;
}

.pressure-sorter__intro {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.pressure-sorter h2 {
  color: #fff8ea;
}

.pressure-readout {
  display: block;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.26);
  border-bottom: 1px solid rgba(255, 255, 255, 0.26);
  color: #e4d7c5;
}

.symptom-bank {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.symptom-bank legend {
  margin-bottom: 12px;
  font-weight: 800;
  color: #f0c66c;
}

.symptom-toggle {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  cursor: pointer;
}

.symptom-toggle[data-resource-family="compute"] {
  border-left: 7px solid #d69b43;
}

.symptom-toggle[data-resource-family="memory"] {
  border-left: 7px solid #86a86d;
}

.symptom-toggle[data-resource-family="storage"] {
  border-left: 7px solid #7087a5;
}

.symptom-toggle[data-resource-family="lifecycle"] {
  border-left: 7px solid #b97a63;
}

.symptom-toggle[data-resource-family="change"] {
  border-left: 7px solid #8b7fb0;
}

.symptom-toggle input {
  width: 20px;
  height: 20px;
  accent-color: #f0c66c;
}

.rightsizing-output {
  background: #fffaf1;
  color: var(--capacity-graphite);
  min-height: 100%;
  padding: 18px;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 16px;
}

.rightsizing-output__meter {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 2px solid #253235;
  padding-bottom: 12px;
}

.rightsizing-output__meter span {
  color: #5e675d;
  font-weight: 800;
}

.rightsizing-output__meter strong {
  font-size: 2.2rem;
  line-height: 1;
  color: var(--capacity-copper);
}

#rightsizing-route {
  margin: 0;
  padding: 0 0 0 22px;
  display: grid;
  gap: 12px;
}

#rightsizing-route li {
  padding: 0 0 12px 4px;
  border-bottom: 1px solid #d6c9b7;
}

#rightsizing-route strong {
  display: block;
  color: #1d282a;
}

#rightsizing-route span {
  display: block;
  color: #566466;
}

body[data-capacity-room="compute"] .pressure-sorter {
  background: #2c2f25;
}

body[data-capacity-room="storage"] .pressure-sorter {
  background: #25323e;
}

body[data-capacity-room="lifecycle"] .pressure-sorter {
  background: #352b2a;
}

@media (max-width: 980px) {
  .pressure-sorter {
    grid-template-columns: 1fr;
  }
}
