#class-schedule-maker [hidden] { display: none !important; }
#class-schedule-maker { min-width: 0; }
#class-schedule-maker .cs-section { margin-block: 26px; }
#class-schedule-maker h2 { font-size: 1.1rem; font-weight: 700; margin-block: 0 14px; }
#class-schedule-maker .tool-input, #class-schedule-maker .tool-select { width: 100%; min-width: 0; min-height: 46px; }
#class-schedule-maker textarea { resize: vertical; }
#class-schedule-maker .tool-select { appearance: none; height: auto; padding-inline-end: 34px; background-image: var(--site-select-arrow); background-repeat: no-repeat; background-size: 14px; background-position: right 12px center; }
html[dir="rtl"] #class-schedule-maker .tool-select { background-position: left 12px center; }
#class-schedule-maker .tool-form-field, #class-schedule-maker .cs-period-row > *, #class-schedule-maker .cs-lesson-row > * { min-width: 0; }
#class-schedule-maker label, #class-schedule-maker button { overflow-wrap: anywhere; }
#class-schedule-maker .cs-days { display: flex; flex-wrap: wrap; gap: 10px; }
#class-schedule-maker .cs-day { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 14px; border: 1px solid var(--site-border); border-radius: 7px; cursor: pointer; }
#class-schedule-maker .cs-day input { flex: 0 0 auto; width: 18px; height: 18px; }
#class-schedule-maker .cs-day-presets { margin-block: 0 12px; }
#class-schedule-maker .cs-edit-list { display: grid; gap: 16px; margin-bottom: 14px; }
#class-schedule-maker .cs-period-row, #class-schedule-maker .cs-lesson-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 12px; padding: 16px; background: var(--site-surface-muted); border: 1px solid var(--site-border); border-radius: 8px; }
#class-schedule-maker .cs-lesson-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#class-schedule-maker .cs-lesson-notes { grid-column: 1 / -1; }
#class-schedule-maker .cs-lesson-bottom { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; grid-column: 1 / -1; }
#class-schedule-maker input[type="color"] { width: 90px; padding: 5px; }
#class-schedule-maker .cs-main-actions { margin-block: 26px 14px; }
#cs-preview { border-top: 1px solid var(--site-border); margin-top: 20px; padding-top: 20px; }
#cs-preview-title { overflow-wrap: anywhere; white-space: pre-wrap; }
#class-schedule-maker .cs-preview-scroll { overflow: auto; max-width: 100%; margin-block: 14px; }
#class-schedule-maker .cs-grid { width: 100%; min-width: calc(var(--cs-columns, 8) * 140px); table-layout: fixed; border-collapse: collapse; }
#class-schedule-maker .cs-grid th, #class-schedule-maker .cs-grid td { padding: 10px; border: 1px solid var(--site-border); vertical-align: top; overflow-wrap: anywhere; text-align: start; }
#class-schedule-maker .cs-grid th { color: var(--site-text); background: var(--site-surface-muted); }
#class-schedule-maker .cs-period-name { display: block; white-space: pre-wrap; }
#class-schedule-maker .cs-time { display: block; font-size: .85em; white-space: normal; margin-top: 5px; font-variant-numeric: tabular-nums; }
#class-schedule-maker .cs-lesson { padding: 10px; border-radius: 5px; white-space: pre-wrap; overflow-wrap: anywhere; }
#class-schedule-maker .cs-lesson strong { display: block; font-weight: 700; }
#class-schedule-maker .cs-lesson p { margin-top: 8px; }
#cs-print-root { display: none; }
@media (max-width: 720px) {
    #class-schedule-maker .cs-period-row, #class-schedule-maker .cs-lesson-row { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
    #class-schedule-maker .cs-lesson-row { grid-template-columns: minmax(0, 1fr); }
    #class-schedule-maker .cs-period-row > :first-child, #class-schedule-maker .cs-lesson-row > :first-child { grid-column: 1 / -1; }
    #class-schedule-maker .cs-period-row > button { grid-column: 1 / -1; width: fit-content; }
}
@media print {
    html.cs-printing, body.cs-printing { color-scheme: light !important; background: #fff !important; color: #111 !important; }
    body.cs-printing > * { display: none !important; }
    body.cs-printing > #cs-print-root { display: block !important; color: #111; background: #fff; font: 12pt/1.5 sans-serif; }
    #cs-print-root h1 { font-size: 20pt; font-weight: 700; margin: 0 0 18pt; white-space: pre-wrap; overflow-wrap: anywhere; }
    #cs-print-root h2 { font-size: 16pt; font-weight: 700; margin: 18pt 0 8pt; break-after: avoid; }
    #cs-print-root article { margin: 0 0 14pt; padding: 8pt 10pt; border-inline-start: 4pt solid #555; break-inside: auto; color: #111; background: #fff; }
    #cs-print-root h3 { font-size: 13pt; font-weight: 700; margin: 0 0 5pt; white-space: pre-wrap; overflow-wrap: anywhere; break-after: avoid; }
    #cs-print-root article > p:first-of-type { break-after: avoid; }
    #cs-print-root p { margin: 4pt 0; white-space: pre-wrap; overflow-wrap: anywhere; orphans: 2; widows: 2; }
    #cs-print-root .cs-print-time { direction: ltr; unicode-bidi: isolate; display: inline-block; }
    #cs-print-root .cs-grid { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 10pt; }
    #cs-print-root thead { display: table-header-group; }
    #cs-print-root .cs-grid th, #cs-print-root .cs-grid td { border: .6pt solid #777; padding: 6pt; vertical-align: top; text-align: start; overflow-wrap: anywhere; }
    #cs-print-root .cs-grid tr, #cs-print-root .cs-grid td { break-inside: auto; }
    #cs-print-root .cs-grid th { font-weight: 700; color: #111; background: #fff; }
    #cs-print-root .cs-period-name { display: block; white-space: pre-wrap; }
    #cs-print-root .cs-time { direction: ltr; unicode-bidi: isolate; display: inline-block; margin-top: 4pt; font-size: 8.5pt; }
    #cs-print-root .cs-lesson { background: transparent !important; color: #111 !important; border-inline-start: 3pt solid; padding-inline-start: 5pt; white-space: pre-wrap; overflow-wrap: anywhere; }
    #cs-print-root .cs-lesson strong { display: block; font-weight: 700; }
}
