.course-module { min-width: 0; padding-block: 1rem; border-bottom: 1px solid var(--line); }
.course-module > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; cursor: pointer; color: var(--text); }
.course-module > summary::after { content: '+'; margin-left: auto; }
.course-module[open] > summary::after { content: '−'; }
.course-module > summary strong { font: 600 1.25rem var(--font-body); overflow-wrap: anywhere; }
.course-module > summary span { font-size: .875rem; }
.student-module-meta { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .5rem 1rem; margin-left: auto; text-align: right; }
.student-module-meta > span:last-child { white-space: nowrap; }
.scheduled-release { display: inline-flex; align-items: baseline; flex-wrap: wrap; justify-content: flex-end; gap: .25rem; color: var(--text); font-size: .8125rem; line-height: 1.35; }
.scheduled-release time { font-variant-numeric: tabular-nums; }
.scheduled-release small { display: block; width: 100%; color: var(--green-strong); font: 600 .75rem/1.35 var(--font-body); font-variant-numeric: tabular-nums; }
.scheduled-release small:empty { display: none; }
.student-course-section-meta .scheduled-release { max-width: 17rem; white-space: normal; text-align: right; }
.student-course-section .my-lesson-row.is-scheduled { cursor: default; color: var(--text); background: var(--surface); }
.student-course-section .my-lesson-row.is-scheduled .badge { max-width: 18rem; white-space: normal; text-align: right; }
.course-module > summary:focus-visible, .module-editor > summary:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.course-module > p { max-width: 70ch; overflow-wrap: anywhere; }
.module-editor { margin-block: .75rem; }
.section-schedule-form { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.section-schedule-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.section-schedule-row span { flex: 1 1 220px; overflow-wrap: anywhere; }
.section-schedule-row small { display: block; }
.section-schedule-row input { flex: 0 1 240px; min-width: 0; max-width: 100%; }
.course-module .builder-section-card { margin-block: .75rem; }
.course-module input, .course-module select, .course-module textarea { min-width: 0; max-width: 100%; }
.offer-workspace { min-width: 0; }
.offer-workspace p { max-width: 75ch; overflow-wrap: anywhere; }
.offer-list-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-block: 1.25rem; border-bottom: 1px solid var(--line); }
.offer-list-row > div { flex: 1 1 280px; min-width: 0; overflow-wrap: anywhere; }
.offer-list-row h3 { margin: 0; font: 600 1.125rem var(--font-body); }
.offer-package-summary { margin: .5rem 0; padding-left: 1.25rem; font-size: .875rem; }
.offer-package-selection { border: 0; padding: 0; min-width: 0; }
.offer-course-picker { padding-block: .75rem; border-bottom: 1px solid var(--line); }
.offer-course-picker summary, .offer-workspace > summary { cursor: pointer; padding-block: .75rem; overflow-wrap: anywhere; }
.offer-workspace summary:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.offer-workspace > summary h2 { display: inline; font-size: 1.25rem; }
.offer-course-picker .check-row { padding: .75rem 0; }
.offer-course-picker small { display: block; }
.offer-workspace input, .offer-workspace select, .offer-workspace textarea { min-width: 0; max-width: 100%; }
.offer-student-picker { min-width: 0; width: 100%; max-width: 40rem; }
.offer-student-picker input { width: 100%; }
.offer-student-picker .hint { margin-block: .5rem; overflow-wrap: anywhere; }
.offer-student-results { max-height: 19rem; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 12px; padding: .375rem; }
.offer-student-results[hidden] { display: none; }
.offer-student-results [role="option"] { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; width: 100%; min-width: 0; min-height: 3.5rem; padding: .75rem; border: 0; border-radius: 8px; background: transparent; color: var(--text); text-align: start; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.offer-student-results [role="option"] strong { font: 600 1rem var(--font-body); }
.offer-student-results [role="option"] small { color: var(--text); font: 400 .875rem var(--font-body); }
.offer-student-results [role="option"]:hover, .offer-student-results [aria-selected="true"] { background: var(--surface); outline: 2px solid var(--purple); outline-offset: -2px; }
.offer-student-results [role="option"]:focus-visible { outline: 2px solid var(--purple); outline-offset: -2px; }
.offer-student-results > .hint { padding-inline: .75rem; }
@media (max-width: 600px) { .course-module > summary { flex-wrap: wrap; gap: .5rem; } .student-module-meta { width: 100%; justify-content: space-between; text-align: left; } .student-course-section > summary { grid-template-columns: minmax(0, 1fr) 24px; } .student-course-section-meta { grid-column: 1; grid-row: 2; justify-content: flex-start; } .student-course-section > summary::after { grid-column: 2; grid-row: 1 / 3; } .student-course-section-meta .scheduled-release { text-align: left; justify-content: flex-start; } }
