.cm-page{color:var(--campus-ink,#253c43)}.cm-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.cm-heading h1{margin:8px 0;font-size:32px}.cm-actions,.cm-filter,.cm-batch,.cm-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cm-actions{padding-top:12px}.cm-notice{padding:0;min-height:0;color:#1e6650;line-height:1.8}.cm-notice:not(:empty){padding:12px 16px;margin:12px 0;border:1px solid #c3dacd;border-radius:12px;background:#edf7f0}.cm-notice.is-error{color:#9b3738;background:#fff1ee;border-color:#f0c9c0}.cm-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:18px 0 22px}.cm-toolbar>.field{min-width:170px}.cm-toolbar .cm-tabs{margin-left:auto;padding:5px;background:#eaf0f3;border-radius:12px}.cm-tabs button{border:0;border-radius:9px;background:transparent;padding:11px 18px;color:#40545f;cursor:pointer}.cm-tabs button.active{background:#fff;box-shadow:0 2px 7px #23445615;font-weight:700;color:#285d83}.cm-page .panel{margin:20px 0;padding:24px;border:1px solid #dce6e5}.cm-page h2{font-size:21px}.cm-page .field{display:flex;flex-direction:column;gap:8px;font-size:14px}.cm-page input,.cm-page select,.cm-page textarea{max-width:100%;font:inherit}.cm-page select{cursor:pointer}.cm-page input[type="checkbox"]{width:20px;height:20px;accent-color:#41739c;cursor:pointer}.cm-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:15px 0}.cm-points{grid-template-columns:repeat(3,1fr)}.cm-create form>button{margin-top:8px}.cm-task-select{max-width:430px;margin:16px 0}.cm-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0}.cm-stat{display:flex;align-items:baseline;justify-content:center;gap:12px;min-height:72px;padding:12px;background:#f3f6f7;border:1px solid #dce4e8;border-radius:13px;cursor:pointer;color:#4f6471}.cm-stat strong{font-size:30px}.cm-stat span{font-size:14px}.cm-stat[aria-pressed="true"]{outline:2px solid #507fa2;outline-offset:2px}.cm-submitted{background:#eef7f0;color:#2d7950;border-color:#c6ddcc}.cm-late{background:#eef4ff;color:#496b9c;border-color:#cfddf3}.cm-missing{background:#fff1ee;color:#b05a48;border-color:#e8c9be}.cm-excused{background:#f4f1f9;color:#72638c;border-color:#ddd4e8}.cm-filter .field:first-child{flex:1;min-width:200px}.cm-filter>.field:nth-child(2){min-width:150px}.cm-batch{position:sticky;top:0;z-index:2;padding:14px;margin:20px 0 12px;background:#edf2f5;border:1px solid #d8e3e9;border-radius:12px}.cm-batch>span{font-size:14px;font-weight:700;margin-right:8px}.cm-table-wrap{max-width:100%;overflow-x:auto}.cm-table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}.cm-table th{font-weight:600;color:#657781;background:#f4f7f8}.cm-table td,.cm-table th{padding:15px 12px;border-bottom:1px solid #e1e8eb;vertical-align:middle;line-height:1.6}.cm-table strong{font-size:16px}.cm-table small{display:block;font-size:12px;color:#7a888d;margin-top:4px}.cm-table select{min-width:115px;padding:8px!important}.cm-row-submitted td:first-child{box-shadow:inset 3px 0 #73a28a}.cm-row-missing td:first-child{box-shadow:inset 3px 0 #cb8874}.cm-note{background:none;border:none;padding:2px 0;text-align:left;color:#416e8e;font-size:13px;cursor:pointer;max-width:270px;overflow-wrap:anywhere}.cm-score{font-weight:700;font-variant-numeric:tabular-nums}.cm-page p.muted{line-height:1.8;font-size:14px;margin:14px 0}.cm-discipline-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}.cm-discipline-grid>section.panel{margin-bottom:0}.cm-discipline-grid form>.field{margin-top:18px}.cm-discipline-summary{background:#f2f6f7}.cm-totals{display:flex;gap:45px;padding:25px 0}.cm-totals strong{display:block;font-size:38px;color:#a3614f}.cm-totals span{display:block;font-size:14px;color:#70828d;margin-top:8px}.cm-revoked{color:#89949b}.cm-revoked .cm-score{text-decoration:line-through}.cm-danger{color:#a35345!important}.cm-empty{text-align:center;padding:45px!important}.cm-page [disabled]{opacity:.55;cursor:wait}.cm-page .section-heading{flex-wrap:wrap;gap:15px}
@media(max-width:900px){.cm-heading{flex-direction:column;gap:8px}.cm-toolbar .cm-tabs{margin-left:0}.cm-stat{gap:5px;flex-direction:column;align-items:center}.cm-discipline-grid{grid-template-columns:1fr}.cm-actions{padding:0}.cm-table{min-width:620px}}
@media(max-width:560px){.cm-page .panel{padding:17px}.cm-summary{gap:6px}.cm-stat strong{font-size:24px}.cm-stat span{font-size:11px}.cm-toolbar{gap:12px}.cm-toolbar>.field{flex:1;min-width:130px}.cm-fields{grid-template-columns:1fr}.cm-points{grid-template-columns:repeat(3,1fr);gap:10px}.cm-tabs{width:100%;justify-content:space-between}.cm-tabs button{padding:10px 12px}.cm-batch{position:static}.cm-heading h1{font-size:27px}}
@media print{.sidebar,.topbar,.cm-actions,.cm-toolbar,.cm-batch,.cm-filter,.cm-create,.cm-danger,.cm-note:empty{display:none!important}.cm-page .panel{border:0;padding:5px}.cm-table-wrap{overflow:visible}.cm-table{min-width:0}.cm-table td,.cm-table th{padding:8px}.cm-discipline-grid{display:block}}

/* Compact management controls take the full width of this page. */
.cm-heading img,.cm-heading .site-page-art,.cm-heading .school-hero-art{display:none!important}


/* 作业收交：紧凑的小组名单 */
.cm-roster-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;align-items:start}
.cm-roster-group{min-width:0;border:1px solid #dce6eb;border-radius:12px;overflow:hidden;background:#fff}
.cm-group-head{display:flex;align-items:center;gap:7px;padding:7px 10px;background:#f0f6f9;color:#365b73}
.cm-group-head>strong{font-size:15px}.cm-group-head>span{font-size:12px;color:#6f8490}.cm-group-head .cm-group-select{margin-left:auto;padding:5px 7px;font-size:12px;white-space:nowrap}
.cm-group-students{padding:2px 7px}
.cm-student{display:grid;grid-template-columns:minmax(74px,1fr) minmax(82px,100px) 27px 39px;align-items:center;gap:4px;min-width:0;padding:4px 2px;border-bottom:1px solid #edf1f2;font-size:13px}
.cm-student:last-child{border-bottom:0}.cm-student-name{display:flex;align-items:center;gap:5px;min-width:0;cursor:pointer}.cm-student-name strong{font-size:14px;overflow-wrap:anywhere}
.cm-page .cm-student input[type="checkbox"]{width:18px;height:18px;flex:none;margin:0}.cm-page .cm-student select{width:100%;min-width:0;height:32px;padding:3px 4px!important;font-size:12px}.cm-student .cm-score{font-size:12px;text-align:center}.cm-student .cm-note{font-size:11px;white-space:nowrap}
.cm-student.cm-row-submitted{box-shadow:inset 3px 0 #73a28a}.cm-student.cm-row-missing{box-shadow:inset 3px 0 #cb8874}
@media(max-width:560px){.cm-roster-groups{grid-template-columns:1fr;gap:9px}.cm-student{grid-template-columns:minmax(72px,1fr) minmax(82px,105px) 27px 39px}}
@media print{.cm-group-select,.cm-student .cm-note{display:none!important}.cm-roster-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.cm-student{font-size:11px}}

/* 课堂违纪：小组名单紧凑选择，扣分目标清晰可见 */
.cm-page .cm-discipline-compact{padding:16px;margin:14px 0}
.cm-page .cm-disc-hint{margin:5px 0 10px;font-size:13px}
.cm-discipline-groups{gap:9px}
.cm-discipline-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px}
.cm-discipline-person{min-width:0;min-height:34px;padding:5px 4px;border:1px solid #dce6eb;border-radius:7px;background:#fff;color:#334e60;cursor:pointer;font:inherit;font-size:13px;overflow-wrap:anywhere}
.cm-discipline-person:hover{background:#f1f7fb}.cm-discipline-person.is-selected{background:#dfedf6;border-color:#467ba2;box-shadow:inset 0 0 0 1px #467ba2;font-weight:700;color:#174b70}
.cm-discipline-form-compact{display:grid;grid-template-columns:minmax(135px,1.2fr) minmax(120px,1fr) minmax(75px,.5fr) minmax(150px,1fr);gap:10px;align-items:end;margin-top:14px}
.cm-discipline-form-compact .field{margin:0}.cm-discipline-form-compact input,.cm-discipline-form-compact select{width:100%;min-width:0}.cm-disc-target{grid-column:1/-1;margin:0;color:#365f78;font-size:13px;font-weight:600}.cm-discipline-form-compact>button{grid-column:1/-1;justify-self:start}
@media(max-width:700px){.cm-discipline-form-compact{grid-template-columns:1fr 1fr}.cm-disc-note{grid-column:1/-1}.cm-discipline-person{min-height:36px}}
@media print{.cm-discipline-compact{display:none!important}}
