/* Student management: toolbar, filters and deletion confirmation. */

:is(#student-void-dialog, #bag-void-dialog) {
  width: min(640px, calc(100vw - 32px));
  background: var(--ui-surface);
  border: 1px solid var(--ui-card-outline) !important;
}

:is(#student-void-dialog, #bag-void-dialog) .dialog-heading h2 {
  color: var(--ui-text);
}

:is(#student-void-dialog, #bag-void-dialog) .deletion-warning {
  background: var(--ui-error-container-hover);
  border-color: var(--ui-error-outline);
  color: var(--ui-on-error-container);
}

:is(#student-void-dialog, #bag-void-dialog) :is(#student-void-submit, #bag-void-submit) {
  --ui-button-outline: var(--ui-error-outline);
  background: var(--ui-error-container);
  color: var(--ui-error);
}

:is(#student-void-dialog, #bag-void-dialog) :is(#student-void-submit, #bag-void-submit):hover:not(:disabled) {
  --ui-button-outline: var(--ui-error-outline);
  background: var(--ui-error-container-hover);
}

:is(#student-void-list, #bag-void-list) {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 16px 0;
  padding: 0;
  max-height: 320px;
  overflow: auto;
  border: 0;
  background: transparent;
}

:is(#student-void-list, #bag-void-list) .student-void-card {
  padding: 16px;
  border: 1px solid var(--ui-field-outline);
  border-radius: 8px;
  background: var(--ui-surface-container-low);
}

:is(#student-void-list, #bag-void-list) dl {
  margin: 0;
  display: grid;
  gap: 10px;
}

:is(#student-void-list, #bag-void-list) dl > div {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
}

:is(#student-void-list, #bag-void-list) dt {
  color: var(--ui-on-surface-variant);
  font-size: 14px;
}

:is(#student-void-list, #bag-void-list) dd {
  margin: 0;
  font-size: 14px;
  overflow-wrap: anywhere;
}

#workspace #roster-toolbar #manage-students {
  margin-left: 0;
}

#workspace #roster-toolbar:has(#student-stats-scope-options:not([hidden])) {
  z-index: 41;
}

#workspace :is(#student-management-controls, #bag-print-controls) {
  position: relative;
  justify-content: flex-end;
  column-gap: 8px;
  padding: 16px 24px;
  background: var(--ui-surface);
}

#workspace :is(#student-management-controls, #bag-print-controls)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 1px;
  background: var(--ui-section-divider);
  pointer-events: none;
}

#workspace :is(#clear-student-selection, #clear-bag-selection) {
  margin-right: auto;
}

#workspace :is(#student-management-controls, #bag-print-controls) button {
  padding: 8px 16px;
  min-height: 40px;
  height: auto;
  line-height: 20px;
}

#workspace :is(#student-selection-count, #bag-selection-count) {
  margin: 0 8px 0 0;
  font-size: 14px;
  font-weight: 400;
  color: var(--ui-text);
}

#workspace :is(#void-selected-students, #void-selected-bags) {
  --ui-button-outline: color-mix(in srgb, var(--ui-error) 20%, var(--ui-surface));
  background: var(--ui-error-container);
  color: var(--ui-error);
}

#workspace :is(#void-selected-students, #void-selected-bags):hover:not(:disabled) {
  --ui-button-outline: color-mix(in srgb, var(--ui-error) 35%, var(--ui-surface));
  background: var(--ui-error-container-hover);
}

/* Student actions: compact forms and an explicit deletion summary. */
:is(#student-edit-dialog, #student-void-dialog) {
  box-sizing: border-box;
  width: 520px;
  padding: 24px;
  background: var(--ui-surface);
  border: 0 !important;
}

:is(#student-edit-dialog, #student-void-dialog) .dialog-heading {
  margin-bottom: 24px;
  padding: 0 36px 16px 0;
}

:is(#student-edit-dialog, #student-void-dialog) .dialog-heading::after {
  left: 0;
  right: 0;
}

