/* 我的课表：铺满视口、节次列加宽、行高均分、无滚动留白 */

/* —— 主区：课表页禁止滚动，高度吃满 —— */
#teacher-app:has(#panel-schedule.active) .main{
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 14px 10px !important;
  min-height: 0 !important;
}
#teacher-app #panel-schedule.active,
#teacher-app #panel-schedule.panel.active{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  animation: none !important;
  gap: 0 !important;
}

#panel-schedule .page-header{
  flex: 0 0 auto !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}
#panel-schedule .page-title{
  font-size: 1.15rem !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
#panel-schedule .page-desc{ display: none !important; }

#panel-schedule .schedule-view,
#panel-schedule #schedule-view-timetable{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  gap: 0 !important;
}

#panel-schedule .schedule-toolbar{
  flex: 0 0 auto !important;
  gap: 6px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  flex-wrap: wrap;
  align-items: center;
}
#panel-schedule .schedule-toolbar .btn,
#panel-schedule .schedule-toolbar .tt-mode-tabs__btn,
#panel-schedule .schedule-toolbar select{
  font-size: 0.78rem !important;
  padding: 3px 9px !important;
  min-height: 28px !important;
}

#panel-schedule .schedule-legend{
  flex: 0 0 auto !important;
  gap: 6px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 0.7rem !important;
}
#panel-schedule .tp-legend-tip{ display: none !important; }
/* evening footer: keep as fallback when inline timetable row missing */
#panel-schedule .schedule-evening-footer{ display:block !important; margin-top:10px; }
#panel-schedule .schedule-evening-footer[hidden]{ display:none !important; }
#panel-schedule tr.timetable-evening-break,
#panel-schedule tr.timetable-evening-row{ display:table-row !important; }

/* 课表卡片吃掉剩余高度 */
#panel-schedule .card.schedule-board-card,
#panel-schedule .schedule-board-card{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  border: 1px solid #e8edf3 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
#panel-schedule .tp-mobile-schedule{ display: none !important; }

#teacher-app #panel-schedule .timetable-wrap,
#panel-schedule #timetableContainer.timetable-wrap{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* —— 表格铺满容器，行高均分 —— */
#teacher-app #panel-schedule .timetable{
  table-layout: fixed !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.92rem !important;
  color: #0f172a !important;
  background: #fff !important;
}
#teacher-app #panel-schedule .timetable thead{
  height: 34px !important;
}
#teacher-app #panel-schedule .timetable th{
  text-align: center !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 4px 4px !important;
  height: 34px !important;
  border: 1px solid #e8edf3 !important;
  white-space: nowrap;
}

/* 节次列加宽：够放下「第N节 + 时间」 */
#teacher-app #panel-schedule .timetable .period,
#teacher-app #panel-schedule .timetable td.period,
#teacher-app #panel-schedule .timetable th.period,
#teacher-app #panel-schedule .timetable thead th:first-child,
#teacher-app #panel-schedule .timetable col.period{
  width: 108px !important;
  min-width: 108px !important;
  max-width: 120px !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-size: 0.8rem !important;
  font-weight: 650 !important;
  color: #334155 !important;
  background: #f8fafc !important;
  padding: 4px 6px !important;
  border: 1px solid #e8edf3 !important;
  white-space: normal !important;
  line-height: 1.25 !important;
}
#teacher-app #panel-schedule .timetable .period-time{
  display: block !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  color: #64748b !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
}

/* 课间行：固定矮高，不参与均分抢空间 */
#teacher-app #panel-schedule .timetable tr.timetable-break-row{
  height: 12px !important;
  max-height: 12px !important;
}
#teacher-app #panel-schedule .timetable tr.timetable-break-row td,
#teacher-app #panel-schedule .timetable-break-row td{
  height: 12px !important;
  max-height: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
#teacher-app #panel-schedule .timetable-break-row .break-line{
  height: 12px !important;
  margin: 0 !important;
  gap: 6px !important;
  padding: 0 6px !important;
}
#teacher-app #panel-schedule .timetable-break-row .break-label{
  font-size: 0.62rem !important;
  padding: 0 5px !important;
  color: #94a3b8 !important;
  background: #fff !important;
  line-height: 12px !important;
}

