.full-list-heading{display:flex;justify-content:space-between;padding:4px 2px 14px;border-bottom:1px solid #e7edf5;color:#72829a}.full-task-list .task-row{padding:20px 8px}.full-task-list .task-row:last-child{border-bottom:0}.modal-backdrop{position:fixed;inset:0;background:#10244280;display:grid;place-items:center;z-index:20;padding:20px}.modal{width:min(440px,100%);background:#fff;border-radius:18px;padding:26px;box-shadow:0 20px 60px #071b3b40}.modal h2{margin:0 0 20px;font-size:22px}.modal-body{color:#60718a;line-height:1.7}.modal-body label{display:block;color:#273b5c;font-weight:600;margin:12px 0}.modal-body input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #d7e1ee;border-radius:9px;font:inherit;color:#253a5c}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal-actions .primary-button,.modal-actions .danger-button{margin-top:0}.modal-body p{margin:0}
.timetable-card{background:#fbfcff;border-radius:24px;padding:26px 24px 20px}.card-toolbar{align-items:center;margin:0 4px 24px;flex-wrap:wrap}.card-toolbar h2{font-size:24px;letter-spacing:.3px}.toolbar-actions{gap:12px}.toolbar-actions label{display:flex;align-items:center;gap:8px}.toolbar-actions select{padding:10px 14px;border-radius:11px}.filled-status{background:#e8f3ff;color:#448adf;border-radius:10px;padding:11px 14px;font-weight:600;font-size:14px}.timetable-wrap{border:0;border-radius:16px;background:#f3f6fc;padding:15px;box-shadow:inset 0 0 0 1px #edf1f8}.timetable{border-spacing:10px 10px;min-width:1040px}.timetable th,.timetable td{border:0;padding:0}.timetable th{height:54px;background:#fff;border-radius:17px;color:#66738a;font-size:20px;box-shadow:0 5px 12px #28446d0b}.timetable th:first-child{width:165px;background:transparent;box-shadow:none;text-align:left;padding-left:12px;font-size:16px}.timetable td:first-child{background:#fff;border-radius:17px;padding:14px 18px;box-shadow:0 5px 12px #28446d0b}.period-name{font-size:17px;color:#1e2d4b}.period-time{font-size:14px;color:#96a1b2;margin-top:7px}.lesson-cell{min-height:78px;border-radius:17px!important;padding:16px 10px!important;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:19px;font-weight:700;box-shadow:0 6px 13px #28446d0b;transition:transform .15s,box-shadow .15s}.lesson-cell:hover{outline:0;transform:translateY(-2px);box-shadow:0 9px 18px #28446d1c}.lesson-cell small{font-size:15px;margin-top:7px;font-weight:400}.lesson-cell.empty{background:#fff!important;color:#bec6d2!important;font-size:29px;font-weight:400}.subject-chinese{background:#ffe2ea!important;color:#df6888!important}.subject-math{background:#dfeaff!important;color:#5c82d0!important}.subject-english{background:#fff0c8!important;color:#d1a133!important}.subject-physics{background:#d9f5ee!important;color:#3db29c!important}.subject-chemistry{background:#ece5ff!important;color:#8068cf!important}.subject-politics{background:#ffead6!important;color:#ca854d!important}.subject-geography{background:#dceffc!important;color:#4d91bd!important}.subject-biology{background:#e2f5dc!important;color:#5ca94d!important}.subject-other{background:#e7effa!important;color:#4e78aa!important}.table-tip{padding:0 8px;margin-top:9px}.danger-button{padding:11px 14px}.outline-button{padding:11px 14px}@media print{.sidebar,.topbar,.page-heading,.table-tip{display:none!important}.main-content{padding:0}.page{padding:0!important}.timetable-card{box-shadow:none;border:0}.timetable-wrap{padding:0;background:#fff}.timetable{min-width:0}.timetable th,.timetable td:first-child,.lesson-cell{box-shadow:none!important}}
.timetable-grid{display:grid;grid-template-columns:165px repeat(5,minmax(135px,1fr));gap:10px;min-width:1040px}.grid-header{height:54px;background:#fff;border-radius:17px;display:grid;place-items:center;color:#66738a;font-size:20px;font-weight:700;box-shadow:0 5px 12px #28446d0b}.grid-header.period-header{background:transparent;box-shadow:none;place-items:center start;padding-left:12px;font-size:16px}.grid-period{min-height:78px;background:#fff;border-radius:17px;padding:14px 18px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 5px 12px #28446d0b}.timetable-grid .lesson-cell{min-height:78px}.timetable-grid .lesson-cell.empty{display:grid;place-items:center}
.grid-header.today-column{background:#e7f2ff;color:#2477e6;box-shadow:0 0 0 2px #9bc9ff inset,0 5px 12px #28446d0b}.today-badge{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;background:#2477e6;color:#fff;font-size:11px;line-height:1;font-weight:600;vertical-align:middle}
.homework-list-card{padding:26px 30px}.list-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #e8eef6}.list-heading h2{margin:0;font-size:21px}.list-heading span{font-size:14px;color:#8190a5}.homework-row{width:100%;display:grid;grid-template-columns:70px minmax(260px,1fr) 150px 130px 70px;align-items:center;gap:16px;border:0;border-bottom:1px solid #edf1f6;background:#fff;text-align:left;padding:20px 8px;color:#253858;font:inherit;cursor:pointer}.homework-row:hover{background:#f7fbff}.subject-tag{justify-self:start;border-radius:9px;padding:7px 12px;background:#e6f1ff;color:#347bd0;font-size:14px;font-weight:700}.homework-title{font-weight:600}.homework-due,.homework-status{font-size:14px;color:#7c8ba0}.homework-edit{color:#2778dc;font-size:14px;text-align:right}.modal-body select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #d7e1ee;border-radius:9px;font:inherit;color:#253a5c;background:#fff}
.account-area{border:0;background:transparent;font:inherit;cursor:pointer;padding:5px 0}.account-area:hover{opacity:.8}.homework-tabs{display:flex;gap:8px;margin:-4px 0 24px;border-bottom:1px solid #e8eef6}.homework-tab{border:0;background:transparent;color:#75849a;font:inherit;font-size:15px;padding:10px 18px 13px;cursor:pointer;border-bottom:3px solid transparent}.homework-tab.active{color:#1f73da;border-bottom-color:#247bea;font-weight:700}.page-actions{display:flex;gap:10px;align-items:center}.student-import-card{display:flex;align-items:center;gap:22px;padding:28px 30px;margin-bottom:18px}.import-icon{height:58px;width:58px;border-radius:16px;background:#e8f2ff;color:#2477e6;display:grid;place-items:center;font-size:30px}.student-import-card h2{margin:0 0 8px}.student-import-card p{margin:0;color:#75849a}.import-help{margin-top:9px;color:#99a5b5;font-size:13px}.student-import-card .outline-button{margin-left:auto;white-space:nowrap}.student-list-card{padding:26px 30px}.student-empty{text-align:center;color:#8b99aa;padding:42px 12px;font-size:15px}
.account-area{cursor:default}.account-area:hover{opacity:1}.edit-name-button{border:1px solid #d6e2f1;background:#fff;color:#2876d2;border-radius:7px;padding:5px 9px;font:inherit;font-size:12px;cursor:pointer}.edit-name-button:hover{background:#eef6ff}.class-name-input{width:92px;border:1px solid #dce5f0;background:#fff;color:#243756;border-radius:9px;padding:10px 12px;font:inherit}.timetable-wrap{overflow:hidden}.timetable-grid{grid-template-columns:110px repeat(5,minmax(0,1fr));min-width:0;gap:8px}.grid-header{height:46px;font-size:17px;border-radius:13px}.grid-period{min-height:57px;padding:8px 10px;border-radius:13px}.period-name{font-size:15px}.period-time{font-size:11px;margin-top:4px}.timetable-grid .lesson-cell{min-height:57px;padding:9px 6px!important;border-radius:13px!important;font-size:16px}.lesson-cell small{font-size:12px;margin-top:4px}.timetable-card{padding:20px 16px 14px}.card-toolbar{margin-bottom:14px;gap:12px}.card-toolbar h2{font-size:20px}.toolbar-actions{gap:7px}.outline-button,.danger-button{padding:8px 10px;font-size:13px}.filled-status{padding:9px 10px;font-size:12px}.page{padding-top:24px}.page-heading{margin-bottom:18px}
.backup-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.backup-status-card,.backup-action-card{min-height:190px;padding:30px;display:flex;align-items:center;gap:20px}.backup-status-card h2,.backup-action-card h2{margin:0 0 8px}.backup-status-card p,.backup-action-card p{margin:0 0 12px;color:#7787a0}.backup-status-card span{font-size:13px;color:#2b8a60}.backup-icon{width:58px;height:58px;border-radius:18px;background:#e3f6e9;color:#15945b;display:grid;place-items:center;font-size:32px;font-weight:700;flex:0 0 auto}.backup-action-card{display:block}.backup-action-card .outline-button{margin-top:10px}.backup-note{padding:18px 24px;margin-top:18px;display:flex;gap:14px;color:#6e7e95}.backup-note strong{color:#254267}.backup-security-note{padding:22px 24px;margin-top:18px;background:#f8fbff;border-color:#dfeaf6}.backup-security-note h2{margin:0 0 12px;color:#254267;font-size:18px}.backup-security-note p{margin:8px 0;color:#667993;line-height:1.7;font-size:13px}.backup-security-note .backup-security-warning{color:#a56c18;font-weight:600}
body{min-width:0}.main-content{min-width:0}
#timetablePage{height:calc(100vh - 76px);min-height:0;overflow:hidden;padding-top:20px}#timetablePage .page-heading{margin-bottom:10px;align-items:center}#timetablePage .page-heading h1{font-size:32px;white-space:nowrap}#timetablePage .page-heading p{font-size:13px}#timetablePage .content-card{height:calc(100% - 88px);min-height:0;display:flex;flex-direction:column;overflow:hidden}#timetablePage .timetable-wrap{flex:1;min-height:0;overflow:hidden}#timetablePage .timetable-grid{height:100%;grid-template-rows:repeat(9,minmax(0,1fr))}#timetablePage .grid-header,#timetablePage .grid-period,#timetablePage .timetable-grid .lesson-cell{min-height:0;height:100%}
.timetable-mode{overflow:hidden!important}.timetable-mode .app-shell{height:100vh;min-height:0;overflow:hidden}.timetable-mode .main-content{height:100vh;padding-bottom:0;overflow:hidden}.timetable-mode #timetablePage{overflow:hidden}
@media(max-width:900px){.sidebar{width:190px;flex-basis:190px;padding-left:10px;padding-right:10px}.brand{padding-left:8px;padding-right:8px}.brand-name{font-size:17px}.nav-item{font-size:14px;padding:12px 10px}.main-content{padding-left:14px;padding-right:14px}.page-heading{flex-direction:column;align-items:flex-start;gap:12px}.page-heading h1{font-size:32px;white-space:nowrap}.term-select{width:100%;min-width:0}.card-toolbar{align-items:flex-start}.card-toolbar h2{width:100%;font-size:19px}.toolbar-actions{width:100%;flex-wrap:wrap}.timetable-grid{grid-template-columns:82px repeat(5,minmax(0,1fr));gap:5px}.grid-header{font-size:14px;border-radius:10px}.grid-period{min-height:54px;padding:7px 5px;border-radius:10px}.period-name{font-size:13px}.period-time{font-size:10px}.timetable-grid .lesson-cell{min-height:54px;padding:7px 3px!important;border-radius:10px!important;font-size:12px}.lesson-cell small{font-size:10px;margin-top:3px}.today-badge{font-size:9px;padding:2px 4px;margin-left:2px}.class-name-input{width:78px}.timetable-card{padding:15px 10px 12px}.timetable-wrap{padding:8px}.homework-row{grid-template-columns:56px minmax(150px,1fr) 96px 82px 48px;gap:7px;padding:15px 4px;font-size:13px}.homework-due,.homework-status,.homework-edit{font-size:11px}#timetablePage{height:calc(100vh - 52px);padding-top:10px}#timetablePage .page-heading{gap:4px;margin-bottom:6px;flex-direction:row;align-items:center}#timetablePage .page-heading h1{font-size:26px;flex:0 0 auto}#timetablePage .page-heading p{font-size:11px;line-height:1.15}#timetablePage .content-card{height:calc(100% - 68px);padding:10px 8px 7px}#timetablePage .card-toolbar{gap:4px;margin-bottom:5px}#timetablePage .card-toolbar h2{font-size:15px}#timetablePage .toolbar-actions{width:100%;gap:4px}.timetable-grid{grid-template-columns:68px repeat(5,minmax(0,1fr));gap:3px}.grid-header{height:auto;font-size:11px}.grid-period,.timetable-grid .lesson-cell{height:auto}.period-name{font-size:11px}.period-time{font-size:8px}.timetable-grid .lesson-cell{font-size:10px}.lesson-cell small{font-size:8px}}
@media(max-width:900px){.backup-grid{grid-template-columns:1fr}.backup-status-card,.backup-action-card{min-height:0;padding:22px}.backup-note{font-size:13px}}
@media(max-width:900px) and (max-height:700px){.topbar{height:52px}.page{padding-top:12px}.page-heading{gap:5px;margin-bottom:8px}.page-heading h1{font-size:26px;margin-bottom:3px}.page-heading p{font-size:12px;line-height:1.2}.timetable-card{padding:10px 8px 8px}.card-toolbar{margin-bottom:7px;gap:5px}.card-toolbar h2{font-size:16px}.toolbar-actions{gap:4px}.filled-status,.class-name-input,.outline-button,.danger-button{padding:6px 7px;font-size:10px}.timetable-wrap{padding:4px}.timetable-grid{grid-template-columns:68px repeat(5,minmax(0,1fr));gap:3px}.grid-header{height:32px;font-size:11px}.grid-period,.timetable-grid .lesson-cell{min-height:38px;border-radius:7px!important}.grid-period{padding:4px}.period-name{font-size:11px}.period-time{font-size:8px;margin-top:2px}.timetable-grid .lesson-cell{padding:4px 2px!important;font-size:10px}.lesson-cell small{font-size:8px;margin-top:1px}.table-tip{font-size:10px;margin-top:4px}}
/* 课程表紧凑布局：减少标题区占用，把空间留给课程格 */
#timetablePage .page-heading{padding-top:0;margin-bottom:6px;gap:10px}
#timetablePage .page-heading p{font-size:12px;line-height:1.2}
#timetablePage .timetable-card{padding-top:14px}
#timetablePage .card-toolbar{margin-bottom:9px;gap:8px}
#timetablePage .timetable-wrap{padding:8px}
#timetablePage .timetable-grid{gap:7px}
.holiday-label{display:block;margin-top:3px;font-size:11px;font-weight:700;color:#d56b5f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-header[data-holiday-index]{cursor:pointer}.grid-header[data-holiday-index]:hover{color:#247bea}
.grid-header{display:flex;align-items:center;justify-content:center;white-space:nowrap}.grid-header .holiday-label{margin-left:5px;margin-top:0}.grid-header.today-column .today-badge{order:2}
#timetablePage .grid-header{height:42px}
#timetablePage .grid-period,#timetablePage .timetable-grid .lesson-cell{min-height:68px}
#timetablePage .grid-period{padding:10px 12px}
#timetablePage .timetable-grid .lesson-cell{padding:10px 5px!important}
@media(max-width:900px){
  #timetablePage{padding-top:4px}
  #timetablePage .page-heading{margin-bottom:3px;gap:5px}
  #timetablePage .page-heading p{display:none}
  #timetablePage .page-heading h1{font-size:24px;margin-bottom:0}
  #timetablePage .timetable-card{padding:7px 6px 5px}
  #timetablePage .card-toolbar{margin-bottom:4px;gap:3px}
  #timetablePage .card-toolbar h2{font-size:14px}
  #timetablePage .toolbar-actions{gap:3px}
  #timetablePage .timetable-wrap{padding:3px}
  #timetablePage .timetable-grid{gap:3px}
  #timetablePage .grid-header{height:30px}
  #timetablePage .grid-period,#timetablePage .timetable-grid .lesson-cell{min-height:44px}
  #timetablePage .grid-period{padding:4px 3px}
  #timetablePage .timetable-grid .lesson-cell{padding:5px 2px!important}
  #timetablePage .table-tip{margin-top:2px}
}
.homework-mode{overflow:hidden!important}.homework-mode .app-shell{height:100vh;min-height:0;overflow:hidden}.homework-mode .main-content{height:100vh;padding-bottom:0;overflow:hidden}

/* 按参考图恢复可读尺寸：课程格不再被强行压扁 */
#timetablePage .timetable-grid{height:auto;grid-template-rows:none}
#timetablePage .grid-header{height:54px;font-size:20px}
#timetablePage .grid-period,#timetablePage .timetable-grid .lesson-cell{height:78px;min-height:78px}
#timetablePage .grid-period{padding:14px 18px}
#timetablePage .timetable-grid .lesson-cell{padding:16px 10px!important;font-size:19px}
#timetablePage .timetable-grid .lesson-cell small{font-size:15px;margin-top:7px}
@media(max-width:900px){
  #timetablePage .timetable-grid{height:auto;grid-template-rows:none}
  #timetablePage .timetable-grid{grid-template-columns:76px repeat(5,minmax(0,1fr));min-width:0;gap:5px}
  #timetablePage .grid-header{height:42px;font-size:15px}
  #timetablePage .grid-period,#timetablePage .timetable-grid .lesson-cell{height:58px;min-height:58px}
  #timetablePage .grid-period{padding:8px 6px}
  #timetablePage .timetable-grid .lesson-cell{padding:7px 2px!important;font-size:14px}
  #timetablePage .timetable-grid .lesson-cell small{font-size:10px;margin-top:4px}
}

/* 无论窗口大小，都保留完整的周一至周五五列 */
#timetablePage .timetable-grid{grid-template-columns:120px repeat(5,minmax(0,1fr));min-width:0}
@media(max-width:900px){#timetablePage .timetable-grid{grid-template-columns:76px repeat(5,minmax(0,1fr));min-width:0}}

.class-tabs-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.timetable-title-line{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.student-title-line{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.student-inline-classes{display:flex;align-items:center;gap:8px;background:#eef5ff;border:1px solid #dbe8f7;border-radius:999px;padding:6px 9px 6px 13px;color:#29486f}
.student-inline-classes>span{font-size:13px;font-weight:700;white-space:nowrap}
.student-inline-classes .class-tabs{gap:5px}
.student-inline-classes .class-tab{padding:6px 12px}
.timetable-inline-classes{display:flex;align-items:center;gap:9px;background:#eef5ff;border:1px solid #dbe8f7;border-radius:999px;padding:7px 10px 7px 14px;color:#29486f}
.timetable-inline-classes>span{font-size:14px;font-weight:700;white-space:nowrap}
.timetable-inline-classes .class-tabs{gap:6px}
.timetable-inline-classes .class-tab{padding:7px 13px}
.current-class-label{color:#71819a;font-size:13px;white-space:nowrap}
.current-class-label strong{color:#1f73da}
.class-tabs-label{color:#71819a;font-size:13px;white-space:nowrap}
.class-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.class-tab{border:1px solid #cad8eb;background:#fff;color:#4d6382;border-radius:999px;padding:9px 15px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap;transition:.15s ease}
.class-tab:hover{border-color:#6da5ed;color:#1f73da;background:#f4f9ff}
.class-tab.active{border-color:#247bea;background:#247bea;color:#fff;box-shadow:0 5px 12px #247bea2b}
@media(max-width:900px){.class-tabs-wrap{width:100%;gap:5px}.class-tabs-label{font-size:11px}.class-tab{padding:6px 10px;font-size:11px}}
@media(max-width:900px){.timetable-title-line{gap:8px}.timetable-inline-classes{padding:5px 7px 5px 9px}.timetable-inline-classes>span{font-size:11px}.timetable-inline-classes .class-tab{padding:5px 9px;font-size:11px}}
@media(max-width:900px){.student-title-line{gap:7px}.student-inline-classes{padding:5px 7px 5px 9px}.student-inline-classes>span{font-size:11px}.student-inline-classes .class-tab{padding:5px 9px;font-size:11px}}

.auth-gate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:linear-gradient(135deg,#0e2850f2,#eaf3fff2);padding:20px}
.auth-gate[hidden]{display:none}
.auth-card{width:min(430px,100%);background:#fff;border:1px solid #e0eaf5;border-radius:22px;padding:32px;box-shadow:0 24px 70px #12325b35}
.auth-brand{font-size:28px;font-weight:800;color:#132b50}.auth-subtitle{margin:7px 0 24px;color:#8190a5}.auth-tabs{display:flex;gap:24px;border-bottom:1px solid #e5edf6;margin-bottom:20px}.auth-tab{border:0;background:transparent;color:#8492a7;font:inherit;font-weight:700;padding:10px 2px 12px;border-bottom:3px solid transparent;cursor:pointer}.auth-tab.active{color:#2477e6;border-bottom-color:#2477e6}.auth-form label{display:block;color:#273b5c;font-weight:600;margin:14px 0}.auth-form input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #d7e1ee;border-radius:9px;font:inherit;color:#253a5c}.auth-form .primary-button{width:100%;margin-top:10px}.auth-message{min-height:22px;margin:10px 0 0;color:#d94e55;font-size:13px}.auth-note{display:block;margin-top:20px;color:#9aa6b6;line-height:1.6}
.auth-login-title{font-size:18px;font-weight:700;color:#2477e6;border-bottom:3px solid #2477e6;padding:10px 2px 12px;margin-bottom:20px;width:max-content}
.auth-code-row{display:flex;align-items:flex-end;gap:10px}.auth-code-row label{flex:1}.auth-code-row .outline-button{height:46px;white-space:nowrap}.auth-link{border:0;background:transparent;color:#2477e6;padding:4px 0;margin-top:14px;font:inherit;font-size:13px;cursor:pointer}.auth-link:hover{text-decoration:underline}

/* 作业管理紧凑布局：让一页完整看到最多8条作业 */
#homeworkPage{height:calc(100vh - 76px);min-height:0;overflow:hidden;padding-top:24px}
#homeworkPage .page-heading{margin-bottom:14px;align-items:center}
#homeworkPage .page-heading h1{font-size:32px;margin-bottom:4px}
#homeworkPage .page-heading p{font-size:14px}
#homeworkPage .homework-list-card{height:calc(100% - 78px);min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:18px 24px}
#homeworkPage .homework-tabs{flex:0 0 auto;margin:-2px 0 10px;gap:4px}
#homeworkPage .homework-tab{font-size:15px;padding:8px 18px 9px}
#homeworkPage .list-heading{flex:0 0 auto;padding-bottom:9px}
#homeworkPage .list-heading h2{font-size:18px}
#homeworkPage .list-heading span{font-size:12px}
#homeworkPage #homeworkList{flex:1;min-height:0;overflow:hidden}
#homeworkPage .homework-row{min-height:48px;padding:9px 6px;gap:12px;font-size:14px}
#homeworkPage .subject-tag{padding:5px 9px;font-size:13px}
#homeworkPage .homework-due,#homeworkPage .homework-status,#homeworkPage .homework-edit{font-size:12px}
@media(max-width:900px){
  #homeworkPage{height:calc(100vh - 52px);padding-top:10px}
  #homeworkPage .page-heading{margin-bottom:8px;gap:6px}
  #homeworkPage .page-heading h1{font-size:26px}
  #homeworkPage .page-heading p{font-size:12px}
  #homeworkPage .homework-list-card{height:calc(100% - 62px);padding:10px 12px}
  #homeworkPage .homework-tab{font-size:13px;padding:7px 10px 8px}
  #homeworkPage .homework-row{min-height:42px;padding:7px 3px;gap:6px;font-size:12px}
  #homeworkPage .subject-tag{padding:4px 6px;font-size:11px}
  #homeworkPage .homework-due,#homeworkPage .homework-status,#homeworkPage .homework-edit{font-size:10px}
}

/* 课表必须完整显示：按可用高度均分 8 个时段，避免底部课程被裁切 */
#timetablePage .content-card{height:calc(100% - 72px);min-height:0;overflow:hidden}
#timetablePage .timetable-wrap{flex:1;min-height:0;overflow:hidden}
#timetablePage .timetable-grid{height:100%;grid-template-rows:repeat(9,minmax(0,1fr))}
#timetablePage .grid-header,#timetablePage .grid-period,#timetablePage .timetable-grid .lesson-cell{height:auto!important;min-height:0!important}
#timetablePage .timetable-grid .lesson-cell{font-size:clamp(11px,1.2vw,19px);padding:8px 5px!important}
#timetablePage .timetable-grid .lesson-cell small{font-size:clamp(8px,.85vw,15px);margin-top:4px}
@media(max-width:900px){
  #timetablePage .content-card{height:calc(100% - 58px)}
  #timetablePage .timetable-grid .lesson-cell{font-size:12px;padding:4px 2px!important}
  #timetablePage .timetable-grid .lesson-cell small{font-size:9px;margin-top:2px}
}
.student-list{overflow:auto}
.student-table{border:1px solid #e4ebf4;border-radius:12px;overflow:hidden}
.student-table-row{display:grid;grid-template-columns:1.1fr .7fr 1fr 1.5fr 2fr;gap:12px;padding:13px 16px;border-bottom:1px solid #edf1f6;color:#354b6c}
.student-table-row:last-child{border-bottom:0}
.student-table-head{background:#f5f8fc;color:#71819a;font-size:13px;font-weight:700}
.analysis-summary-card{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:18px}
.analysis-summary-card>div{background:#f5f8fc;border-radius:14px;padding:18px 20px}.analysis-summary-card span{display:block;color:#71819a;font-size:13px}.analysis-summary-card strong{display:block;color:#1e3358;font-size:22px;margin-top:8px}.analysis-summary-card select{margin-top:8px;border:1px solid #d5e1ef;border-radius:8px;padding:8px;color:#1e3358;background:#fff;font:inherit;max-width:100%}
.analysis-table-card{padding:24px}.analysis-table{overflow:auto}.analysis-row{display:grid;grid-template-columns:1.2fr .7fr .8fr 1fr .9fr 1.6fr;gap:12px;align-items:center;padding:13px 10px;border-bottom:1px solid #edf1f6;color:#354b6c}.analysis-head{background:#f5f8fc;color:#71819a;font-size:13px;font-weight:700;border-radius:10px}.analysis-warning{background:#fff6f2}.analysis-name{font-weight:700}.analysis-trend.up{color:#1b9a65}.analysis-trend.down{color:#e05252;font-weight:700}.analysis-trend.flat{color:#8b98aa}.analysis-weak{color:#b7791f;font-size:13px}
@media(max-width:900px){.analysis-summary-card{grid-template-columns:repeat(2,1fr)}.analysis-table{overflow:auto}.analysis-row{min-width:760px}}
.analysis-title-line{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.analysis-inline-classes{display:flex;align-items:center;gap:8px;background:#eef5ff;border:1px solid #dbe8f7;border-radius:999px;padding:6px 9px 6px 13px;color:#29486f}.analysis-inline-classes>span{font-size:13px;font-weight:700;white-space:nowrap}.analysis-inline-classes .class-tabs{gap:5px}.analysis-inline-classes .class-tab{padding:6px 12px}
.analysis-mode-tabs{display:flex;gap:6px}.analysis-mode-tab{border:1px solid #d5e1ef;background:#fff;color:#71819a;border-radius:999px;padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}.analysis-mode-tab.active{background:#247bea;border-color:#247bea;color:#fff}
.attendance-card{padding:24px}.attendance-toolbar{display:flex;align-items:center;gap:20px;color:#71819a;margin-bottom:20px}.attendance-toolbar strong{font-size:22px;color:#1e3358}.attendance-toolbar b{color:#2477df}.attendance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.attendance-stat{border-radius:16px;padding:22px;background:#f5f8fc}.attendance-stat span{display:block;color:#71819a}.attendance-stat strong{font-size:34px;color:#1e3358;margin-top:10px;display:inline-block}.attendance-stat small{color:#71819a;margin-left:5px}.attendance-stat.present{background:#eaf9f0}.attendance-stat.present strong{color:#15945b}.attendance-stat.leave{background:#fff7e5}.attendance-stat.leave strong{color:#c28518}.attendance-stat.absent{background:#fff0f0}.attendance-stat.absent strong{color:#d34e4e}.attendance-stat.pending{background:#eef5ff}.attendance-stat.pending strong{color:#367bc9}.attendance-empty{text-align:center;color:#8b99aa;padding:44px 12px 18px}@media(max-width:900px){.attendance-grid{grid-template-columns:repeat(2,1fr)}.attendance-toolbar{flex-wrap:wrap;gap:8px}}
.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.resource-card{padding:24px;min-height:190px}.resource-icon{width:52px;height:52px;border-radius:15px;background:#e8f2ff;color:#2477e6;display:grid;place-items:center;font-size:28px}.resource-card h2{margin:18px 0 7px;color:#1e3358}.resource-card p{margin:0;color:#7787a0}@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.submission-card{padding:24px;margin-top:18px}.submission-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.submission-toolbar h2{margin:0 0 5px;color:#1e3358}.submission-toolbar p{margin:0;color:#7787a0;font-size:13px}.submission-toolbar>div{margin-right:auto}.submission-toolbar select,.submission-toolbar input{border:1px solid #d5e1ef;border-radius:9px;padding:10px;color:#263a5c;background:#fff;font:inherit;max-width:230px}.submission-dates{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:18px 0 10px;color:#71819a;font-size:13px}.submission-date-button{border:1px solid #d5e1ef;background:#fff;color:#4d6382;border-radius:999px;padding:6px 10px;cursor:pointer}.submission-date-button.active{background:#247bea;border-color:#247bea;color:#fff}.submission-row{display:grid;grid-template-columns:1fr 120px;gap:12px;padding:11px 12px;border-bottom:1px solid #edf1f6;color:#354b6c}.submission-head{background:#f5f8fc;color:#71819a;font-size:13px;font-weight:700;border-radius:10px}.submitted{color:#15945b;font-weight:700}.not-submitted{color:#d34e4e;font-weight:700}.submission-checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:360px;overflow:auto;padding:10px 0}.submission-checklist label{display:flex;align-items:center;gap:7px;padding:8px;background:#f5f8fc;border-radius:8px}.submission-checklist input{width:17px;height:17px}@media(max-width:900px){.submission-toolbar>div{width:100%}.submission-toolbar select,.submission-toolbar input{max-width:100%;width:100%}.submission-checklist{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.analysis-title-line{gap:7px}.analysis-inline-classes{padding:5px 7px 5px 9px}.analysis-inline-classes>span{font-size:11px}.analysis-inline-classes .class-tab{padding:5px 9px;font-size:11px}}
.homework-mode .main-content{height:auto!important;min-height:100vh;overflow:auto!important}
#homeworkPage{height:auto!important;min-height:calc(100vh - 76px);overflow:visible!important}
.attendance-toolbar input{border:1px solid #d5e1ef;border-radius:9px;padding:8px;color:#263a5c;background:#fff;font:inherit}.attendance-list{margin-top:22px}.attendance-list-row{display:grid;grid-template-columns:1fr 120px;gap:12px;padding:11px 12px;border-bottom:1px solid #edf1f6}.attendance-list-head{background:#f5f8fc;color:#71819a;font-size:13px;font-weight:700;border-radius:10px}.attendance-status-出勤{color:#15945b;font-weight:700}.attendance-status-请假{color:#c28518;font-weight:700}.attendance-status-缺勤{color:#d34e4e;font-weight:700}.attendance-status-pending{color:#8b99aa}.attendance-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:420px;overflow:auto}.attendance-checklist label{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f5f8fc;padding:8px 10px;border-radius:8px}.attendance-checklist select{border:1px solid #d5e1ef;border-radius:6px;padding:5px;background:#fff}.points-record-card{padding:24px}.points-record-row{display:grid;grid-template-columns:1fr 90px 2fr 100px;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #edf1f6}.points-plus{color:#15945b}.points-minus{color:#d34e4e}@media(max-width:900px){.attendance-checklist{grid-template-columns:1fr}.points-record-row{grid-template-columns:1fr 70px 1.5fr 85px;font-size:13px}}
.page-title-with-classes{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.page-inline-classes{display:flex;align-items:center;gap:8px;background:#eef5ff;border:1px solid #dbe8f7;border-radius:999px;padding:6px 9px 6px 13px;color:#29486f}.page-inline-classes>span{font-size:13px;font-weight:700;white-space:nowrap}.page-inline-classes .class-tabs{gap:5px}
@media(max-width:900px){.page-title-with-classes{gap:7px}.page-inline-classes{padding:5px 7px 5px 9px}.page-inline-classes>span{font-size:11px}.page-inline-classes .class-tab{padding:5px 9px;font-size:11px}}
.resource-card{border:1px solid #e8eef6;text-align:left;font:inherit;color:#122448;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.resource-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px #14335d18}.resource-card-action{display:block;margin-top:18px;color:#2477e6;font-size:13px;font-weight:700}.resource-items{max-height:300px;overflow:auto;margin-bottom:18px}.resource-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.resource-item strong{display:block;color:#253858}.resource-item small{display:block;margin-top:5px;color:#8b99aa}.resource-item-actions{display:flex;gap:7px;flex:0 0 auto}.resource-item-actions button{padding:7px 9px;font-size:12px}.resource-empty{text-align:center;color:#8b99aa;padding:24px 10px;background:#f7f9fc;border-radius:10px}.resource-import-form{border-top:1px solid #e8eef6;padding-top:14px}.resource-import-form label{display:block;margin-top:10px}.resource-import-form input[type="url"],.resource-import-form input[type="text"],.resource-import-form input[type="file"]{width:100%;margin-top:6px}
.timetable-mode #timetablePage{padding-top:10px}.timetable-mode #timetablePage .page-heading{margin-bottom:7px;gap:12px}.timetable-mode #timetablePage .page-heading h1{font-size:32px}.timetable-mode #timetablePage .page-heading p{font-size:12px}.timetable-mode #timetablePage .content-card{height:calc(100% - 62px);padding:12px 14px 9px}.timetable-mode #timetablePage .card-toolbar{margin-bottom:7px;gap:8px;flex-wrap:nowrap}.timetable-mode #timetablePage .card-toolbar h2{font-size:20px;white-space:nowrap;flex:0 0 auto}.timetable-mode #timetablePage .toolbar-actions{flex:1;min-width:0;justify-content:flex-end;flex-wrap:nowrap;gap:6px}.timetable-mode #timetablePage .toolbar-actions button,.timetable-mode #timetablePage .toolbar-actions select{white-space:nowrap;padding:8px 10px;font-size:13px}.timetable-mode #timetablePage .filled-status{padding:8px 10px;font-size:12px}.timetable-mode #timetablePage .timetable-wrap{padding:6px}.timetable-mode #timetablePage .timetable-grid{gap:6px}
.timetable-mode #timetablePage{padding-top:2px}.timetable-mode #timetablePage .page-heading{margin-bottom:2px;gap:8px}.timetable-mode #timetablePage .page-heading p{line-height:1.05}.timetable-mode #timetablePage .content-card{padding-top:8px}.timetable-mode #timetablePage .card-toolbar{margin-bottom:5px}
@media(max-width:900px){.timetable-mode #timetablePage .page-heading{gap:4px}.timetable-mode #timetablePage .content-card{height:calc(100% - 58px);padding:7px 6px 5px}.timetable-mode #timetablePage .card-toolbar{flex-wrap:wrap}.timetable-mode #timetablePage .toolbar-actions{flex-wrap:wrap;justify-content:flex-start}.timetable-mode #timetablePage .card-toolbar h2{font-size:14px}.timetable-mode #timetablePage .toolbar-actions button,.timetable-mode #timetablePage .toolbar-actions select{padding:6px 7px;font-size:10px}}
.timetable-mode #timetablePage .card-toolbar{flex-wrap:wrap;align-items:center}.timetable-mode #timetablePage .card-toolbar h2{flex:0 0 100%;white-space:nowrap}.timetable-mode #timetablePage .toolbar-actions{flex:0 0 100%;min-width:0;justify-content:flex-start;flex-wrap:nowrap;row-gap:0}.timetable-mode #timetablePage .toolbar-actions>*{flex:0 0 auto}
@media(max-width:900px){.timetable-mode #timetablePage .toolbar-actions{flex-wrap:wrap;row-gap:4px}}
.analysis-compact-page #analysisPage{padding-top:12px}.analysis-compact-page #analysisPage .page-heading{margin-bottom:12px;gap:12px}.analysis-compact-page #analysisPage .page-heading h1{font-size:32px;margin-bottom:4px}.analysis-compact-page #analysisPage .page-heading p{font-size:13px;line-height:1.2}.analysis-compact-page #analysisPage .analysis-summary-card{padding:12px 14px;gap:10px;margin-bottom:12px}.analysis-compact-page #analysisPage .analysis-summary-card>div{padding:12px 14px;min-height:92px}.analysis-compact-page #analysisPage .analysis-summary-card span{font-size:12px}.analysis-compact-page #analysisPage .analysis-summary-card strong{font-size:20px;margin-top:7px}.analysis-compact-page #analysisPage .analysis-summary-card select{font-size:14px;padding:7px;margin-top:6px}.analysis-compact-page #analysisPage .analysis-table-card{padding:16px 18px}.analysis-compact-page #analysisPage .analysis-table-card .list-heading{padding-bottom:9px}.analysis-compact-page #analysisPage .analysis-table-card .list-heading h2{font-size:19px}.analysis-compact-page #analysisPage .analysis-table{max-height:500px;overflow:auto}.analysis-compact-page #analysisPage .analysis-row{min-height:43px;padding:8px 10px;gap:10px;font-size:14px}.analysis-compact-page #analysisPage .analysis-head{font-size:13px;position:sticky;top:0;z-index:1}.analysis-compact-page #analysisPage .analysis-weak{font-size:13px}
@media(max-width:900px){.analysis-compact-page #analysisPage{padding-top:6px}.analysis-compact-page #analysisPage .page-heading{margin-bottom:8px;gap:6px}.analysis-compact-page #analysisPage .page-heading h1{font-size:26px}.analysis-compact-page #analysisPage .analysis-summary-card{gap:8px;padding:9px}.analysis-compact-page #analysisPage .analysis-summary-card>div{min-height:76px;padding:9px}.analysis-compact-page #analysisPage .analysis-table-card{padding:12px}.analysis-compact-page #analysisPage .analysis-table{max-height:420px}.analysis-compact-page #analysisPage .analysis-row{min-height:38px;padding:6px 7px;font-size:12px}}
.attendance-card{padding:18px}.attendance-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.attendance-toolbar>strong{font-size:20px}.attendance-inline-stats{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.attendance-inline-stats span{border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600}.attendance-inline-stats b{margin-left:3px}.attendance-inline-stats .present{background:#e6f8ee;color:#15945b}.attendance-inline-stats .leave{background:#fff4d8;color:#b77c15}.attendance-inline-stats .absent{background:#ffe9e9;color:#d34e4e}.attendance-inline-stats .pending{background:#edf4ff;color:#367bc9}.attendance-date-label{display:flex;align-items:center;gap:6px;margin-left:auto;color:#71819a;font-size:13px}.attendance-date-label input{border:1px solid #d5e1ef;border-radius:8px;padding:7px 9px;color:#263a5c;background:#fff;font:inherit}.attendance-list{margin-top:0}.attendance-list-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.attendance-student-card{min-height:56px;border-radius:12px;padding:9px 10px;display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid transparent}.attendance-student-card strong{font-size:15px;color:#253858;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-student-card span{font-size:12px;font-weight:700}.attendance-student-card.present{background:#e6f8ee;border-color:#c7eed8}.attendance-student-card.present span{color:#15945b}.attendance-student-card.leave{background:#fff4d8;border-color:#f5df9d}.attendance-student-card.leave span{color:#b77c15}.attendance-student-card.absent{background:#ffe9e9;border-color:#f4caca}.attendance-student-card.absent span{color:#d34e4e}.attendance-student-card.pending{background:#edf4ff;border-color:#d6e6fb}.attendance-student-card.pending span{color:#367bc9}
@media(max-width:1200px){.attendance-list-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.attendance-toolbar{gap:8px}.attendance-toolbar>strong{font-size:17px}.attendance-inline-stats{width:100%}.attendance-date-label{margin-left:0}.attendance-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.attendance-student-card{min-height:48px;padding:7px}.attendance-student-card strong{font-size:13px}.attendance-student-card span{font-size:11px}}
.attendance-student-card{font:inherit;text-align:left;cursor:pointer}.attendance-student-card:hover{filter:brightness(.97);box-shadow:0 4px 10px #28446d18;transform:translateY(-1px)}
.attendance-holiday-banner{display:flex;align-items:center;justify-content:center;gap:14px;min-height:150px;border-radius:16px;background:#fff7e5;color:#b77c15}.attendance-holiday-banner strong{font-size:24px}.attendance-holiday-banner span{font-size:15px}
.student-edit-row{width:100%;border:0;background:#fff;text-align:left;font:inherit;color:#354b6c;cursor:pointer}.student-edit-row:hover{background:#f5f9ff}.student-table-head{cursor:default}
.student-list-card .list-heading{display:flex;align-items:center;gap:12px}.student-list-card .list-heading h2{margin-right:auto}.student-list-card .list-heading .danger-button{margin:0;padding:8px 11px;font-size:13px}
.task-row{position:relative}.task-delete-button{margin-left:8px;border:1px solid #f0b6b6;background:#fff7f7;color:#d34e4e;border-radius:7px;padding:5px 8px;font:inherit;font-size:12px;cursor:pointer}.task-delete-button:hover{background:#ffeaea}
.homework-panel-switcher{display:flex;gap:8px;margin:0 0 0 10px}.homework-panel-button{border:1px solid #d5e1ef;background:#fff;color:#71819a;border-radius:10px;padding:7px 14px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.homework-panel-button.active{background:#247bea;border-color:#247bea;color:#fff}.homework-check-mode .homework-list-card{display:none!important}.homework-check-mode .submission-card{margin-top:0}.homework-check-mode .submission-toolbar{align-items:center}.homework-check-mode .submission-toolbar>div{margin-right:auto}.homework-check-mode .submission-table{max-height:calc(100vh - 300px);overflow:auto}.homework-check-mode .submission-toolbar>div h2,.homework-check-mode .submission-toolbar>div p{display:none}.submission-student-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.submission-student-button{min-height:64px;border-radius:12px;border:1px solid transparent;padding:10px;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:5px}.submission-student-button strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#253858}.submission-student-button span{font-size:12px;font-weight:700}.submission-student-button.submitted{background:#e6f8ee;border-color:#c7eed8}.submission-student-button.submitted span{color:#15945b}.submission-student-button.not-submitted{background:#ffe9e9;border-color:#f4caca}.submission-student-button.not-submitted span{color:#d34e4e}.submission-student-button:hover{filter:brightness(.97);transform:translateY(-1px)}@media(max-width:1200px){.submission-student-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:900px){.homework-panel-switcher{margin-left:0}.submission-student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.submission-student-button{min-height:54px;padding:8px}}
.homeworkPage:not(.homework-check-mode) .submission-card{display:none!important}#homeworkPage:not(.homework-check-mode) .submission-card{display:none!important}
.homework-delete{color:#d34e4e;font-size:12px;font-weight:700;cursor:pointer}.homework-delete:hover{text-decoration:underline}
.homework-row{grid-template-columns:70px minmax(220px,1fr) 135px 110px 48px 55px;gap:10px}.homework-delete,.homework-edit{white-space:nowrap}
@media(max-width:900px){.homework-row{grid-template-columns:56px minmax(120px,1fr) 86px 72px 38px 42px;gap:5px;padding-left:3px;padding-right:3px}.homework-delete,.homework-edit{font-size:10px}}
.students-compact-page #studentsPage,.analysis-compact-page #analysisPage{padding-top:8px}.students-compact-page #studentsPage .page-heading,.analysis-compact-page #analysisPage .page-heading{margin-bottom:14px}.students-compact-page #studentsPage .student-list{max-height:470px;overflow:auto}.students-compact-page #studentsPage .student-table-row{min-height:43px;padding-top:10px;padding-bottom:10px}.analysis-compact-page #analysisPage .analysis-table{max-height:470px!important;overflow:auto}
.analysis-compact-page #analysisPage #analysisExamDate{display:none}.analysis-compact-page #analysisPage .analysis-table-card{padding:10px 14px}.analysis-compact-page #analysisPage .analysis-table-card .list-heading{padding-bottom:5px;margin-bottom:4px}.analysis-compact-page #analysisPage .analysis-table-card .list-heading h2{font-size:17px}.analysis-compact-page #analysisPage .analysis-row{grid-template-columns:1.05fr .55fr .65fr .8fr .75fr 1.25fr;gap:6px;min-height:38px;padding:6px 7px;font-size:13px}.analysis-compact-page #analysisPage .analysis-head{font-size:12px}.analysis-compact-page #analysisPage .analysis-weak{font-size:12px}
.analysis-summary-card{grid-template-columns:minmax(180px,1.25fr) minmax(280px,1.65fr) minmax(120px,.8fr) minmax(130px,.9fr) minmax(120px,.9fr);gap:14px}.analysis-summary-card>div{padding:16px 18px;min-width:0}.analysis-summary-card>div:first-child strong{font-size:20px;white-space:nowrap}.analysis-summary-card select{width:100%;font-size:16px}
.analysis-exam-name-editable{cursor:pointer}.analysis-exam-name-editable:hover{color:#247bea;text-decoration:underline;text-underline-offset:4px}
.analysis-summary-card>div:first-child strong{display:block;font-size:24px!important;margin-top:18px}
.analysis-summary-card>div.analysis-exam-badge{border-radius:14px}.analysis-summary-card>div.analysis-exam-badge strong{color:inherit}.analysis-exam-name-editable{user-select:none}.analysis-exam-badge.exam-color-blue{background:#e8f3ff;color:#247bea}.analysis-exam-badge.exam-color-purple{background:#eee8ff;color:#7658c7}.analysis-exam-badge.exam-color-green{background:#e4f8ee;color:#15945b}.analysis-exam-badge.exam-color-orange{background:#fff0dc;color:#c87a22}.analysis-exam-badge.exam-color-pink{background:#ffe8ef;color:#d45176}.analysis-exam-badge.exam-color-teal{background:#e2f6f3;color:#15978b}
.analysis-exam-choices{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.analysis-exam-choice{border:1px solid currentColor;border-radius:9px;padding:7px 10px;background:#fff;font:inherit;font-size:14px;cursor:pointer}.analysis-exam-choice.active{box-shadow:0 0 0 2px currentColor;font-weight:700}.analysis-no-exam{color:#8b99aa;font-size:14px}
.analysis-exam-names{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px}.analysis-exam-name{border:0;border-radius:10px;padding:8px 12px;font:inherit;font-size:20px;font-weight:700;cursor:pointer}.analysis-exam-name.exam-color-blue{background:#e8f3ff;color:#247bea}.analysis-exam-name.exam-color-purple{background:#eee8ff;color:#7658c7}.analysis-exam-name.exam-color-green{background:#e4f8ee;color:#15945b}.analysis-exam-name.exam-color-orange{background:#fff0dc;color:#c87a22}.analysis-exam-name.exam-color-pink{background:#ffe8ef;color:#d45176}.analysis-exam-name.exam-color-teal{background:#e2f6f3;color:#15978b}.analysis-exam-name:hover{text-decoration:underline;text-underline-offset:4px}.analysis-exam-name.active{box-shadow:0 0 0 2px currentColor}
.analysis-summary-card>div:first-child{overflow:hidden}.analysis-summary-card>div:first-child .analysis-exam-names{max-width:100%;max-height:118px;overflow:auto;align-content:flex-start}.analysis-summary-card>div:first-child .analysis-exam-name{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:16px;padding:6px 9px}
@media(max-width:900px){.analysis-summary-card{grid-template-columns:repeat(2,1fr);gap:10px}.analysis-summary-card>div:first-child strong{font-size:18px}}
.analysis-compact-page #analysisPage .analysis-summary-card{grid-template-columns:max-content repeat(3,minmax(150px,1fr));min-width:max-content}.analysis-compact-page #analysisPage .analysis-summary-card>div:first-child{overflow:visible;min-width:max-content}.analysis-compact-page #analysisPage .analysis-summary-card>div:first-child .analysis-exam-names{max-width:none;max-height:none;overflow:visible;flex-wrap:nowrap}.analysis-compact-page #analysisPage .analysis-summary-card>div:first-child .analysis-exam-name{white-space:nowrap;max-width:none;overflow-wrap:normal}
.analysis-multiple-table{overflow:auto}.analysis-multiple-table .analysis-row{grid-template-columns:1.25fr repeat(var(--analysis-exam-count),minmax(88px,1fr)) .9fr .9fr;min-width:max-content}.analysis-multiple-table .analysis-row>span{text-align:center}.analysis-multiple-table .analysis-row>.analysis-name{text-align:left}
.resource-detail-heading{align-items:center}.resource-detail-heading h1{margin-top:16px}.resource-back-button{margin:0}.resource-detail-card{padding:26px}.resource-detail-items{max-height:none;overflow:visible}.resource-detail-card .resource-import-form{margin-top:22px}.resource-detail-card .resource-import-form h3{margin:0 0 10px;color:#1e3358}.resource-detail-card .resource-import-form .primary-button{margin-top:14px}
.nav-item[draggable="true"],.feature-card[data-home-item]{cursor:grab}.nav-item.dragging,.feature-card.dragging-home-item{opacity:.5}.generic-home-card .home-shortcut-body{flex:1;display:grid;place-items:center;min-height:190px;color:#7787a0;font-size:16px}.feature-grid[title]{position:relative}
.nav-item.dragging-nav-item{opacity:.55;outline:2px solid #5da4f5;outline-offset:2px}
.feature-card[data-home-item]{position:relative}.home-remove-button{position:absolute;top:12px;right:14px;z-index:5;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:#eef2f7;color:#71809a;font-size:20px;line-height:24px;cursor:pointer;pointer-events:auto}.home-remove-button:hover{background:#ffe6e6;color:#d94343}
[data-home-item][hidden]{display:none!important}
.term-progress-card{width:min(100%,620px);margin-bottom:14px;padding:9px 14px}.term-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.term-progress-title-line{display:flex;align-items:baseline;gap:8px;min-width:0}.term-progress-heading h2{margin:0;font-size:16px;color:#1e3358;white-space:nowrap}.term-progress-heading span{color:#8b99aa;font-size:10px;white-space:nowrap}.term-progress-heading strong{color:#2477e6;font-size:15px;white-space:nowrap}.term-progress-track{height:6px;margin:7px 0 5px;border-radius:999px;background:#e8eff8;overflow:hidden}.term-progress-bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#58a5f4,#1977ea);transition:width .35s ease}.term-progress-stats{display:flex;gap:16px;color:#71819a;font-size:11px}.term-progress-stats b{color:#243756;font-size:13px}@media(max-width:900px){.term-progress-card{width:100%;padding:8px 12px}.term-progress-title-line{gap:5px}.term-progress-heading span{font-size:9px}}
.period-times-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.period-time-editor-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#f5f8fc;color:#354b6c}.period-time-editor-row span{font-weight:700;white-space:nowrap}.period-time-editor-row input{width:150px;min-width:0;border:1px solid #d5e1ef;border-radius:7px;padding:8px 9px;color:#263a5c;background:#fff;font:inherit}@media(max-width:600px){.period-times-editor{grid-template-columns:1fr}.period-time-editor-row input{width:160px}}
.points-student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.points-student-card{position:relative;min-height:150px;padding:18px;border:1px solid #dfe8f3;border-radius:14px;background:#fff;text-align:left;color:#243756;font:inherit;cursor:pointer}.points-student-card:hover{border-color:#6aa9ef;box-shadow:0 8px 18px #14335d12}.points-student-card>strong{display:block;font-size:18px}.points-total{display:block;margin-top:8px;font-size:17px;font-weight:700}.points-student-history{display:flex;flex-direction:column;gap:5px;margin-top:14px;color:#8b99aa}.points-student-history small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.points-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
