.route-optimizer-page {
  min-width: 0;
}

.route-optimizer-finding__summary {
  overflow-wrap: anywhere;
}

.route-optimizer-reps {
  max-width: 380px;
  color: var(--text-3);
  font-size: 11px;
  line-height: 1.35;
  text-align: right;
}

.route-optimizer-findings { min-width: 0; }
.route-optimizer-finding {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) minmax(280px, auto);
  align-items: center;
  gap: 14px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--border-lo);
}
.route-optimizer-finding:last-child { border-bottom: 0; }
.route-optimizer-finding__score { text-align: center; }
.route-optimizer-finding__score strong { display: block; color: var(--text-1); font-family: var(--font-display); font-size: 18px; }
.route-optimizer-finding__score span { color: var(--text-3); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.route-optimizer-finding__title { color: var(--text-1); font-size: 13px; font-weight: 650; }
.route-optimizer-finding__meta { margin-top: 3px; color: var(--text-3); font-size: 11px; }
.route-optimizer-finding__badges { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 6px; font-size: 11px; }
.route-optimizer-finding__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
.route-optimizer-retain { width: 100%; text-align: right; }
.route-optimizer-retain > summary { display: inline-flex; cursor: pointer; }
.route-optimizer-retain__form { display: flex; justify-content: flex-end; gap: 6px; margin-top: 6px; }
.route-optimizer-retain__reason { min-width: 240px; }

@media (max-width: 980px) {
  .route-optimizer-metrics {
    align-items: flex-start !important;
    column-gap: 1.25rem !important;
    row-gap: 1rem !important;
  }

  .route-optimizer-metrics__reps {
    flex-basis: 100%;
    margin-left: 0 !important;
  }

  .route-optimizer-finding {
    align-items: stretch !important;
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .route-optimizer-finding__actions {
    justify-content: flex-start !important;
    max-width: none;
    width: 100%;
    grid-column: 1 / -1;
  }

  .route-optimizer-finding__actions > a,
  .route-optimizer-finding__actions > form,
  .route-optimizer-finding__actions > form > button {
    min-height: 44px;
  }

  .route-optimizer-retain {
    text-align: left !important;
  }

  .route-optimizer-retain__form {
    align-items: stretch;
    flex-direction: column;
  }

  .route-optimizer-retain__reason {
    min-height: 44px;
    min-width: 0 !important;
    width: 100%;
  }
}

@media (max-width: 560px) {
  .route-optimizer-finding { grid-template-columns: 1fr; }
  .route-optimizer-finding__score { display: none; }
  .route-optimizer-reps { text-align: left; }
}