:is(#student-edit-dialog, #student-void-dialog) .close {
  top: -6px;
  right: -6px;
  padding: 6px;
}

:is(#student-edit-dialog, #student-void-dialog) .close .ui-icon {
  width: 20px;
  height: 20px;
}

#student-void-dialog .dialog-heading h2 {
  color: var(--ui-text);
}

#student-void-dialog .student-delete-description {
  padding: 16px;
  border-radius: 8px;
  background: var(--ui-error-container);
  color: var(--ui-on-error-container);
  font-size: 14px;
  line-height: 22px;
}

#student-void-list {
  max-height: 280px;
}

#student-void-list .student-void-card {
  background: var(--ui-surface-container-low);
  border: 0;
}

#student-void-list dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  gap: 16px;
}

#student-void-list dl > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

#student-void-list dt {
  font-size: 12px;
}

#student-void-list dd {
  overflow-wrap: anywhere;
}

.student-delete-statuses {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 16px;
}

.student-delete-statuses > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.student-delete-statuses > div > span:first-child {
  font-size: 12px;
  color: var(--ui-muted);
}

#student-void-dialog :is(#student-void-error, #student-void-blockers):empty,
#student-edit-error:empty,
#manual-error:empty {
  display: none;
}

#student-edit-dialog .form-grid {
  gap: 12px;
}

#student-edit-dialog .form-grid > label {
  padding: 16px;
  border-radius: 8px;
  background: var(--ui-surface-container-low);
  font-size: 14px;
}

#student-edit-dialog label input {
  margin-top: 8px;
}

/* A custom notice anchored to the row action; no modal or native tooltip. */
.student-action-notice {
  position: fixed;
  z-index: 130;
  box-sizing: border-box;
  width: max-content;
  max-width: min(320px, calc(100vw - 32px));
  padding: 12px 16px;
  border: 1px solid var(--ui-field-outline);
  border-radius: 8px;
  background: var(--ui-primary-container);
  color: var(--ui-text);
  box-shadow: 0 4px 12px var(--ui-shadow-soft);
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  text-align: center;
  pointer-events: none;
}

.student-action-notice::after {
  content: "";
  position: absolute;
  left: var(--notice-arrow-left);
  width: 8px;
  height: 8px;
  background: inherit;
  transform: translateX(-50%) rotate(45deg);
}

.student-action-notice[data-side="top"]::after {
  bottom: -5px;
  border-right: 1px solid var(--ui-field-outline);
  border-bottom: 1px solid var(--ui-field-outline);
}

.student-action-notice[data-side="bottom"]::after {
  top: -5px;
  border-left: 1px solid var(--ui-field-outline);
  border-top: 1px solid var(--ui-field-outline);
}

/* Management dialogs use the approved creation/import dialog proportions.
 * Scoped to this class: manual and import dialogs are intentionally excluded. */
.management-dialog:is(#student-edit-dialog, #student-void-dialog, #comparison-dialog,
  #bag-action-dialog, #bag-details-dialog, #bag-void-dialog, #batch-dialog,
  #print-history-dialog, #generator-dialog, #simulation-dialog) {
  box-sizing: border-box;
  width: 520px;
  max-width: calc(100vw - 48px);
  padding: 24px;
  border: 0 !important;
  border-radius: 12px;
  background: var(--ui-surface);
  color: var(--ui-text);
}

.management-dialog#comparison-dialog:has(.comparison-field-card) {
  width: 680px;
}

.management-dialog .dialog-heading {
  position: relative;
  padding: 0 36px 16px 0;
  margin: 0 0 24px;
  border-bottom: 0;
}

.management-dialog .dialog-heading::after {
  left: 0;
  right: 0;
}

.management-dialog:is(#student-edit-dialog, #student-void-dialog, #comparison-dialog,
  #bag-action-dialog, #bag-details-dialog, #bag-void-dialog, #batch-dialog,
  #print-history-dialog, #generator-dialog, #simulation-dialog) .dialog-heading h2 {
  margin: 0;
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  color: var(--ui-text);
}

