.student-selection-list { max-height: 300px; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; margin: 12px 0; }
.student-selection-list .choice { margin: 0; }
.student-selection-list .choice[hidden] { display: none; }
.student-selection-list small, .plan-recipient small, .plan-course small { display: block; color: var(--muted); }
.plan-course, .plan-recipient { padding: 18px 0; border-bottom: 1px solid var(--line); }
.plan-course summary { cursor: pointer; font-weight: 600; margin-bottom: 12px; }
.plan-chart { margin: 20px 0; }
.plan-chart svg { display: block; width: 100%; max-width: 950px; height: auto; }
.plan-chart text { fill: var(--muted); font-size: 13px; }
.test-question { margin: 18px 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; }
.test-question textarea { width: 100%; }

.plan-option-list { max-height: 280px; overflow-y: auto; }
[data-controller~="work-plan"] [hidden] { display: none !important; }
[data-work-plan-target="starter"] small { display: block; margin-top: 6px; }
[data-work-plan-target="starter"] .table-scroll { max-width: 100%; }
fieldset[data-work-plan-target="starter"] { min-width: 0; }

.assignment-details { max-width: 790px; margin-top: 0; }
.stack-form fieldset.assignment-question-picker { min-width: 0; padding: 0; border: 0; }
.assignment-question-picker > legend { margin-bottom: 14px; font-size: 16px; }
.assignment-question-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.assignment-question-card { display: flex; flex-direction: column; min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); overflow-wrap: anywhere; }
.assignment-question-card:has(input:checked) { border-color: var(--green); background: var(--mint); box-shadow: inset 0 0 0 1px var(--green); }
.assignment-question-card:focus-within { outline: 2px solid var(--green); outline-offset: 3px; }
.assignment-question-card label.assignment-question-select { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; margin: 0 0 12px; cursor: pointer; }
.assignment-question-select input[type="checkbox"] { flex-shrink: 0; width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--green); }
.assignment-question-select > span { min-width: 0; }
.assignment-question-select strong { display: block; font-size: 17px; line-height: 1.45; }
.assignment-question-type { display: block; margin-top: 4px; font-size: 13px; color: var(--muted); }
.assignment-question-prompt { margin: 0 0 12px; font-size: 16px; line-height: 1.65; white-space: pre-wrap; }
.assignment-question-full { margin-bottom: 12px; }
.assignment-question-full summary { min-height: 44px; padding: 8px 0; color: var(--green); font-weight: 600; cursor: pointer; }
.assignment-question-full .assignment-question-prompt { margin-top: 8px; }
.assignment-question-options { margin: 0 0 12px; padding-left: 20px; font-size: 15px; line-height: 1.6; }
.assignment-question-options li + li { margin-top: 6px; }
.assignment-question-matching { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.assignment-question-matching > div { min-width: 0; }
.assignment-question-matching > div > strong { display: block; margin-bottom: 6px; font-size: 14px; }
.assignment-question-meta { display: grid; gap: 6px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.5; color: var(--muted); }
.assignment-question-status { font-weight: 600; color: var(--ink); }
@media (min-width: 1000px) {
  .assignment-question-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .assignment-question-card { padding: 14px; }
}
.question-status-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 10px 18px; }
.question-status-options .choice { align-items: flex-start; margin: 0; }
.question-selection-controls { margin: 8px 0 20px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--mint); }
.question-selection-controls[hidden] { display: none; }
.question-selection-count { font-weight: 650; }
