/* Teaching management: Figma 59:2 / 66:2 / 67:2, adapted to real fields.
   Presentation only. Portal rules are active only on the teaching-management route. */
.teaching-manage-page {
  --tm-ink: #17365d;
  --tm-muted: #6b7f99;
  --tm-line: #e8eef5;
  --tm-field: #f5f8fc;
  --tm-blue: #2f80ed;
  background: #fff !important;
  color: var(--tm-ink) !important;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}
.teaching-manage-page *,
body:has(.teaching-manage-page) :is(.ant-modal, .user-modal-drawer, .ant-select-dropdown, .ant-calendar-picker-container, .ant-time-picker-panel, .ant-popover) {
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.teaching-manage-page :is(button, input) { font: inherit; }
.teaching-manage-page .manage-topbar {
  position: relative !important;
  min-height: 64px !important;
  padding: 0 24px !important;
  border-bottom: 1px solid var(--tm-line);
  background: #fff !important;
  box-shadow: none !important;
}
.teaching-manage-page :is(.brand-button, .teacher-identity) { color: var(--tm-ink) !important; }
.teaching-manage-page :is(.brand-button em, .teacher-identity em) { color: var(--tm-muted) !important; }
.teaching-manage-page .brand-button strong { font-size: 18px !important; }
.teaching-manage-page .brand-button img { display: none; }
.teaching-manage-page .home-button { background: #f0f6ff !important; color: #2768b5 !important; height: 38px; border-radius: 9px; }
.teaching-manage-page .teacher-avatar { background: #edf5ff !important; color: #2768b5 !important; }
.teaching-manage-page .teacher-identity strong { font-size: 15px !important; }
.teaching-manage-page .manage-layout { grid-template-columns: 176px minmax(0, 1fr) !important; min-height: calc(100vh - 124px); }
.teaching-manage-page .manage-sidebar { background: #102b52 !important; border: 0 !important; padding: 25px 12px !important; }
.teaching-manage-page .sidebar-heading { padding: 0 12px 22px !important; border-color: #294364 !important; gap: 6px; }
.teaching-manage-page .sidebar-heading span { color: #9db1cc !important; font-size: 12px; }
.teaching-manage-page .sidebar-heading strong { color: #eaf2ff !important; font-size: 15px; }
.teaching-manage-page .manage-sidebar nav button { color: #bbcee6 !important; min-height: 48px; padding: 0 10px !important; grid-template-columns: 29px minmax(0,1fr) 12px; font-size: 15px; }
.teaching-manage-page .manage-sidebar nav button.active { color: #fff !important; background: #2f80ed !important; font-weight: 600; }
.teaching-manage-page .manage-sidebar .menu-icon { background: transparent !important; width: 24px; }
.teaching-manage-page .manage-main { padding: 24px 26px 40px !important; background: #fff !important; }
.teaching-manage-page .page-heading { margin-bottom: 23px !important; align-items: center; }
.teaching-manage-page .page-heading h1 { margin: 0 0 6px !important; font-size: 27px !important; font-weight: 650; color: var(--tm-ink) !important; }
.teaching-manage-page .page-heading p { font-size: 14px; color: var(--tm-muted) !important; }
.teaching-manage-page .page-kicker { display: none; }
.teaching-manage-page .page-scope { background: transparent !important; border: 0 !important; color: var(--tm-muted) !important; font-size: 13px; padding: 0 !important; }
.teaching-manage-page :is(.teacher-class-manage.embedded, .teacher-student-manage.embedded) { padding: 0 !important; background: #fff !important; }
.teaching-manage-page .teacher-student-manage::before { display: none !important; }
.teaching-manage-page :is(.class-list-shell, .student-filter-shell, .table-shell) { background: #fff !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.teaching-manage-page :is(.class-filter-tabs, .student-list-tabs) { display: flex; gap: 28px !important; border-bottom: 1px solid var(--tm-line) !important; background: transparent !important; padding: 0 !important; margin: 0 0 22px !important; }
.teaching-manage-page :is(.class-filter-tabs, .student-list-tabs) button { position: relative; display: inline-flex; align-items: center; gap: 9px; min-height: 47px !important; min-width: 0 !important; padding: 0 2px 15px !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--tm-muted) !important; font-size: 16px !important; }
.teaching-manage-page :is(.class-filter-tabs, .student-list-tabs) button.active { color: #226ac5 !important; font-weight: 600; }
.teaching-manage-page :is(.class-filter-tabs, .student-list-tabs) button.active::after { content: ""; display: block !important; position: absolute; bottom: -1px; left: 0; right: 0; height: 3px; border-radius: 3px; background: var(--tm-blue); }
.teaching-manage-page .class-filter-tabs .tab-icon { display: none; }
.teaching-manage-page .class-filter-tabs em { background: #eff5fd !important; color: #52759f !important; border-radius: 5px; padding: 1px 6px; font-size: 12px !important; font-style: normal; }
.teaching-manage-page .filter-panel-heading { display: none !important; }
.teaching-manage-page .class-manage-filters { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 18px !important; padding: 0 !important; margin: 0 0 18px !important; background: transparent !important; border: 0 !important; }
.teaching-manage-page :is(.class-manage-filters, .student-filter-grid, .drawer-schedule-form-grid) > label { display: flex !important; flex-direction: column !important; gap: 8px !important; min-width: 0 !important; width: auto !important; margin: 0 !important; }
.teaching-manage-page :is(.class-manage-filters, .student-filter-grid, .drawer-schedule-form-grid) > label > span:first-child { color: #58708e !important; font-size: 14px !important; font-weight: 500 !important; line-height: 22px; }
.teaching-manage-page .class-manage-filters label > span .anticon { display: none; }
.teaching-manage-page .class-advanced-filters { display: grid !important; gap: 12px !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; }
.teaching-manage-page .class-filter-row { display: flex !important; gap: 20px !important; align-items: center; min-height: 32px !important; padding: 0 !important; border: 0 !important; }
.teaching-manage-page .class-filter-row > span { width: 64px !important; flex: 0 0 64px; color: #58708e !important; font-size: 14px !important; }
.teaching-manage-page .filter-chip-group { display: flex !important; flex-wrap: wrap; gap: 8px !important; }
.teaching-manage-page .filter-chip-group button { min-height: 32px !important; padding: 4px 13px !important; border: 0 !important; border-radius: 6px !important; color: #627a98 !important; background: transparent !important; font-size: 14px !important; box-shadow: none !important; }
.teaching-manage-page .filter-chip-group button.active { background: #edf5ff !important; color: #226ac5 !important; }
.teaching-manage-page .class-filter-actions { margin: 10px 0 19px !important; padding: 0 !important; min-height: 30px !important; background: transparent !important; border: 0 !important; }
.teaching-manage-page .class-filter-actions > span { font-size: 12px !important; color: #8a9bb0 !important; }
.teaching-manage-page .class-filter-actions .ui-button { min-height: 30px !important; padding: 0 9px !important; font-size: 13px !important; background: transparent !important; }
.teaching-manage-page .student-filter-grid { display: grid !important; grid-template-columns: 1.15fr 1fr .75fr 1.45fr !important; gap: 16px !important; }
.teaching-manage-page .filter-actions { margin: 16px 0 24px !important; padding: 0 !important; justify-content: flex-start !important; gap: 10px; }
.teaching-manage-page :is(.ant-input, .ant-select-selection, .ant-time-picker-input),
body:has(.teaching-manage-page) :is(.ant-modal:has(.class-form-shell), .ant-modal:has(.class-picker-shell), .user-modal-drawer) :is(.ant-input, .ant-select-selection, .ant-time-picker-input) { background: #f5f8fc !important; border: 1px solid #e5edf7 !important; border-radius: 8px !important; color: #17365d !important; font-size: 15px !important; box-shadow: none !important; }
.teaching-manage-page :is(.ant-input, .ant-time-picker-input),
body:has(.teaching-manage-page) :is(.ant-modal:has(.class-form-shell), .ant-modal:has(.class-picker-shell), .user-modal-drawer) :is(.ant-input, .ant-time-picker-input) { height: 42px !important; padding: 8px 12px !important; }
.teaching-manage-page .ant-input-affix-wrapper .ant-input { padding-right: 30px !important; }
.teaching-manage-page .ant-select-selection--single,
body:has(.teaching-manage-page) :is(.ant-modal:has(.class-form-shell), .user-modal-drawer) .ant-select-selection--single { height: 42px !important; }
.teaching-manage-page .ant-select-selection__rendered,
body:has(.teaching-manage-page) :is(.ant-modal:has(.class-form-shell), .user-modal-drawer) .ant-select-selection__rendered { margin: 0 12px !important; line-height: 40px !important; }
.teaching-manage-page :is(.ant-calendar-picker, .ant-select) { max-width: 100%; }
.teaching-manage-page .student-filter-grid :is(.ant-calendar-picker, .ant-select) { width: 100% !important; }
.teaching-manage-page .ant-calendar-range-picker-input { font-size: 14px !important; color: #17365d !important; }
.teaching-manage-page :is(.ant-input:focus, .ant-select-focused .ant-select-selection) { border-color: #82b3f6 !important; box-shadow: 0 0 0 3px #2f80ed12 !important; }
.teaching-manage-page :is(.ant-btn, .ui-button),
body:has(.teaching-manage-page) :is(.ant-modal:has(.class-form-shell), .ant-modal:has(.class-picker-shell), .user-modal-drawer) .ant-btn { height: 40px !important; min-height: 40px; border-radius: 8px !important; border: 1px solid #dce6f1 !important; background: #fff !important; color: #3f5d7e !important; box-shadow: none !important; font-size: 14px !important; padding: 0 17px !important; font-weight: 500 !important; }
.teaching-manage-page :is(.ant-btn-primary, .ui-button.primary),
body:has(.teaching-manage-page) :is(.ant-modal:has(.class-form-shell), .ant-modal:has(.class-picker-shell), .user-modal-drawer) :is(.ant-btn-primary, .drawer-submit-button) { border-color: #2f80ed !important; background: #2f80ed !important; color: #fff !important; }
.teaching-manage-page .ant-btn-link { border-color: transparent !important; background: transparent !important; color: #2872ce !important; }
.teaching-manage-page .ant-btn[disabled] { color: #a0afc0 !important; border-color: #e8eef5 !important; background: #f5f8fc !important; }
.teaching-manage-page .ant-btn > span { color: inherit !important; margin-left: 0; }
.teaching-manage-page .ant-btn > .anticon + span { margin-left: 8px; }
.teaching-manage-page :is(.class-table-heading, .student-toolbar) { display: flex !important; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 0 17px !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
.teaching-manage-page :is(.class-table-heading, .table-title) strong { font-size: 18px !important; font-weight: 600; color: #17365d !important; }
.teaching-manage-page :is(.class-table-heading, .table-title) span { color: #6b7f99 !important; font-size: 13px !important; }
.teaching-manage-page .table-title { display: flex; align-items: baseline; gap: 12px; }
.teaching-manage-page .ant-table-wrapper { border: 1px solid var(--tm-line); border-radius: 12px; overflow: hidden; }
.teaching-manage-page .ant-table { font-size: 15px !important; border-radius: 0 !important; color: #47617f !important; }
.teaching-manage-page .ant-table-thead > tr > th { background: #f5f8fc !important; border-bottom: 1px solid #e8eef5 !important; padding: 16px 14px !important; color: #69809b !important; font-size: 13px !important; font-weight: 500 !important; white-space: nowrap; }
.teaching-manage-page .ant-table-tbody > tr > td { height: 78px !important; padding: 19px 14px !important; border-bottom: 1px solid #edf1f6 !important; background: #fff !important; font-size: 15px !important; line-height: 1.5 !important; }
.teaching-manage-page .ant-table-tbody > tr:hover > td { background: #f8fbff !important; }
.teaching-manage-page :is(.student-main strong, .class-name-link) { color: #17365d !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.55; }
.teaching-manage-page .class-name-link { text-align: left; padding: 0 !important; border: 0; background: transparent; }
.teaching-manage-page .class-type-pill { background: #eef5ff !important; color: #4a77af !important; border: 0 !important; border-radius: 5px !important; padding: 4px 9px !important; font-size: 13px !important; font-weight: 400 !important; }
.teaching-manage-page :is(.class-row-actions, .row-actions) { display: flex; align-items: center; gap: 13px !important; white-space: nowrap; }
.teaching-manage-page :is(.row-action, .row-actions a) { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; min-width: 0 !important; height: auto !important; color: #2b74cd !important; font-size: 14px !important; box-shadow: none !important; }
.teaching-manage-page .row-action .anticon { display: none; }
.teaching-manage-page :is(.row-action.delete, .row-actions .ant-popover-open) { color: #bc6771 !important; }
.teaching-manage-page .row-actions .ant-divider { display: none; }
.teaching-manage-page .ant-table-pagination { margin: 18px !important; }
.teaching-manage-page .ant-pagination-item { border-radius: 7px; }
/* Use the complete main table; Ant's duplicate fixed-right table otherwise overlays narrow columns. */
.teaching-manage-page .class-list-shell .ant-table-fixed-right { display: none !important; }
.teaching-manage-page .class-list-shell .ant-table-fixed-columns-in-body { visibility: visible !important; color: #47617f !important; }
.teaching-manage-page .class-list-shell .ant-table-fixed-columns-in-body > * { visibility: visible !important; }
.teaching-manage-page .class-list-shell .ant-table-scroll { overflow: visible !important; }
.teaching-manage-page .class-list-shell .ant-table-body { overflow-x: auto !important; }
.teaching-manage-page .class-list-shell .ant-table-body > table { width: 100% !important; min-width: 910px !important; table-layout: fixed !important; }
.teaching-manage-page .class-list-shell col:last-child { width: 188px !important; min-width: 188px !important; }
.teaching-manage-page .table-shell .ant-table-content { overflow-x: auto; }
.teaching-manage-page .table-shell .ant-table-body > table { min-width: 890px; }
/* Class details and member rows */
.teaching-manage-page .class-management-page { padding: 0 !important; margin: 0 !important; max-width: none !important; background: #fff !important; }
.teaching-manage-page .class-management-page-head { margin: 0 0 22px !important; align-items: center; gap: 20px !important; }
.teaching-manage-page .class-management-page-head h1 { font-size: 23px !important; color: #17365d !important; }
.teaching-manage-page .class-management-page-head p { font-size: 14px !important; color: #6b7f99 !important; }
.teaching-manage-page .class-management-back { border: 0 !important; border-radius: 8px !important; background: #f0f6ff !important; color: #2e6bb7 !important; padding: 10px 13px !important; white-space: nowrap; }
.teaching-manage-page .class-management-basic-info { border: 1px solid #e8eef5 !important; border-radius: 12px !important; padding: 20px 22px !important; margin-bottom: 24px !important; background: #fbfcfe !important; box-shadow: none !important; }
.teaching-manage-page .class-management-basic-title { padding: 0 0 18px !important; border: 0 !important; font-size: 17px !important; color: #17365d !important; }
.teaching-manage-page .class-management-basic-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 17px 24px !important; padding: 0 !important; font-size: 14px !important; line-height: 1.6; }
.teaching-manage-page .class-management-basic-grid > span { display: flex; flex-direction: column; gap: 5px; color: #294668 !important; overflow-wrap: anywhere; }
.teaching-manage-page .class-management-basic-grid strong { font-weight: 400 !important; color: #7b8da4 !important; font-size: 12px !important; }
.teaching-manage-page .class-management-content { background: #fff !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.teaching-manage-page .class-management-tabs { padding: 0 !important; gap: 27px !important; border-bottom: 1px solid #e8eef5 !important; background: #fff !important; }
.teaching-manage-page .class-management-tabs button { border: 0 !important; border-bottom: 3px solid transparent !important; background: transparent !important; border-radius: 0 !important; padding: 0 2px 14px !important; margin: 0 !important; font-size: 16px !important; color: #6b7f99 !important; }
.teaching-manage-page .class-management-tabs button.active { border-bottom-color: #2f80ed !important; color: #226ac5 !important; }
.teaching-manage-page :is(.class-page-members, .class-page-schedule) { padding: 22px 0 !important; }
.teaching-manage-page :is(.class-page-section-head, .class-page-schedule-head) { margin-bottom: 18px !important; gap: 18px !important; }
.teaching-manage-page :is(.class-page-section-head, .class-page-schedule-head) strong { font-size: 18px !important; color: #17365d !important; }
.teaching-manage-page :is(.class-page-section-head, .class-page-schedule-head) > div:first-child > span { font-size: 13px !important; color: #7b8da4 !important; }
.teaching-manage-page .class-page-members .member-list { display: grid !important; grid-template-columns: 1fr !important; gap: 0 !important; margin: 0 !important; border: 1px solid #e8eef5; border-radius: 12px; overflow: hidden; }
.teaching-manage-page .class-page-members .member-card { display: grid !important; grid-template-columns: minmax(160px,1fr) minmax(200px,1.25fr) auto !important; align-items: center; gap: 18px !important; min-height: 88px; padding: 18px 20px !important; border: 0 !important; border-bottom: 1px solid #edf1f6 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
.teaching-manage-page .class-page-members .member-card:last-child { border-bottom: 0 !important; }
.teaching-manage-page .member-avatar { width: 40px !important; height: 40px !important; border-radius: 12px !important; color: #2f75ca !important; background: #edf5ff !important; box-shadow: none !important; }
.teaching-manage-page .member-copy strong { font-size: 16px !important; color: #17365d !important; }
.teaching-manage-page .member-copy span { font-size: 13px !important; color: #8494aa !important; }
.teaching-manage-page .class-page-members .member-card-meta { margin: 0 !important; padding: 0 !important; border: 0 !important; color: #647c99 !important; font-size: 14px !important; }
.teaching-manage-page .class-page-members .member-card-actions { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.teaching-manage-page .class-page-members .member-card-actions .ant-btn { background: transparent !important; border: 0 !important; color: #af6572 !important; }
/* Scheduling remains inline, including every original field and live preview. */
.teaching-manage-page .class-page-schedule-actions { display: flex; flex-wrap: wrap; gap: 8px !important; }
.teaching-manage-page .class-page-schedule-filters { display: flex; flex-wrap: wrap; gap: 12px; padding: 16px !important; margin-bottom: 18px; border-radius: 10px; background: #f7faff !important; }
.teaching-manage-page .class-page-schedule-filters > .ant-input { flex: 1 1 180px; width: auto !important; }
.teaching-manage-page .class-page-inline-schedule-panel { margin: 0 0 24px !important; border: 1px solid #dce8f6 !important; border-radius: 12px !important; overflow: hidden; background: #fbfdff !important; }
.teaching-manage-page .drawer-schedule-panel-head { padding: 20px 22px !important; background: #f3f8ff !important; border-bottom: 1px solid #e3edf7 !important; }
.teaching-manage-page .drawer-schedule-panel-head strong { font-size: 18px !important; color: #17365d !important; }
.teaching-manage-page .drawer-schedule-panel-head span { font-size: 13px !important; color: #7b8da4 !important; }
.teaching-manage-page .drawer-schedule-form-grid { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 20px 24px !important; padding: 22px !important; }
.teaching-manage-page .drawer-schedule-form-grid > label:first-child { grid-column: 1 / -1 !important; }
.teaching-manage-page .drawer-schedule-form-grid > label > :is(.ant-select,.ant-calendar-picker) { width: 100% !important; }
.teaching-manage-page .drawer-time-pair { display: grid !important; grid-template-columns: minmax(112px,1fr) 24px minmax(112px,1fr) !important; align-items: center; gap: 8px !important; width: 100% !important; min-width: 0 !important; }
.teaching-manage-page .drawer-time-pair > .ant-select { width: 100% !important; min-width: 112px !important; flex: none !important; }
.teaching-manage-page .drawer-time-pair em { text-align: center; color: #8392a7 !important; font-style: normal; }
.teaching-manage-page .drawer-time-pair .ant-select-selection__rendered { margin: 0 34px 0 14px !important; min-width: 64px; }
.teaching-manage-page .drawer-time-pair .ant-select-selection-selected-value { width: auto !important; max-width: none !important; padding: 0 !important; overflow: visible !important; font-size: 17px !important; font-variant-numeric: tabular-nums; letter-spacing: .4px; text-overflow: clip !important; }
.teaching-manage-page .drawer-weekday-field { grid-column: 1 / -1 !important; }
.teaching-manage-page .drawer-weekday-options { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; padding: 0 !important; margin: 0 !important; }
.teaching-manage-page .drawer-weekday-chip { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; padding: 10px 14px !important; margin: 0 !important; min-width: 77px !important; min-height: 42px; border: 1px solid #e0e9f4 !important; border-radius: 8px !important; background: #fff !important; cursor: pointer; }
.teaching-manage-page .drawer-weekday-chip:has(input:checked) { border-color: #9cc1f4 !important; background: #edf5ff !important; color: #236cc7 !important; }
.teaching-manage-page .drawer-weekday-chip input { position: static !important; appearance: auto !important; opacity: 1 !important; width: 16px !important; height: 16px !important; margin: 0 !important; accent-color: #2f80ed; flex: 0 0 16px; }
.teaching-manage-page .drawer-weekday-chip span { font-size: 14px !important; line-height: 20px; }
.teaching-manage-page .drawer-schedule-preview { margin: 0 22px 22px !important; padding: 0 !important; border: 1px solid #e3ebf5 !important; border-radius: 9px !important; background: #fff !important; overflow-x: auto; }
.teaching-manage-page .drawer-modal-preview-title { padding: 16px 18px !important; margin: 0 !important; color: #17365d; display: flex; justify-content: space-between; gap: 14px; }
.teaching-manage-page .drawer-modal-preview-title strong { font-size: 16px !important; }
.teaching-manage-page .drawer-modal-preview-title span { font-size: 13px !important; color: #7287a0; }
.teaching-manage-page .drawer-schedule-preview > span { display: block; padding: 18px; color: #7b8da4; font-size: 14px; }
.teaching-manage-page .drawer-preview-table { min-width: 640px; max-height: 360px !important; overflow-y: auto !important; border: 0 !important; }
.teaching-manage-page .drawer-preview-row { display: grid !important; grid-template-columns: 56px minmax(150px,1.8fr) 132px 86px 150px !important; gap: 12px !important; min-height: 55px !important; align-items: center; padding: 12px 18px !important; color: #43607f !important; border-top: 1px solid #edf1f6 !important; font-size: 14px !important; }
.teaching-manage-page .drawer-preview-header { position: sticky; top: 0; z-index: 1; background: #f5f8fc !important; color: #6b819b !important; font-size: 13px !important; font-weight: 500 !important; }
.teaching-manage-page .drawer-preview-row > span:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }
.teaching-manage-page .drawer-schedule-panel-actions { padding: 16px 22px !important; margin: 0 !important; background: #fff !important; border-top: 1px solid #e8eef5 !important; gap: 10px !important; }
.teaching-manage-page .class-page-schedule-table-wrap { overflow-x: auto !important; border: 1px solid #e8eef5 !important; border-radius: 12px !important; }
.teaching-manage-page .class-page-schedule-table { min-width: 1140px !important; width: 100%; border-collapse: collapse; background: #fff !important; }
.teaching-manage-page .class-page-schedule-table th { height: 49px; padding: 14px 12px !important; color: #6b819b !important; font-size: 13px !important; font-weight: 500 !important; background: #f5f8fc !important; white-space: nowrap; }
.teaching-manage-page .class-page-schedule-table td { height: 88px; padding: 17px 12px !important; border-top: 1px solid #edf1f6 !important; color: #46617f !important; font-size: 14px !important; }
.teaching-manage-page .class-page-schedule-table td strong { font-size: 16px !important; color: #17365d !important; font-weight: 600 !important; }
.teaching-manage-page .class-page-course-name { color: #8192aa !important; font-size: 12px !important; margin-top: 5px; }
.teaching-manage-page :is(.class-page-lesson-date,.class-page-lesson-time) { display: block; white-space: nowrap; font-variant-numeric: tabular-nums; font-size: 14px !important; line-height: 1.7; }
.teaching-manage-page .class-page-lesson-time { color: #6b819b !important; }
.teaching-manage-page .class-page-cover { width: 54px !important; height: 42px !important; border-radius: 7px !important; overflow: hidden; background: #edf5ff !important; color: #3179cb !important; }
.teaching-manage-page .drawer-schedule-status { border: 0 !important; border-radius: 5px !important; font-size: 12px !important; padding: 5px 8px !important; white-space: nowrap; }
.teaching-manage-page .drawer-schedule-status.planned { background: #edf5ff !important; color: #3478cb !important; }
.teaching-manage-page .drawer-schedule-status.locked { background: #f1f4f8 !important; color: #7a8da5 !important; }
.teaching-manage-page .drawer-row-actions { display: flex; gap: 3px; white-space: nowrap; }
.teaching-manage-page .drawer-row-actions .ant-btn { min-height: 32px !important; height: 32px !important; padding: 0 6px !important; font-size: 13px !important; }
.teaching-manage-page .drawer-row-actions .ant-btn[disabled] { border-color: transparent !important; background: transparent !important; }
/* Shared dialogs are styled only while this route is mounted. */
body:has(.teaching-manage-page) .ant-modal:has(:is(.class-form-shell,.class-picker-shell)) .ant-modal-content { border-radius: 15px !important; overflow: hidden; box-shadow: 0 20px 65px #16335826 !important; }
body:has(.teaching-manage-page) .ant-modal:has(:is(.class-form-shell,.class-picker-shell)) :is(.ant-modal-header,.ant-modal-footer) { background: #fff !important; border-color: #e8eef5 !important; padding: 20px 26px !important; }
body:has(.teaching-manage-page) .ant-modal:has(:is(.class-form-shell,.class-picker-shell)) .ant-modal-title { font-size: 21px !important; color: #17365d !important; font-weight: 600; }
body:has(.teaching-manage-page) .ant-modal:has(:is(.class-form-shell,.class-picker-shell)) .ant-modal-body { padding: 24px 28px !important; max-height: calc(100vh - 240px); overflow-y: auto; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .class-form-shell { padding: 0 !important; margin: 0 !important; background: #fff !important; border: 0 !important; border-radius: 0 !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .class-form-head { display: none; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .ant-form-item { margin-bottom: 19px !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .ant-form-item-label { text-align: left !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .ant-form-item-label label { color: #5d7592 !important; font-size: 14px !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .class-time-row { display: grid !important; grid-template-columns: minmax(130px,1fr) 24px minmax(130px,1fr) !important; gap: 8px !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .class-time-picker { width: 100% !important; min-width: 130px !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .ant-time-picker-input { padding-right: 32px !important; font-size: 17px !important; font-variant-numeric: tabular-nums; }
body:has(.teaching-manage-page) .user-modal-drawer .ant-drawer-content { background: #fff !important; }
body:has(.teaching-manage-page) .user-modal-drawer .ant-drawer-header { padding: 23px 28px !important; background: #fff !important; border-bottom: 1px solid #e8eef5 !important; }
body:has(.teaching-manage-page) .user-modal-drawer .drawer-title-row strong { color: #17365d !important; font-size: 22px !important; }
body:has(.teaching-manage-page) .user-modal-drawer .ant-drawer-body { padding: 26px 28px 100px !important; }
body:has(.teaching-manage-page) .user-modal-drawer .ant-form { background: #fff !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
body:has(.teaching-manage-page) .user-modal-drawer .ant-form-item { margin-bottom: 21px !important; }
body:has(.teaching-manage-page) .user-modal-drawer .ant-form-item-label { text-align: left; }
body:has(.teaching-manage-page) .user-modal-drawer .ant-form-item-label label { color: #5d7592 !important; font-size: 14px !important; }
body:has(.teaching-manage-page) .user-modal-drawer .password-tip { color: #8999ad; font-size: 12px; line-height: 1.7; }
body:has(.teaching-manage-page) .user-modal-drawer .drawer-bootom-button { border-top: 1px solid #e8eef5 !important; background: #fff !important; box-shadow: none !important; padding: 17px 28px !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-picker-head { background: transparent !important; padding: 0 0 20px !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-picker-title { font-size: 17px; color: #17365d; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-picker-subtitle { font-size: 13px; color: #7b8fa8; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-picker-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-card { padding: 16px 18px !important; border: 1px solid #e4ebf5 !important; border-radius: 9px !important; background: #fff !important; box-shadow: none !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-card.active { border-color: #8db9f4 !important; background: #f0f7ff !important; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-card-name { font-size: 16px; color: #17365d; }
body:has(.teaching-manage-page) .ant-modal:has(.class-picker-shell) .class-card-meta { color: #7b8fa8; font-size: 12px; }
body:has(.teaching-manage-page) :is(.ant-select-dropdown,.ant-calendar,.ant-time-picker-panel-inner,.ant-popover-inner) { border-radius: 9px !important; box-shadow: 0 8px 30px #1633581c !important; }
body:has(.teaching-manage-page) .ant-select-dropdown-menu-item { min-height: 38px; padding: 9px 13px; font-size: 14px; color: #385778; }
body:has(.teaching-manage-page) .ant-select-dropdown-menu-item-selected { background: #edf5ff !important; color: #276bc0 !important; }
body:has(.teaching-manage-page) .ant-popover-message { font-size: 14px; padding: 14px 0; }
body:has(.teaching-manage-page) .ant-popover-buttons button { border-radius: 6px; }
/* Override earlier global control skins without affecting other page routes. */
.teaching-manage-page .manage-main :is(.class-filter-tabs,.student-list-tabs) { border: 0 !important; border-bottom: 1px solid #e8eef5 !important; border-radius: 0 !important; background: transparent !important; }
.teaching-manage-page .manage-main :is(.class-filter-tabs,.student-list-tabs,.class-management-tabs) button,
.teaching-manage-page .manage-main :is(.class-filter-tabs,.student-list-tabs,.class-management-tabs) button.active { background: transparent !important; border-color: transparent !important; border-radius: 0 !important; color: #6b7f99 !important; box-shadow: none !important; }
.teaching-manage-page .manage-main :is(.class-filter-tabs,.student-list-tabs,.class-management-tabs) button.active { color: #226ac5 !important; }
.teaching-manage-page .manage-main .class-management-tabs button.active { border-bottom-color: #2f80ed !important; }
.teaching-manage-page .manage-main .filter-chip-group button { background: transparent !important; border-color: transparent !important; color: #627a98 !important; }
.teaching-manage-page .manage-main .filter-chip-group button.active { background: #edf5ff !important; border-color: transparent !important; color: #226ac5 !important; }
.teaching-manage-page .manage-main :is(.row-actions,.class-row-actions) { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
/* Keep real form validation, disabled fields and keyboard focus visible. */
body:has(.teaching-manage-page) :is(.teaching-manage-page,.ant-modal:has(.class-form-shell),.ant-modal:has(.class-picker-shell),.user-modal-drawer) :is(.ant-input:focus,.ant-time-picker-input:focus,.ant-select-focused .ant-select-selection) { border-color: #82b3f6 !important; box-shadow: 0 0 0 3px #2f80ed12 !important; }
body:has(.teaching-manage-page) :is(.teaching-manage-page,.ant-modal:has(.class-form-shell),.ant-modal:has(.class-picker-shell),.user-modal-drawer) .has-error :is(.ant-input,.ant-select-selection,.ant-time-picker-input) { border-color: #dc6972 !important; background: #fffafb !important; }
body:has(.teaching-manage-page) :is(.teaching-manage-page,.ant-modal:has(.class-form-shell),.ant-modal:has(.class-picker-shell),.user-modal-drawer) .has-error .ant-form-explain { color: #bf4352 !important; font-size: 13px; }
body:has(.teaching-manage-page) :is(.teaching-manage-page,.ant-modal:has(.class-form-shell),.ant-modal:has(.class-picker-shell),.user-modal-drawer) :is(.ant-input[disabled],.ant-time-picker-input[disabled],.ant-select-disabled .ant-select-selection,.ant-btn[disabled]) { background: #f0f3f7 !important; border-color: #e5eaf1 !important; color: #94a2b4 !important; cursor: not-allowed !important; box-shadow: none !important; }
body:has(.teaching-manage-page) :is(.teaching-manage-page,.ant-modal:has(.class-form-shell),.ant-modal:has(.class-picker-shell),.user-modal-drawer) button:focus-visible { outline: 3px solid #8ab8f5; outline-offset: 3px; }
@media (max-width: 1100px) {
  .teaching-manage-page .manage-layout { grid-template-columns: 148px minmax(0,1fr) !important; }
  .teaching-manage-page .manage-main { padding: 22px 20px !important; }
  .teaching-manage-page .student-filter-grid { grid-template-columns: 1fr 1fr !important; }
  .teaching-manage-page .class-page-schedule-head { flex-wrap: wrap !important; }
  .teaching-manage-page .drawer-schedule-form-grid { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 767px) {
  .teaching-manage-page .manage-topbar { padding: 0 16px !important; }
  .teaching-manage-page .teacher-identity { display: none; }
  .teaching-manage-page .brand-button em { display: none; }
  .teaching-manage-page .home-button { font-size: 13px; padding: 0 10px; }
  .teaching-manage-page .manage-layout { display: block !important; }
  .teaching-manage-page .manage-sidebar { padding: 10px 16px !important; }
  .teaching-manage-page .sidebar-heading { display: none; }
  .teaching-manage-page .manage-sidebar nav { display: flex !important; margin: 0 !important; gap: 10px; }
  .teaching-manage-page .manage-sidebar nav button { flex: 1; }
  .teaching-manage-page .manage-main { padding: 22px 16px !important; }
  .teaching-manage-page .page-heading h1 { font-size: 24px !important; }
  .teaching-manage-page .page-scope { display: none; }
  .teaching-manage-page :is(.student-filter-grid,.class-manage-filters) { grid-template-columns: minmax(0,1fr) !important; }
  .teaching-manage-page .class-filter-row { align-items: flex-start !important; gap: 10px !important; }
  .teaching-manage-page .filter-chip-group { gap: 5px !important; }
  .teaching-manage-page .filter-chip-group button { padding: 4px 10px !important; }
  .teaching-manage-page .class-management-page-head { flex-wrap: wrap; }
  .teaching-manage-page .class-management-basic-grid { grid-template-columns: 1fr 1fr !important; }
  .teaching-manage-page .class-page-members .member-card { grid-template-columns: minmax(0,1fr) auto !important; padding: 16px !important; }
  .teaching-manage-page .class-page-members .member-card-meta { grid-column: 1; grid-row: 2; }
  .teaching-manage-page .class-page-members .member-card-actions { grid-column: 2; grid-row: 1 / 3; }
  .teaching-manage-page .drawer-schedule-form-grid { padding: 18px 14px !important; }
  .teaching-manage-page .drawer-time-pair { grid-template-columns: minmax(96px,1fr) 18px minmax(96px,1fr) !important; gap: 5px !important; }
  .teaching-manage-page .drawer-time-pair > .ant-select { min-width: 96px !important; }
  .teaching-manage-page .drawer-time-pair .ant-select-selection__rendered { margin-left: 9px !important; margin-right: 24px !important; min-width: 60px !important; }
  .teaching-manage-page .drawer-schedule-preview { margin: 0 14px 18px !important; }
  .teaching-manage-page .drawer-modal-preview-title { flex-wrap: wrap; }
  body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .class-time-row { grid-template-columns: minmax(104px,1fr) 18px minmax(104px,1fr) !important; }
  body:has(.teaching-manage-page) .ant-modal:has(.class-form-shell) .class-time-picker { min-width: 104px !important; }
}