.management-dialog .management-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.management-dialog .management-year {
  margin: 0;
  padding-left: 12px;
  border-left: 1px solid var(--ui-section-divider);
  font-size: 14px;
  line-height: 18px;
  color: var(--ui-muted);
}

.management-dialog .dialog-heading .close {
  position: absolute;
  top: -6px;
  right: -6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 6px;
  background: transparent;
  color: var(--ui-muted);
}

.management-dialog .close .ui-icon {
  width: 20px;
  height: 20px;
}

.management-dialog .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.management-dialog .form-grid > label,
.management-dialog :is(.batch-count, #bag-password-label, #bag-days-label),
.management-dialog#bag-void-dialog label:has(#bag-void-password) {
  display: block;
  margin: 0;
  padding: 16px;
  border-radius: 8px;
  background: var(--ui-surface-container-low);
  color: var(--ui-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.management-dialog .form-grid > .full-width {
  grid-column: 1 / -1;
}

.management-dialog label > input:not([type="checkbox"]):not([type="radio"]) {
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 400;
}

.management-dialog :is(.hint, .muted) {
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  color: var(--ui-muted);
}

.management-dialog label > .hint {
  display: block;
  margin-top: 8px;
}

.management-dialog .dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--ui-section-divider);
}

.management-dialog .dialog-actions::before {
  content: none;
}

.management-dialog .dialog-actions :is(button, a.button) {
  box-sizing: border-box;
  min-height: 40px;
  padding: 8px 16px;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
}

.management-dialog .error:empty {
  display: none;
}

.management-dialog#bag-void-dialog .deletion-warning {
  padding: 16px;
  border: 0;
  border-radius: 8px;
  background: var(--ui-error-container);
  color: var(--ui-on-error-container);
  font-size: 14px;
  line-height: 22px;
}

.management-dialog#bag-void-dialog #bag-void-list .student-void-card {
  border: 0;
  background: var(--ui-surface-container-low);
}

.management-dialog#bag-details-dialog #bag-details-fields {
  gap: 12px;
}

.management-dialog#bag-details-dialog #bag-details-fields > div {
  padding: 16px;
  border-radius: 8px;
  background: var(--ui-surface-container-low);
}

.management-dialog#bag-details-dialog #bag-details-fields dt {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ui-text);
}

.management-dialog#comparison-dialog .student-detail-values > div {
  display: block;
  padding: 16px;
  border-radius: 8px;
  background: var(--ui-surface-container-low);
}

.management-dialog#comparison-dialog .student-detail-values dt {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ui-text);
}

.management-dialog#comparison-dialog .comparison-field-card {
  padding: 16px;
  margin-bottom: 12px;
}

.management-dialog#comparison-dialog .comparison-card-row {
  gap: 12px;
}

.management-dialog#comparison-dialog #comparison-identity {
  padding: 16px;
  gap: 16px;
  margin-bottom: 16px;
}

.management-dialog#comparison-dialog #comparison-identity dt {
  font-size: 14px;
  font-weight: 600;
  color: var(--ui-text);
}

.management-dialog#print-history-dialog > .table-scroll {
  border: 1px solid var(--ui-field-outline);
  border-radius: 8px;
}

.management-dialog#comparison-dialog .dialog-heading {
  margin-bottom: 24px;
}

body #comparison-dialog .dialog-heading::after,
body #comparison-dialog > .dialog-actions::before {
  left: 0;
  right: 0;
}

.management-dialog#comparison-dialog .comparison-field-card {
  margin: 0;
}

.management-dialog#comparison-dialog .comparison-field-card h3 {
  padding: 0;
  border: 0;
  margin: 0 0 12px;
}

