#lesson-dialog{width:min(1040px,96vw);max-height:94dvh;padding:0;overflow:hidden;border-radius:22px}
#lesson-form{display:flex;flex-direction:column;max-height:94dvh;padding:0;margin:0}
#lesson-form>.form-grid{display:none}#lesson-form>.form-actions .photo-edit-status{margin:0 auto 0 0;align-self:center;font-size:12px;color:#b45309}
#lesson-form>.lesson-top{padding:20px 24px 14px;margin:0;flex-shrink:0;border-bottom:1px solid #edf0f5}
#lesson-form .lesson-top h2{font-size:23px}#lesson-form .lesson-meta{font-size:13px;margin:5px 0 0}
.lesson-scroll{padding:16px 24px;overflow:auto;min-height:0}
#lesson-form .lesson-clock{padding:13px 16px;margin:0 0 12px}#lesson-form .lesson-clock-head strong{font-size:18px}#lesson-form .lesson-clock-ends{font-size:12px}
#lesson-form .lesson-general{margin-bottom:16px;padding:11px 14px}
.lesson-columns{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
.lesson-section{min-width:0;background:#f8fafc;border:1px solid #e6ebf2;border-radius:16px;padding:16px}
#lesson-form .form-label{font-size:14px;margin-bottom:7px}#lesson-form .form-control{font-size:14px;padding:9px 11px}
#lesson-form textarea#homework{min-height:85px;height:85px}
#lesson-form .assignment-fields{padding:0;margin:12px 0;border:0;background:none}#lesson-form .assignment-fields .form-grid{gap:10px}#lesson-form .assignment-fields label{font-size:13px}
#lesson-form .homework-link{padding:10px 0 0;background:none;border:0;display:flex;flex-wrap:wrap;gap:10px;font-size:13px}#lesson-form .due-wrap{flex:1;min-width:130px}
#lesson-form>.form-actions{flex-shrink:0;padding:12px 24px;margin:0;background:#fff;border-top:1px solid #e5eaf2;display:flex;justify-content:flex-end;gap:10px;box-shadow:0 -4px 18px #1e293b06}
.lesson-material-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0 10px}.lesson-material-heading h3{font-size:15px;margin:0}.lesson-material-heading label{font-size:12px;cursor:pointer;padding:7px 9px}
.lesson-material-list{display:grid;gap:8px;max-height:240px;overflow:auto}.lesson-material{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:7px;align-items:center;background:#fff;border:1px solid #e5eaf2;border-radius:10px;padding:7px}
.lesson-section:first-child>div:first-child{display:flex;align-items:center;gap:18px}.lesson-section:first-child>div:first-child .form-label{margin:0;white-space:nowrap}.lesson-section:first-child #attendance{width:180px}.lesson-material-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:140px}
.lesson-section:last-child{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}#lesson-form .lesson-section:last-child .assignment-fields{margin:0}#lesson-form .lesson-section:last-child .homework-link{grid-column:1/-1;padding:0;justify-content:space-between}#lesson-form .due-wrap{flex:0 1 220px;display:flex;align-items:center;gap:10px}#lesson-form .due-wrap span{white-space:nowrap}#lesson-form .due-wrap input{min-width:145px}#lesson-form #homework{height:125px}#lesson-form .todo-photo-list{max-height:105px;overflow:auto;gap:7px}#lesson-form .todo-photo-card{width:80px;padding:4px}#lesson-form .todo-photo-card img{height:45px;width:100%;object-fit:cover}#lesson-form .todo-photo-card span{font-size:10px}#lesson-form .todo-photo-card button{font-size:11px;padding:3px}
.lesson-material-preview{padding:0;border:0;background:#edf2fa;border-radius:6px;width:44px;height:44px;overflow:hidden;cursor:pointer}.lesson-material-preview img{width:100%;height:100%;object-fit:cover}.lesson-material-name{min-width:0;width:100%;border:0;border-bottom:1px solid #e5eaf2;background:none;font-size:12px;padding:5px 0}.lesson-material-action{border:0;background:none;color:#64748b;font-size:12px;cursor:pointer;padding:3px}
@media(max-width:700px){.lesson-columns{grid-template-columns:1fr}.lesson-scroll{padding:12px}#lesson-form>.lesson-top{padding:15px}#lesson-form>.form-actions{padding:12px 15px}.lesson-material-list{max-height:170px}}
@media(max-width:700px){.lesson-section:last-child,.lesson-material-list{grid-template-columns:1fr}#lesson-form #homework{height:80px}}
.category-breakdown{border-bottom:1px solid #edf0f5;padding:8px 0}.category-breakdown summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;font-size:14px}.category-breakdown summary b{white-space:nowrap}.category-breakdown ul{list-style:none;margin:10px 0 0;padding:0}.category-breakdown li{display:flex;justify-content:space-between;gap:12px;padding:9px;background:#f8fafc;border-radius:8px;margin:5px 0;font-size:13px}.category-breakdown small{display:block;color:#64748b;margin-top:3px}
/* 课堂工作页：轻量导航、单层内容、相册卡片。 */
#lesson-dialog{width:min(820px,94vw);border-radius:22px;border:1px solid #e4e9f0;box-shadow:0 28px 100px #0f172a30}
#lesson-form>.lesson-top{padding:24px 28px 16px;border:0}#lesson-form .lesson-top h2{font-size:24px;letter-spacing:-.6px;color:#26344c}#lesson-form .lesson-meta{color:#8b95a4}#lesson-form .close{width:34px;height:34px;font-size:23px;background:#f3f5f8;color:#788597}
.lesson-scroll{padding:0 28px 22px}#lesson-form .lesson-clock{padding:12px 16px;background:#f5f7fa;border:0;border-radius:12px}#lesson-form .lesson-clock-head strong{font-size:14px}#lesson-form .lesson-clock-head span{font-size:12px}#lesson-form .lesson-progress{height:4px;margin:9px 0}#lesson-form .lesson-clock-ends{font-size:11px}
#lesson-form .lesson-general{margin:0;padding:10px 0;border:0;border-bottom:1px solid #edf0f4;background:none;border-radius:0}#lesson-form .lesson-general summary{font-size:13px;color:#637187;font-weight:550}
.lesson-attendance{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.lesson-attendance .form-label{margin:0!important;font-size:13px!important;color:#788497}#lesson-form #attendance{width:130px;background:#f0f5ff;color:#355b92;border:0;padding:7px 10px}
.lesson-tabs{display:flex;gap:26px;border-bottom:1px solid #e9edf2;margin-bottom:18px}.lesson-tab{padding:10px 0 12px;border:0;border-bottom:2px solid transparent;background:none;font-size:15px;font-weight:600;color:#8a94a3;cursor:pointer}.lesson-tab.active{color:#245bc1;border-bottom-color:#245bc1}
.lesson-section[hidden]{display:none!important}.lesson-columns{display:block;min-height:170px}.lesson-section{padding:0;background:none;border:0;border-radius:0}.lesson-section:last-child{display:block}.lesson-section:first-child>div:first-child{display:flex}.lesson-material-heading{margin:0 0 14px}.lesson-material-heading h3{font-size:12px;font-weight:500;color:#8993a1}.lesson-material-heading label{font-size:12px;border:0;background:#edf3ff;color:#3865b2;padding:8px 12px;border-radius:8px}
.lesson-material-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:270px}.lesson-material{grid-template-columns:1fr auto auto;gap:7px;border:1px solid #e9edf2;border-radius:12px;padding:9px;overflow:hidden}.lesson-material-preview{grid-column:1/-1;width:100%;height:105px;background:#f3f5f8;border-radius:7px;font-size:28px}.lesson-material-preview img{width:100%;height:100%;object-fit:cover}.lesson-material-name{grid-column:1/-1;border:0;font-size:12px;padding:3px;color:#475569}.lesson-material-action{font-size:11px;color:#8a95a5}.lesson-material-action:last-child{color:#b27878}.lesson-material-action:nth-last-child(2){grid-column:2}.lesson-material-list>.photo-empty{grid-column:1/-1;text-align:center;padding:36px 15px;background:#fafbfc;border:1px dashed #e0e6ee;border-radius:12px;color:#98a2b2;font-size:13px}
#lesson-form #homework{height:90px;min-height:90px}#lesson-form .lesson-section:last-child .assignment-fields{margin:13px 0}#lesson-form .assignment-fields .form-grid{gap:14px;margin-bottom:12px}#lesson-form .assignment-fields label{font-size:12px;color:#788497}#lesson-form .assignment-fields select{margin-top:6px}#lesson-form .form-control{border:1px solid #e3e8f0;border-radius:9px;box-shadow:none}#lesson-form .lesson-section:last-child .homework-link{padding-top:12px;border-top:1px solid #edf0f4;font-size:12px}#lesson-form .todo-photo-list{max-height:110px}
#lesson-form>.form-actions{background:#fafbfd;padding:14px 28px;box-shadow:none}#lesson-form>.form-actions button{border-radius:10px;padding:10px 22px;font-size:14px}#lesson-form>.form-actions .secondary{border:0;background:none;color:#8490a2}#lesson-form>.form-actions .save-record{background:#2e61bd;box-shadow:0 3px 8px #2e61bd20}
@media(max-width:600px){#lesson-dialog{width:96vw}#lesson-form>.lesson-top{padding:18px}.lesson-scroll{padding:0 18px 18px}#lesson-form .lesson-top h2{font-size:20px}.lesson-material-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px}.lesson-material-preview{height:90px}#lesson-form>.form-actions{padding:12px 18px}}
#lesson-form #attendance[hidden]{display:none}.attendance-choices{display:flex;gap:6px;padding:4px;background:#f3f5f8;border-radius:10px}.attendance-choice{min-width:60px;padding:7px 18px;border:0;border-radius:7px;background:transparent;color:#8390a2;font-size:13px;cursor:pointer}.attendance-choice.selected{background:#fff;color:#2e61bd;box-shadow:0 1px 5px #172b4d14;font-weight:650}.attendance-choice:focus-visible{outline:2px solid #91b5f4;outline-offset:2px}
