/* Compact O/X cards only: identity/status row and per-student bulk toolbar.
   Existing answer nodes, handlers, scores, wide matrices and numeric cards stay intact. */
@layer peLocalTypography {
  body .stationOx.oxPhone .oxStudents > .oxStudent:has(> .oxChoices) {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    row-gap: 6px !important;
    align-items: start !important;
  }
  body .stationOx.oxPhone .oxStudents > .oxStudent:has(> .oxChoices) > .oxStudentInfo {
    display: contents !important;
  }
  body .stationOx.oxPhone .oxStudents > .oxStudent:has(> .oxChoices) > .oxStudentInfo > strong {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  body .stationOx.oxPhone .oxStudents > .oxStudent:has(> .oxChoices) > .oxScore {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  body .stationOx.oxPhone .oxStudents > .oxStudent:has(> .oxChoices) > .oxStudentInfo > span {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }
  body .stationOx.oxPhone .oxStudents > .oxStudent:has(> .oxChoices) .oxStudentBulk {
    grid-column: 1 / -1 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 6px 0 0 !important;
    gap: 6px !important;
  }
  body .stationOx.oxPhone .oxStudents > .oxStudent:has(> .oxChoices) .oxStudentBulk > .oxBulkButton {
    flex: 0 1 auto !important;
    width: 72px !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 4px 8px !important;
    white-space: nowrap !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }
}
