.teacher-shell { max-width:1100px; }
.teacher-shell h1 { font-size:28px; }
.teacher-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.teacher-toolbar label { display:flex; gap:10px; align-items:center; }
.teacher-shell select,.teacher-shell input,.teacher-shell textarea { max-width:100%; padding:10px; border:1px solid #a8b7b0; border-radius:4px; background:white; color:#14231f; font:inherit; }
.schedule-day { border-top:1px solid #a8b7b0; padding:18px 0; }
.schedule-day h2 { font-size:20px; margin:0 0 12px; }
.schedule-item { display:grid; grid-template-columns:170px minmax(0,1fr) auto; gap:16px; padding:16px; margin:8px 0; background:#edf5ef; border-left:4px solid #28734b; border-radius:4px; }
.schedule-item.live-recording { background:#fff4df; border-color:#9b660b; }
.live-recording .schedule-kind { color:#744800; }
.english-title { display:block; margin-top:6px; overflow-wrap:anywhere; }
.teacher-shell h1,.teacher-shell h2,.teacher-shell label,.teacher-shell button { overflow-wrap:anywhere; }
.teacher-toolbar .button { white-space:normal; }
.schedule-item.recorded { background:#f3effa; border-color:#8554a2; }
.schedule-item strong,.schedule-item small { display:block; overflow-wrap:anywhere; }
.schedule-item small { margin-top:6px; }
.schedule-kind { color:#28603f; font-weight:700; }
.recorded .schedule-kind { color:#793598; }
#editor { width:min(560px,94vw); max-height:90vh; overflow:auto; border:1px solid #a8b7b0; border-radius:8px; padding:24px; }
#editor::backdrop { background:#0006; }
#recording-form label { display:flex; flex-direction:column; gap:6px; margin:10px 0; min-width:0; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#form-error { color:#ad2424; }
[hidden] { display:none!important; }
@media(max-width:600px) { .schedule-item { grid-template-columns:1fr; gap:8px; } .teacher-shell h1 { font-size:24px; } .teacher-toolbar label { width:100%; } .teacher-toolbar select { min-width:0; flex:1; } .form-pair { grid-template-columns:1fr; } }
