.rubric-editor > label,
.rubric-criterion > label {
  display: grid;
  gap: 0.35rem;
  margin-block: 0.85rem;
  font-weight: 600;
}

.rubric-editor input,
.rubric-editor textarea {
  box-sizing: border-box;
  width: 100%;
  font: inherit;
}

.rubric-criterion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 7rem;
  column-gap: 1rem;
  margin-block: 1rem;
  padding: 1rem;
  border: 1px solid #d9e0eb;
  border-radius: 0.5rem;
}
.rubric-guidance { grid-column: 1 / -1; }
.rubric-criteria-grid { display: grid; gap: 1rem; }
.rubric-criteria-grid .rubric-criterion { margin-block: 0; }
.rubric-editor textarea { resize: vertical; min-height: 4rem; }
@media (min-width: 1150px) { .rubric-criteria-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rubric-criterion > label { margin-block: 0.3rem; }
@media (max-width: 520px) { .rubric-criterion { grid-template-columns: 1fr; } }

.rubric-criterion h3 { margin-top: 0; }
.rubric-weight-total { font-weight: 600; }
.rubric-history { margin-top: 1rem; }

.ai-model-form label { display: grid; gap: 0.5rem; margin-block: 1.2rem; font-weight: 600; }
.ai-model-form select { width: 100%; padding: 0.65rem; font: inherit; }
.ai-model-form label .muted { font-weight: 400; }
.rubric-criterion input[type="number"] { max-width: 8rem; }
.rubric-editor button { margin: 0.3rem 0.5rem 0.3rem 0; }
.rubric-structure-layout { display: grid; gap: 1rem; align-items: start; }
.rubric-structure-layout > * { min-width: 0; }
.rubric-source details { margin-block: 1rem; }
.rubric-source summary { cursor: pointer; font-weight: 600; }
.rubric-source .preserve-lines { white-space: pre-wrap; overflow-wrap: anywhere; }
.rubric-proposal li { margin-block: 0.7rem; overflow-wrap: anywhere; }
@media (min-width: 1150px) { .rubric-structure-layout { grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.3fr); } }
