.outcome-row {
  grid-template-columns: 155px minmax(190px, .75fr) minmax(360px, 1.25fr);
}

.prediction-controls {
  min-width: 0;
}

.outcome-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem;
}

.outcome-options button {
  min-height: 2.8rem;
  padding: .55rem .65rem;
  background: #ecf1ee;
  color: var(--ink);
  border: 1px solid var(--line);
  line-height: 1.15;
}

.outcome-options button:hover,
.outcome-options button.selected {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.outcome-choice {
  min-height: 2.8rem;
  display: grid;
  place-items: center;
  padding: .55rem .65rem;
  background: #ecf1ee;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: .7rem;
  line-height: 1.15;
  text-align: center;
  cursor: pointer;
}

.outcome-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.outcome-choice:hover,
.outcome-choice.selected,
.outcome-choice:has(input:checked) {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.outcome-choice:has(input:disabled) {
  cursor: default;
}

.outcome-options.compact button {
  font-size: .82rem;
}

.score-details {
  margin-top: .7rem;
  color: var(--muted);
  font-size: .82rem;
}

.score-details summary {
  cursor: pointer;
  font-weight: 750;
}

.score-details .score-form {
  justify-content: flex-start;
  margin-top: .65rem;
}

.submission-panel {
  position: sticky;
  bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1rem 1.2rem;
  background: var(--navy);
  color: #fff;
  border-radius: 1rem;
  box-shadow: var(--shadow);
}

.submission-panel p {
  margin: .25rem 0 0;
  color: #b9ccc4;
  font-size: .85rem;
}

@media (max-width: 900px) {
  .outcome-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .outcome-options {
    grid-template-columns: 1fr;
  }

  .submission-panel {
    position: static;
    align-items: stretch;
    flex-direction: column;
  }
}