/* 课时行：均分剩余高度（1% 均分技巧） */
#teacher-app #panel-schedule .timetable tbody tr:not(.timetable-break-row){
  height: 1% !important;
}
#teacher-app #panel-schedule .timetable .lesson-cell,
#teacher-app #panel-schedule .timetable td.lesson-cell,
#teacher-app #panel-schedule .timetable .lesson-cell.mine,
#teacher-app #panel-schedule .timetable td.lesson-cell.mine{
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 6px 10px !important;
  margin: 0 !important;
  border: 1px solid #e8edf3 !important;
  border-radius: 0 !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  text-align: left !important;
  vertical-align: middle !important;
  line-height: 1.25 !important;
  opacity: 1 !important;
}
#teacher-app #panel-schedule .timetable .lesson-cell:hover,
#teacher-app #panel-schedule .timetable .lesson-cell.mine:hover{
  background: rgba(15,23,42,0.03) !important;
  box-shadow: inset 0 0 0 1px rgba(13,148,136,0.28) !important;
}

/* 去掉紫蓝卡片壳 */
#teacher-app #panel-schedule .lesson-block,
#teacher-app #panel-schedule .timetable .lesson-block{
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
  color: #0f172a !important;
  opacity: 1 !important;
  line-height: 1.25 !important;
  position: relative;
}
#teacher-app #panel-schedule .lesson-block + .lesson-block,
#teacher-app #panel-schedule .lesson-block--stack{
  margin-top: 3px !important;
  padding-top: 3px !important;
  border-top: 1px dashed rgba(15,23,42,0.08) !important;
}

#teacher-app #panel-schedule .lesson-block strong{
  display: block !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
#teacher-app #panel-schedule .lesson-block > span:not(.lesson-status-badge):not(.lesson-now-tag){
  display: block !important;
  font-size: 0.84rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.25 !important;
  margin-top: 2px !important;
}

/* 过去日 */
#teacher-app #panel-schedule .timetable td.day-past{ background: #f8fafc !important; }
#teacher-app #panel-schedule .timetable td.day-past .lesson-block{
  background: transparent !important;
  color: #94a3b8 !important;
  border: 0 !important;
}
#teacher-app #panel-schedule .timetable td.day-past .lesson-block strong{ color: #94a3b8 !important; }
#teacher-app #panel-schedule .timetable td.day-past .lesson-block > span:not(.lesson-status-badge):not(.lesson-now-tag){
  color: #a8b0bd !important;
}

/* 状态左边色条 */
#teacher-app #panel-schedule .timetable .lesson-cell.lesson-now{
  background: #f0fdf9 !important;
  box-shadow: inset 3px 0 0 #0d9488 !important;
  animation: none !important;
}
#teacher-app #panel-schedule .timetable .lesson-cell:is(.status-swap,.status-move-out){
  background: #fffbeb !important;
  box-shadow: inset 3px 0 0 #d3b36d !important;
}
#teacher-app #panel-schedule .timetable .lesson-cell:is(.status-substitute,.status-move-in){
  background: #f0fdf4 !important;
  box-shadow: inset 3px 0 0 #478561 !important;
}
#teacher-app #panel-schedule .timetable .lesson-cell.status-substitute-out{
  background: #f8fafc !important;
  box-shadow: inset 3px 0 0 #94a3b8 !important;
}
#teacher-app #panel-schedule .timetable .lesson-cell.status-open-class{
  background: #fdf2f8 !important;
  box-shadow: inset 3px 0 0 #cd9abc !important;
}
#teacher-app #panel-schedule .timetable .lesson-cell:is(.lesson-now,.status-swap,.status-move-out,.status-substitute,.status-move-in,.status-substitute-out,.status-open-class) > .lesson-block,
#teacher-app #panel-schedule .timetable .lesson-block:is(.block-swap,.block-move-out,.block-substitute,.block-move-in,.block-substitute-out){
  background: transparent !important;
  border: 0 !important;
}

#teacher-app #panel-schedule .lesson-status-badge,
#teacher-app #panel-schedule .lesson-now-tag{
  font-size: 0.6rem !important;
  padding: 0 4px !important;
  right: 3px !important;
  top: 2px !important;
}
#teacher-app #panel-schedule .lesson-block:has(.lesson-status-badge),
#teacher-app #panel-schedule .lesson-block:has(.lesson-now-tag){
  padding-right: 44px !important;
}