/* Two review columns share three content rows, keeping both sources aligned. */
.management-dialog#comparison-dialog .comparison-heading-copy {
  min-width: 0;
}
.management-dialog#comparison-dialog .dialog-heading :is(#comparison-instructions, #comparison-detail-status) {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 18px;
  color: var(--ui-muted);
}
.management-dialog#comparison-dialog #comparison-choices:has(.comparison-field-card) {
  grid-template-columns: minmax(0, calc((100% - 55px) / 3)) minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  gap: 12px;
}
.management-dialog#comparison-dialog .comparison-field-card {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  min-width: 0;
}
.management-dialog#comparison-dialog .comparison-field-card h3 {
  margin: 0;
}
.management-dialog#comparison-dialog .comparison-card-row {
  display: contents;
}
.management-dialog#comparison-dialog :is(.comparison-source-card, .comparison-final-card) {
  gap: 4px;
}
.management-dialog#comparison-dialog .comparison-final-card :is(input, textarea) {
  margin: 4px 0;
}
.management-dialog#comparison-dialog .comparison-final-card textarea {
  min-height: 60px;
  resize: vertical;
}
.management-dialog#comparison-dialog #comparison-confirm {
  width: auto;
}

/* Bag generation follows the import form's title/description and right-hand field layout. */
.management-dialog#batch-dialog .batch-setting-card {
  display:flex; align-items:center; gap:16px;
  padding:16px; margin-bottom:12px; border-radius:8px; background:var(--ui-surface-container-low);
}
.management-dialog#batch-dialog .batch-setting-copy { flex:1; min-width:0; }
.management-dialog#batch-dialog .batch-setting-card .batch-count {
  display:block; padding:0; margin:0; background:transparent;
  font-size:14px; line-height:20px; font-weight:600;
}
.management-dialog#batch-dialog .batch-setting-card > input {
  box-sizing:border-box; flex:0 0 104px; width:104px; height:40px;
  margin:0; padding:8px 12px; font-size:14px; font-weight:400;
}
.management-dialog#batch-dialog .batch-setting-card .hint {
  margin:4px 0 0; font-size:12px; line-height:18px;
}

/* Print history uses the shared table with 56 px data rows. */
.management-dialog#print-history-dialog {
  width: min(920px, calc(100vw - 48px));
}
body #print-history-dialog .dialog-heading::after {
  left: 0;
  right: 0;
}
#print-history-dialog .dialog-heading .hint {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 18px;
  color: var(--ui-muted);
}

#print-history-dialog #print-history-table {
  max-height:none;
  overflow-x:auto;
  overflow-y:hidden;
  background:linear-gradient(to bottom, var(--ui-action-surface) 0 56px, var(--ui-surface) 56px);
}
#print-history-table table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
#print-history-table :is(th, td) {
  padding: 12px 16px;
  border: 0;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
}
#print-history-table th {
  position:relative;
  background: var(--ui-action-surface);
  font-weight: 600;
}
#print-history-table td {
  padding-top:8px;
  padding-bottom:8px;
  white-space: nowrap;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
}
#print-history-table tbody tr:nth-child(odd) {
  background: var(--ui-table-row-alternate);
}
#print-history-table tbody tr:hover {
  background: var(--ui-table-row-hover);
}
#print-history-table .data-table-body-viewport {
  scrollbar-gutter: auto;
}
#print-history-dialog .history-pagination {
  justify-content: center;
  flex-wrap: nowrap;
  margin: 0;
  padding: 12px 0 0;
}
#print-history-dialog .history-pagination span {
  margin: 0;
  font-size: 14px;
}
#print-history-table .data-table-empty {
  height:100%;
}
#print-history-table .data-table-empty td {
  vertical-align: middle;
}
#print-history-table .data-table-empty-state {
  padding: 24px 16px;
  text-align: center;
  color: var(--ui-muted);
}
#print-history-table .data-table-empty-state h2 {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.5;
}
#print-history-table .data-table-empty-state p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}

#print-history-table th { color:var(--ui-text);vertical-align:middle; }
#print-history-table .generation-history-sort {line-height:24px;min-height:24px;vertical-align:middle;font-family:inherit;}

#print-history-table :is(th, td):last-child { text-align:center; }

/* Keep the batch year on the title's text baseline. */
.management-dialog#batch-dialog .management-title-row { align-items:baseline; }
.management-dialog#batch-dialog .management-year { line-height:20px; white-space:nowrap; }

