/* ===== 教师工作台：左侧目录 + 班级模块 ===== */
.shell{display:flex;align-items:flex-start}
.side{width:212px;flex-shrink:0;position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid #e5ebf4;padding:18px 14px 16px;display:flex;flex-direction:column;z-index:5}
.sbrand{display:flex;align-items:center;gap:9px;font-weight:800;color:#0f2f6b;font-size:16px;padding:4px 8px 16px}
.slogo{font-size:20px}
.snav{display:flex;flex-direction:column;gap:6px}
.sitem{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:11px;cursor:pointer;color:#4b5b73;font-weight:600;font-size:14.5px;transition:.15s}
.sitem:hover{background:#f4f7fc}
.sitem.on{background:#eef4ff;color:#0f2f6b;box-shadow:inset 3px 0 0 #1b53ad}
.sic{font-size:16px}
.sfoot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:12px 10px 0;border-top:1px solid #eef2f8;font-size:12.5px}
.sfoot a{color:#6b7b93;text-decoration:none}
.sfoot a:hover{color:#1b53ad}
.main{flex:1;min-width:0}
#viewClass{max-width:1060px}

/* 班级页 */
.cls-hd{background:linear-gradient(135deg,#123a1f,#1f7a3d 60%,#2fa15a)}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
#viewClass textarea{width:100%;min-height:120px;padding:11px 13px;border:1.5px solid #dbe3ef;border-radius:10px;font-size:14.5px;font-family:inherit;outline:none;resize:vertical;line-height:1.7}
#viewClass textarea:focus{border-color:#1b53ad}
.filebtn{display:inline-flex;align-items:center;gap:7px;background:#eef4ff;color:#0f2f6b;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;border:1.5px dashed #b9cdf0}
.filebtn:hover{background:#e2edff}
.muted{color:#8a97ab;font-size:12.5px}
.clsTag{display:inline-block;background:#eef4ff;color:#1b53ad;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:700;margin-left:6px}
.okTag{background:#e9f7ef;color:#0a7d4f}
.badTag{background:#fdecec;color:#b91c1c}
.prevTbl{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:10px}
.prevTbl th{background:#f4f7fb;padding:6px 8px;text-align:left;border-bottom:1px solid #e5e7eb;white-space:nowrap;font-weight:700;color:#374151}
.prevTbl td{padding:5px 8px;border-bottom:1px solid #f0f3f8;color:#4b5563;white-space:nowrap}
.prevWrap{max-height:230px;overflow:auto;border:1px solid #eef2f8;border-radius:10px;margin-top:10px}
.paperPill{display:inline-flex;align-items:center;gap:5px;background:#f6f9fe;border:1px solid #e2eaf6;border-radius:8px;padding:4px 10px;font-size:12.5px;margin:4px 6px 0 0}
.exportBar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed #e2e8f2}
.exportBar .btn{padding:10px 16px;font-size:14px}

/* 班级报告（打印 & 长图 & PPT 共用一套内联样式，这里只放外框） */
#clsReport{background:#fff;border-radius:12px;overflow:hidden}
#clsReport.editOn [contenteditable="true"]{outline:1px dashed #b9cdf0;border-radius:4px}
@media print{
  .side,.hd,.exportBar,.foot,#toastBox{display:none!important}
  body{background:#fff}
  .wrap{padding:0;max-width:none}
  #clsReport{border-radius:0}
  #clsReport>div{width:auto!important;max-width:100%!important}
}
@media(max-width:820px){
  .shell{display:block}
  .side{position:static;width:auto;height:auto;flex-direction:row;align-items:center;gap:10px;border-right:none;border-bottom:1px solid #e5ebf4;padding:10px 12px}
  .sbrand{padding:0}
  .sbrand span:last-child,.sfoot{display:none}
  .snav{flex-direction:row;gap:6px;flex:1}
  .sitem{padding:8px 12px;font-size:13.5px}
  .grid2,.grid3{grid-template-columns:1fr}
}

/* 拖拽上传高亮 */
.card.dragging{outline:2.5px dashed #3b7ce0;outline-offset:3px;background:#f0f6ff;transition:all .12s}
.card.dragging .filebtn{background:#3b7ce0;color:#fff}