#panel-swap #eveningSwapMount h3{ margin: 0 0 6px; font-size: 1rem; }
#panel-swap #eveningSwapMount p{ margin: 0 0 10px; }
#panel-schedule tr.timetable-evening-row .period-time{display:inline!important;font-size:12px;opacity:.85;}

/* 第九节与晚修之间：细间隔，不要大块蓝条 */
#teacher-app #panel-schedule .timetable tr.timetable-evening-break,
#panel-schedule .timetable tr.timetable-evening-break{
  display: table-row !important;
  height: 12px !important;
  max-height: 12px !important;
}
#teacher-app #panel-schedule .timetable tr.timetable-evening-break td,
#panel-schedule .timetable tr.timetable-evening-break td{
  display: table-cell !important;
  height: 12px !important;
  max-height: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: #f1f5f9 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
#teacher-app #panel-schedule .timetable-evening-break .break-line{
  height: 12px !important;
  max-height: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#teacher-app #panel-schedule .timetable-evening-break .break-label{
  font-size: 10px !important;
  line-height: 12px !important;
  color: #94a3b8 !important;
  letter-spacing: 2px !important;
}
#teacher-app #panel-schedule tr.timetable-evening-row .period-time{
  display: block !important;
  font-size: 0.7rem !important;
  color: #64748b !important;
}

/* STATUS_BG_FORCE */
#teacher-app #panel-schedule .timetable td.lesson-cell.mine.status-swap,
#teacher-app #panel-schedule .timetable td.lesson-cell.status-swap,
#teacher-app #panel-schedule .timetable .lesson-cell.mine.status-swap,
#teacher-app #panel-schedule .timetable .lesson-cell.status-swap{
  background: #fffbeb !important;
  box-shadow: inset 3px 0 0 #d3b36d !important;
}
#teacher-app #panel-schedule .timetable td.lesson-cell.mine.status-move-out,
#teacher-app #panel-schedule .timetable td.lesson-cell.status-move-out,
#teacher-app #panel-schedule .timetable .lesson-cell.mine.status-move-out,
#teacher-app #panel-schedule .timetable .lesson-cell.status-move-out{
  background: #fff7ed !important;
  box-shadow: inset 3px 0 0 #f59e0b !important;
}
#teacher-app #panel-schedule .timetable td.lesson-cell.mine.status-substitute,
#teacher-app #panel-schedule .timetable td.lesson-cell.mine.status-move-in,
#teacher-app #panel-schedule .timetable td.lesson-cell.status-substitute,
#teacher-app #panel-schedule .timetable td.lesson-cell.status-move-in,
#teacher-app #panel-schedule .timetable .lesson-cell.mine.status-substitute,
#teacher-app #panel-schedule .timetable .lesson-cell.mine.status-move-in,
#teacher-app #panel-schedule .timetable .lesson-cell.status-substitute,
#teacher-app #panel-schedule .timetable .lesson-cell.status-move-in{
  background: #f0fdf4 !important;
  box-shadow: inset 3px 0 0 #478561 !important;
}
#teacher-app #panel-schedule .timetable td.lesson-cell.mine.status-substitute-out,
#teacher-app #panel-schedule .timetable td.lesson-cell.status-substitute-out,
#teacher-app #panel-schedule .timetable .lesson-cell.mine.status-substitute-out,
#teacher-app #panel-schedule .timetable .lesson-cell.status-substitute-out{
  background: #f1f5f9 !important;
  box-shadow: inset 3px 0 0 #94a3b8 !important;
}
#teacher-app #panel-schedule .timetable td.lesson-cell.mine.status-open-class,
#teacher-app #panel-schedule .timetable td.lesson-cell.status-open-class,
#teacher-app #panel-schedule .timetable .lesson-cell.mine.status-open-class,
#teacher-app #panel-schedule .timetable .lesson-cell.status-open-class{
  background: #fdf2f8 !important;
  box-shadow: inset 3px 0 0 #cd9abc !important;
  border-color: rgba(225,29,72,.35) !important;
}
