.comparison-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.comparison-table th:first-child { width: 18%; }
.comparison-table th:nth-child(2) { width: 24%; }
.comparison-table th:nth-child(3) { width: 27%; }
.comparison-table th:nth-child(4) { width: 31%; }

.comparison-table th,
.comparison-table td {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.prioritized-table tbody td:first-child::before {
  content: "Mínimo inicial";
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 0 5px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #dcefe2;
  color: #185b31;
  font: 700 9px/1.3 Arial, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.prioritized-table tbody tr:nth-child(2) td:first-child::before,
.prioritized-table tbody tr:nth-child(6) td:first-child::before,
.prioritized-table tbody tr:nth-child(14) td:first-child::before,
.prioritized-table tbody tr:nth-child(18) td:first-child::before,
.prioritized-table tbody tr:nth-child(23) td:first-child::before {
  content: "Etapa posterior";
  background: #eee8d9;
  color: #6a5013;
}

.stage-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 14px;
}

.stage-legend span {
  padding: 4px 8px;
  border-radius: 999px;
  font: 700 10px/1.3 Arial, sans-serif;
}

.stage-legend .minimum { background: #dcefe2; color: #185b31; }
.stage-legend .later { background: #eee8d9; color: #6a5013; }

@media (max-width: 700px) {
  .comparison-table { min-width: 720px; }
}

@media print {
  .comparison-table { min-width: 0; }
  .prioritized-table tbody td:first-child::before { font-size: 6pt; }
}
