.score-workbench {
  --score-select-width: 42px;
  --score-order-width: 50px;
  gap: var(--space-3); padding: var(--space-4); overflow: hidden;
}

.score-cohort-operations { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr); gap: var(--space-2); align-items: stretch; }
.score-workbench-actions { display: contents; }
.score-cohort-change-row { display: grid; grid-template-columns: minmax(160px, 1fr) max-content; align-items: end; gap: var(--space-2); width: 100%; max-width: 100%; border: 1px solid var(--border); border-radius: var(--control-radius); padding: var(--space-2); background: var(--surface-soft); }
.score-cohort-change-row label { min-width: 0; }
.score-cohort-change-row :is(select, button) { min-height: 36px; font-family: inherit; }
.score-report-tool-row { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: var(--space-2); flex-wrap: wrap; }
.score-report-tool-row button { min-height: 36px; padding-inline: var(--space-3); white-space: nowrap; }
.score-report-settings-modal { width: min(760px, calc(100vw - 32px)); }
.score-report-settings-modal > .section-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.score-report-settings-modal > .section-head .modal-close { align-self: start; justify-self: end; }
.form-grid.score-report-settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.form-grid.score-report-settings-grid > .wide { grid-column: span 2; }
.score-report-settings-grid > label { display: grid; align-content: start; gap: var(--space-1); min-width: 0; margin: 0; font-family: inherit; font-size: 13px; font-weight: 800; }
.score-report-settings-grid :is(input, select) { width: 100%; min-height: 40px; font-family: inherit; }
.score-setting-count > span { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); }
.score-setting-count small { color: var(--muted); font: inherit; font-size: 11px; font-weight: 650; white-space: nowrap; }
.score-setting-notice textarea { min-height: 92px; resize: vertical; }
.score-setting-visibility { align-content: start; min-width: 0; margin: 0; border: 1px solid var(--border); border-radius: var(--control-radius); padding: var(--space-2) var(--space-3) var(--space-3); background: var(--surface-soft); }
.report-setting-toggles { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.report-setting-toggles legend { padding: 0 var(--space-1); color: var(--text); font-family: inherit; font-size: 13px; font-weight: 800; }
.report-setting-toggles label { display: inline-flex; align-items: center; gap: var(--space-1); min-height: 32px; border-radius: var(--space-2); padding: 0 var(--space-2); background: var(--surface); font-family: inherit; font-size: 12px; font-weight: 750; white-space: nowrap; }
.report-setting-toggles input { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
.score-setting-save { align-self: end; min-height: 36px; }
.score-omr-preview-image { display: block; max-width: 100%; max-height: 68dvh; margin: 0 auto; object-fit: contain; }
.score-wrong-rate-modal fieldset { display: grid; gap: var(--space-2); margin: var(--space-4) 0; border: 1px solid var(--border); border-radius: var(--control-radius); padding: var(--space-3); }
.score-wrong-rate-modal legend { padding: 0 var(--space-1); font-weight: 850; }
.score-wrong-rate-modal fieldset label { display: flex; align-items: center; gap: var(--space-2); min-height: var(--button-height); border-radius: var(--control-radius); padding: 0 var(--space-2); background: var(--surface-soft); }
.score-wrong-rate-modal input[type="radio"] { flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; margin: 0; }

@media (max-width: 600px) {
  .score-cohort-operations { grid-template-columns: 1fr; }
  .score-cohort-change-row { grid-template-columns: 1fr; width: 100%; }
  .score-cohort-change-row > * { width: 100%; }
  .score-report-tool-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .score-report-tool-row > * { width: 100%; }
  .form-grid.score-report-settings-grid { grid-template-columns: 1fr; }
  .form-grid.score-report-settings-grid > .wide { grid-column: 1; }
}

.score-workbench-selected-head { margin: 0; padding-top: var(--space-1); }
.score-workbench :is(.active, .selected) { background: color-mix(in srgb, var(--accent) 9%, var(--surface)); color: var(--accent); }

.score-exam-picker-panel { gap: var(--space-2); padding: var(--space-3); }
.score-exam-picker-panel .omr-exam-picker { margin: 0; }
.score-workbench-recent { display: flex; align-items: center; gap: var(--space-2); min-width: 0; border: 1px solid var(--border); border-radius: var(--control-radius); padding: var(--space-2); background: var(--surface-soft); }
.score-workbench-recent > strong { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.score-workbench-recent > div { display: flex; align-items: center; gap: var(--space-2); min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.score-workbench-recent .ghost-button { flex: 0 0 auto; gap: var(--space-1); max-width: min(360px, 72vw); box-shadow: none; }
.score-workbench-recent small { color: var(--muted); }

.score-workbench .exam-stat-grid { gap: var(--space-2); border-radius: 0; background: transparent; overflow: visible; }
.score-workbench .exam-stat-grid div { min-width: 0; border: 1px solid var(--border); border-radius: var(--control-radius); padding: 10px var(--space-3); background: var(--surface); }
.score-workbench .exam-stat-grid strong { margin-top: var(--space-1); font-size: 19px; }

.score-cohort-view { display: grid; grid-template-columns: minmax(170px, 220px) minmax(0, 1fr); align-items: end; gap: var(--space-2); border: 1px solid var(--border); border-radius: var(--control-radius); padding: var(--space-2); background: var(--surface-soft); }
.score-cohort-view label { min-width: 0; }
.score-cohort-view select { width: 100%; min-width: 0; }
.score-cohort-summary { display: flex; align-items: center; gap: var(--space-3); min-height: var(--button-height); border: 1px solid var(--border); border-radius: var(--control-radius); padding: 0 var(--space-3); background: var(--surface); }
.score-cohort-summary strong { margin-right: auto; }
.score-cohort-summary span { color: var(--accent); font-weight: 900; }
.score-cohort-summary small { color: var(--muted); font-weight: 780; }
.score-workbench-table-wrap { max-width: 100%; max-height: min(68vh, 760px); overflow: auto; overscroll-behavior: contain; border: 0; border-radius: var(--control-radius); background: var(--surface-soft); }
.score-workbench .score-workbench-table { width: 100%; min-width: 1180px; table-layout: fixed; border-spacing: 0; padding: 0; }
.score-workbench .score-workbench-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.score-workbench .score-workbench-table :is(th, td) { height: 38px; padding: 6px var(--space-2); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; font-size: 12px; line-height: 1.25; text-align: center; vertical-align: middle; white-space: nowrap; word-break: keep-all; }
.score-workbench .score-workbench-table th { position: sticky; top: 0; z-index: 2; background: var(--surface-soft); }
.score-workbench .score-workbench-table td { overflow: hidden; background: var(--surface); text-overflow: ellipsis; }
.score-workbench .score-workbench-table tr > td:first-child,
.score-workbench .score-workbench-table tr > td:last-child { border-inline: 0; border-radius: 0; }
.score-workbench .score-workbench-table tr > :nth-child(1) { width: var(--score-select-width); left: 0; text-align: center; }
.score-workbench .score-workbench-table tr > :nth-child(2) { width: var(--score-order-width); left: var(--score-select-width); text-align: center; }
.score-workbench .score-workbench-table tr > :nth-child(3) { width: 142px; left: calc(var(--score-select-width) + var(--score-order-width)); box-shadow: 1px 0 var(--border); }
.score-workbench .score-workbench-table tr > :nth-child(4) { width: 126px; }
.score-workbench .score-workbench-table tr > :is(:nth-child(5), :nth-child(9)) { width: 56px; text-align: center; }
.score-workbench .score-workbench-table tr > :is(:nth-child(6), :nth-child(7), :nth-child(8)) { width: 76px; }
.score-workbench .score-workbench-table tr > :nth-child(10) { width: 74px; text-align: center; }
.score-workbench .score-workbench-table tr > :nth-child(11) { width: 92px; text-align: center; }
.score-workbench .score-workbench-table tr > :nth-child(12) { width: 78px; text-align: center; }
.score-workbench .score-workbench-table tr > :nth-child(13) { width: 170px; }
.score-workbench .score-workbench-table tr > :is(:nth-child(1), :nth-child(2), :nth-child(3)) { position: sticky; z-index: 1; }
.score-workbench .score-workbench-table thead tr > :is(:nth-child(1), :nth-child(2), :nth-child(3)) { z-index: 3; }
.score-workbench .table-sort { display: inline-flex; align-items: center; min-height: 28px; margin: -3px -5px; border: 1px solid transparent; border-radius: var(--space-2); padding: 3px 5px; white-space: nowrap; }
.score-workbench .table-sort:hover { border-color: var(--border); background: var(--surface); color: var(--accent); }
.score-workbench [aria-sort] .table-sort { color: var(--accent); }
.score-workbench .score-workbench-table input[type="checkbox"] { appearance: auto; width: 18px; min-width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; border-radius: 4px; accent-color: var(--accent); }
.score-workbench .score-workbench-table a { text-decoration: none; }
.score-workbench .score-workbench-table :is(.ghost-button, .table-sort) { margin-inline: auto; }
.score-workbench tr[data-score-withdrawn="true"] td { color: var(--muted); background: color-mix(in srgb, var(--surface-soft) 62%, var(--surface)); }
.score-workbench tr[data-score-withdrawn="true"] td:nth-child(10) { color: var(--red); font-weight: 900; }
.score-workbench [data-score-empty-state] { overflow-wrap: anywhere; word-break: keep-all; }

@media (max-width: 860px) {
  .score-workbench { scroll-margin-top: calc(var(--score-sticky-offset, 0px) + var(--space-2)); }
  .score-workbench .exam-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .score-cohort-operations { grid-template-columns: 1fr; }
  .score-cohort-view { grid-template-columns: minmax(170px, 220px) minmax(0, 1fr); }
  .score-report-tool-row { grid-column: 1; }
  .billboard-modal .billboard-sheet { width: 100%; min-width: 0; }
  .form-grid.score-report-settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
  .score-workbench { gap: var(--space-2); padding: var(--space-3); }
  .form-grid.score-report-settings-grid { grid-template-columns: 1fr; }
  .form-grid.score-report-settings-grid > .wide { grid-column: 1; }
  .score-report-settings-modal { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: var(--space-3); }
  .score-report-settings-modal > .section-head { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); }
  .score-report-settings-modal .modal-actions { position: sticky; bottom: calc(-1 * var(--space-3)); margin-inline: calc(-1 * var(--space-3)); margin-bottom: calc(-1 * var(--space-3)); padding: var(--space-3); background: var(--surface); }
  .score-workbench .exam-action-bar,
  .score-workbench .exam-action-bar label,
  .score-workbench .exam-action-bar :is(input, button) { width: 100%; }
  .score-workbench-recent { align-items: stretch; flex-direction: column; }
  .score-workbench-recent > div { align-items: stretch; flex-direction: column; overflow-x: visible; }
  .score-workbench-recent .ghost-button { justify-content: space-between; width: 100%; max-width: none; }
  .score-cohort-summary { flex-wrap: wrap; }
  .score-workbench .exam-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .score-workbench .exam-stat-grid strong { font-size: 17px; }

  .billboard-modal .billboard-sheet {
    width: 100%;
    min-width: 0;
    border-radius: 20px;
    padding: var(--space-3);
    --billboard-row-height: 26px !important;
    --billboard-row-font: 7.5pt !important;
    --billboard-badge-font: 7pt !important;
    --billboard-cell-padding: 2px !important;
  }
  .billboard-modal .billboard-ribbon { height: var(--space-2); }
  .billboard-modal .billboard-cover { gap: var(--space-1); padding: var(--space-4) 2px 2px; }
  .billboard-modal :is(.billboard-brand-row, .billboard-meta-row, .billboard-footer) { gap: var(--space-1); font-size: 7px; }
  .billboard-modal :is(.billboard-brand, .billboard-date) { min-height: 20px; padding: 3px 6px; }
  .billboard-modal .billboard-title-block p { margin-bottom: 2px; font-size: 6.5pt; }
  .billboard-modal .billboard-title-block h1 { overflow-wrap: anywhere; font-size: 12pt; }
  .billboard-modal .billboard-title-block h2 { font-size: 16pt; }
  .billboard-modal .billboard-meta-row span { padding: 2px var(--space-1); }
  .billboard-modal .billboard-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-1); }
  .billboard-modal .billboard-stats-grid div { min-height: 36px; border-radius: var(--space-2); padding: var(--space-1); }
  .billboard-modal .billboard-stats-grid span { font-size: 6pt; }
  .billboard-modal .billboard-stats-grid strong { margin-top: 1px; font-size: 8pt; }
  .billboard-modal .billboard-table-card { border-radius: 10px; }
  .billboard-modal .billboard-rank-table th { height: 22px; padding: 2px; font-size: 6.5pt; }
  .billboard-modal .billboard-rank-table td { padding: 2px; }
  .billboard-modal :is(.rank-badge, .score-pill) { min-width: 28px; padding: 2px 3px; }
  .billboard-modal .billboard-footer { padding: 0 2px; font-size: 6.5pt; }
}