/* Short generation form: separate title, content and actions with whitespace. */
#batch-dialog #batch-form .dialog-heading {
  padding: 0;
  margin-bottom: 20px;
  border-bottom: 0;
}
#batch-dialog #batch-form .dialog-heading::after {
  content: none;
}
#batch-dialog #batch-form .dialog-heading .close {
  position: static;
  margin-left: auto;
  flex: 0 0 32px;
}
#batch-dialog #batch-form .batch-setting-card {
  margin-bottom: 16px;
}
#batch-dialog #batch-error:empty {
  display: none;
}
#batch-dialog #batch-form .batch-setting-card:last-of-type {
  margin-bottom: 0;
}
#batch-dialog #batch-form .dialog-actions {
  position: relative;
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
}
#batch-dialog #batch-form .dialog-actions::before {
  content: none;
}

#batch-dialog #batch-year {
  margin: 0;
}
#batch-dialog #batch-form .dialog-heading h2 {
  margin: 0;
  font-size: 20px;
  line-height: 28px;
}

/* Inline year confirmation for adding a single student. */
#manual-dialog .manual-year-card {
  display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:12px;
  padding:16px;margin-bottom:12px;border:1px solid var(--ui-field-outline);border-radius:8px;background:var(--ui-surface-container-low);
}
#manual-dialog .manual-year-copy label {display:block;margin:0;font-size:14px;font-weight:600;line-height:20px;}
#manual-dialog #manual-graduation-year-help {margin:4px 0 0;color:var(--ui-on-surface-variant);font-size:12px;line-height:1.7;}
#manual-dialog #manual-graduation-year {box-sizing:border-box;width:104px;height:40px;margin:0;padding:8px 12px;font-size:14px;font-weight:400;}

/* Student creation uses the same whitespace hierarchy as bag generation. */
#manual-dialog #manual-form .dialog-heading {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}
#manual-dialog #manual-form .dialog-heading::after,
#manual-dialog #manual-form .dialog-actions::before {
  content: none;
}
#manual-dialog #manual-title {
  margin: 0;
  font-size: 20px;
  line-height: 28px;
}
#manual-dialog #manual-form .dialog-heading .close {
  position: static;
  margin-left: auto;
  flex: 0 0 32px;
}
#manual-dialog .manual-year-card {
  margin-bottom: 16px;
}
#manual-dialog .manual-fields {
  gap: 16px;
}
#manual-dialog #manual-form .dialog-actions {
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
  gap: 8px;
}

/* Student editing shares the approved short-form dialog hierarchy. */
#student-edit-dialog #student-edit-form .dialog-heading {
  padding: 0;
  margin: 0 0 20px;
  border: 0;
}
#student-edit-dialog #student-edit-form .dialog-heading::after,
#student-edit-dialog #student-edit-form .dialog-actions::before {
  content: none;
}
#student-edit-dialog #student-edit-title {
  font-size: 20px;
  line-height: 28px;
}
#student-edit-dialog #student-edit-form .dialog-heading .close {
  position: static;
  margin-left: auto;
  flex: 0 0 32px;
}
#student-edit-dialog #student-edit-year {
  margin: 0;
  padding-left: 0;
  border-left: 0;
}
#student-edit-dialog #student-edit-form .form-grid {
  gap: 16px;
}
#student-edit-dialog #student-edit-form .dialog-actions {
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
  gap: 8px;
}

/* Simulation settings follow the roster import's title/caption cards. */
#simulation-dialog .simulation-setting-card {
  display:grid;grid-template-columns:minmax(0,1fr) 80px;align-items:center;gap:12px;
  padding:16px;margin-bottom:12px;border:1px solid var(--ui-field-outline);border-radius:8px;background:var(--ui-surface-container-low);
}
#simulation-dialog .simulation-setting-card label {display:block;margin:0;font-size:14px;line-height:20px;font-weight:600;}
#simulation-dialog .simulation-setting-card p {margin:4px 0 0;color:var(--ui-on-surface-variant);font-size:12px;line-height:1.7;}
#simulation-dialog .simulation-setting-card input {box-sizing:border-box;width:80px;height:40px;margin:0;padding:8px 12px;font-size:14px;font-weight:400;}
#simulation-dialog .simulation-percentage-field {width:80px;}
#simulation-dialog .simulation-percentage-field input {width:100%;min-width:0;}


