/* 教员端 · 教学工作台样式 */
.coach-wrap{max-width:960px;margin:0 auto;padding:14px 12px 90px}
.crumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:10px;flex-wrap:wrap}
.crumb .cl{color:var(--blue);cursor:pointer;font-weight:600}
.crumb .cur{color:var(--text);font-weight:700}

.hero{background:linear-gradient(135deg,#185FA5,#0C447C);color:#fff;border-radius:14px;padding:16px 18px;margin-bottom:14px}
.hero h2{margin:0;font-size:19px;font-weight:800;display:flex;align-items:center;gap:8px}
.hero .hs{font-size:12.5px;opacity:.92;margin-top:4px;line-height:1.6}
.hero .hk{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.hero .hk div{flex:1;min-width:92px;background:rgba(255,255,255,.14);border-radius:10px;padding:8px 10px}
.hero .hk b{font-size:20px;display:block;line-height:1.2}
.hero .hk span{font-size:11.5px;opacity:.9}

.sect-title{display:flex;align-items:center;gap:8px;margin:16px 2px 10px;font-size:15px;font-weight:800}
.sect-title .cnt{font-size:12px;font-weight:600;color:var(--muted);background:#eef2f7;border-radius:999px;padding:1px 9px}

/* 班级卡片 */
.ccard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px;cursor:pointer;
  border-left:6px solid var(--blue);box-shadow:0 1px 2px rgba(20,40,80,.04);transition:.15s}
.ccard:hover{box-shadow:0 4px 14px rgba(20,40,80,.12);transform:translateY(-1px)}
.ccard.f2{border-left-color:var(--amber)} .ccard.f3{border-left-color:var(--red)} .ccard.f4{border-left-color:var(--green)}
.cc-top{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}
.cc-name{font-size:16.5px;font-weight:800;line-height:1.4}
.cc-badge{font-size:11.5px;background:#eaf2fb;color:var(--blue);border-radius:999px;padding:2px 10px;white-space:nowrap;font-weight:700}
.cc-meta{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.6}
.cc-kpis{display:flex;gap:14px;margin-top:10px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.cc-kpis b{color:var(--text);font-size:15px;font-weight:800}
.cc-bar{height:6px;background:#eef2f7;border-radius:999px;margin-top:10px;overflow:hidden}
.cc-bar i{display:block;height:100%;background:linear-gradient(90deg,#185FA5,#3B82C4);border-radius:999px}
.cc-go{margin-top:10px;text-align:right;font-size:13px;color:var(--blue);font-weight:700}

/* 班级信息条 */
.clsinfo{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.clsinfo .t{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.clsinfo .m{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.6}
.clsinfo .acts{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}

/* 学员表 */
.stab{width:100%;border-collapse:collapse;font-size:13.5px}
.stab th{background:#fafbfc;color:var(--muted);font-size:12.5px;padding:8px 8px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.stab td{padding:9px 8px;border-bottom:1px dotted var(--line);vertical-align:middle}
.stab tr:hover td{background:#fafbfd}
.pbar{width:76px;height:6px;background:#eef2f7;border-radius:999px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}
.pbar i{display:block;height:100%;background:var(--blue)}
.pill{display:inline-block;font-size:11.5px;border-radius:999px;padding:1px 8px;font-weight:700;border:1px solid var(--line);background:#f7f9fb;color:var(--muted)}
.pill.ok{background:#eef6e6;border-color:#bfdca6;color:#2f6b12}
.pill.no{background:#fdecea;border-color:#f5c6c0;color:#a32e22}
.pill.warn{background:#fbf3e3;border-color:#ecd6ab;color:#8a550f}

/* 课件列表 */
.cwgroup{margin-bottom:14px}
.cwgroup>.gh{display:flex;align-items:center;gap:8px;background:#0C447C;color:#fff;border-radius:10px;padding:7px 12px;font-size:13.5px;font-weight:800;margin-bottom:6px}
.cwgroup>.gh .gn{margin-left:auto;font-size:12px;background:rgba(255,255,255,.18);border-radius:999px;padding:1px 9px}
.cwrow{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:7px;cursor:pointer;transition:.12s}
.cwrow:hover{border-color:#bcd3ea;background:#fbfdff;box-shadow:0 2px 8px rgba(20,40,80,.07)}
.cwno{flex:0 0 auto;width:74px;text-align:center;font-size:12px;font-weight:800;color:var(--blue);background:#eaf2fb;border-radius:8px;padding:5px 2px;line-height:1.3}
.cwmain{flex:1;min-width:0}
.cwsubj{font-size:14.5px;font-weight:700;line-height:1.45}
.cwsub{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5}
.cwgo{flex:0 0 auto;color:#b9c4d0;font-size:20px;font-weight:700}
.cwrow.noppt .cwno{background:#f2f4f7;color:var(--muted)}

/* 课件详情 */
.cwhead{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}
.cwhead .t{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.4}
.cwhead .m{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.7}
.goalgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}
.goalgrid .g{background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.goalgrid .g .k{font-size:11.5px;color:var(--muted)}
.goalgrid .g .v{font-size:13.5px;font-weight:700;line-height:1.5;margin-top:2px}

.pptbox{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pptbar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fafbfc;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pptpage{padding:16px 18px;min-height:220px;white-space:pre-wrap;font-size:14.5px;line-height:1.9;color:#20303f;background:#fff}
.pptnav{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--line);background:#fafbfc}
.pptnav .pg{margin:0 auto;font-size:13px;color:var(--muted);font-weight:700}

.ptbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px}
.ptbox h4{margin:0 0 8px;font-size:14.5px;font-weight:800;display:flex;align-items:center;gap:7px}
.ptlist{margin:0;padding-left:0;list-style:none}
.ptlist li{position:relative;padding:9px 12px 9px 34px;border:1px solid var(--line);border-radius:10px;margin-bottom:7px;background:#fbfcfe;font-size:14px;line-height:1.75}
.ptlist li .n{position:absolute;left:10px;top:9px;width:19px;height:19px;border-radius:6px;background:var(--red);color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ptlist.kp li{background:#f7f9fb;font-size:13px;line-height:1.7;color:#4b5563}
.ptlist.kp li .n{background:#93a3b4}
.morebtn{display:block;width:100%;text-align:center;font-size:13px;color:var(--blue);padding:7px;border:1px dashed #c4d0dc;border-radius:9px;cursor:pointer;background:#fff}

.scoretb{width:100%;border-collapse:collapse;font-size:13.5px}
.scoretb th{background:#fafbfc;font-size:12.5px;color:var(--muted);padding:8px;text-align:left;border-bottom:1px solid var(--line)}
.scoretb td{padding:9px 8px;border-bottom:1px dotted var(--line);vertical-align:top;line-height:1.65}
.scoretb .full{font-weight:900;color:var(--blue);white-space:nowrap;text-align:center}
.scoretb .grp{background:#0C447C;color:#fff;font-weight:800;font-size:13px;padding:7px 10px}
.scoretb .rule{font-size:12px;color:var(--muted)}

.bottombar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 12px;display:flex;gap:10px;z-index:20;box-shadow:0 -2px 10px rgba(20,40,80,.06)}
.bottombar .btn{flex:1;padding:12px;font-size:15px;font-weight:800}
.empty2{text-align:center;color:var(--muted);padding:36px 10px;font-size:14px}
@media(max-width:640px){
  .stab{font-size:12.5px}
  .cwno{width:60px;font-size:11px}
  .hero .hk div{min-width:78px}
}
