/* Evals page (src/evals/): the judge picker, tabs, and run cards. The
   scorecard and ad-hoc form rules live in inference.css, shared with admin. */

.infra-evals__views {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.infra-evals__judge {
  font-size: var(--text-13);
}

.infra-evals__judge > .ui-input {
  flex: 0 1 16rem;
  min-width: 9rem;
}

.infra-evals__adhoc > .ui-button {
  justify-self: start;
}

.infra-evals__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
  gap: var(--space-4);
}

.infra-evals__card {
  gap: var(--space-3);
  transition:
    border-color var(--duration-fast) var(--ease-out),
    background-color var(--duration-fast) var(--ease-out);
}

.infra-evals__card:hover {
  border-color: var(--line-strong);
  background: var(--bg-hover);
}

.infra-evals__card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}

.infra-evals__card-score {
  font-family: var(--font-mono);
  font-size: 22px;
  font-weight: var(--weight-semibold);
}

/* A button that reads as the card's title; its ::after covers the card. */
.infra-evals__card-open {
  overflow: hidden;
  padding: 0;
  border: 0;
  background: none;
  color: var(--text);
  font-size: var(--text-13);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.infra-evals__card-error {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--danger);
  font-size: var(--text-12);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.infra-evals__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--line);
}

.infra-evals__facts > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}

.infra-evals__facts dt {
  color: var(--text-faint);
  font-size: var(--text-12);
}

.infra-evals__facts dd {
  overflow: hidden;
  margin: 0;
  font-size: var(--text-13);
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* inference.css colours the score bars with --color-success/--color-danger,
   which no token defines; use the real ones. */
.infra-evals__bar-fill--success { background: var(--success); }
.infra-evals__bar-fill--danger { background: var(--danger); }