/* Generator settings share the roster import card layout. */
#generator-dialog .generator-setting-card {
  display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:12px;
  padding:16px;margin:0;border:1px solid var(--ui-field-outline);border-radius:8px;background:var(--ui-surface-container-low);
}
#generator-dialog .generator-setting-card :is(label,.generator-setting-title) {display:block;margin:0;font-size:14px;font-weight:600;line-height:20px;}
#generator-dialog .generator-setting-card p {margin:4px 0 0;color:var(--ui-on-surface-variant);font-size:12px;line-height:1.7;}
#generator-dialog .generator-setting-card input[type=number] {box-sizing:border-box;width:104px;height:40px;margin:0;padding:8px 12px;font-size:14px;font-weight:400;}

/* Override the old generator header reset and match roster import spacing. */
#generator-dialog #generator-form .dialog-heading {
  padding:0 36px 14px 0;margin:0 0 24px;border-bottom:0;
}
#generator-dialog #generator-form .dialog-heading h2 {line-height:24px;}
#generator-dialog #generator-form .dialog-heading::after {left:0;right:0;bottom:0;}

/* Match generation-record actions to the outer management list. */
#print-history-table .print-history-reprint {
  box-sizing:border-box;width:46px;min-width:46px;height:32px;min-height:32px;padding:4px 8px;font-size:12px;line-height:1.5;
  background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-field-outline);
}
#print-history-table .print-history-reprint:hover:not(:disabled) {
  background:var(--ui-primary-container-hover);border-color:var(--ui-field-outline-hover);
}

/* Tighten the import summary without changing its single-row layout. */
#import-dialog .preview-counts {gap:12px;}
#import-dialog .preview-metric {gap:8px;padding:8px 12px;}
#import-dialog .preview-counts .preview-metric-label {gap:6px;white-space:nowrap;}

/* Eight compact history rows; long values wrap without increasing row height. */
#print-history-table tbody td {height:56px!important;padding-top:8px;padding-bottom:8px;white-space:normal;overflow-wrap:anywhere;}
#print-history-table .data-table-text {line-height:18px;max-height:36px;-webkit-line-clamp:2;line-clamp:2;white-space:normal;}

/* Batch selection includes stored students; deletion uses neutral grey states. */
#workspace #void-selected-students {
  --ui-button-outline:#d7dbe0;border-color:#d7dbe0;background:#f3f4f6;color:#59616d;
}
#workspace #void-selected-students:hover:not(:disabled) {--ui-button-outline:#c5cbd3;border-color:#c5cbd3;background:#e9ecf0;color:#454d58;}
#workspace #void-selected-students:disabled {border-color:#e2e4e8;background:#f5f5f5;color:#a0a4ab;opacity:1;}

/* Compact student review: inline identity and single-line field values. */
.management-dialog#comparison-dialog #comparison-identity > div {
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
}
.management-dialog#comparison-dialog #comparison-identity dt { flex: none; }
.management-dialog#comparison-dialog #comparison-identity dd {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.management-dialog#comparison-dialog .comparison-field-heading {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.management-dialog#comparison-dialog .comparison-field-heading h3 { flex: none; }
.management-dialog#comparison-dialog .comparison-final-note {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  color: var(--ui-muted);
}
.management-dialog#comparison-dialog .comparison-source-card span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.management-dialog#comparison-dialog .comparison-field-card {
  border: 1px solid var(--ui-field-outline);
}

.management-dialog#comparison-dialog :is(.comparison-source-card, .comparison-final-card) {
  border: 1px solid var(--ui-field-outline);
}
