/* 教学部数据工作台 —— 「课程见面」模块（老师端）
   类名前缀 mt-（避让 app.css 里的 .mt8/.mt12 这类外边距工具类） */

.mt-card .card-head h3{margin-bottom:0}

/* ---------- 工具条 ---------- */
.mt-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.mt-stat{font-size:12px;color:var(--dim)}
.mt-stat.dirty{color:var(--warn)}

/* ---------- 选同学 ---------- */
.mt-pick{margin:12px 0}
.mt-pick-h{font-size:12px;color:var(--mut);margin-bottom:6px}
.mt-pick-h em{font-style:normal;color:var(--dim);margin-left:6px}
.mt-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow:auto;padding:2px}
.mt-chip{
  appearance:none;font-family:inherit;font-size:13px;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--txt);
  transition:.15s;
}
.mt-chip:hover{border-color:#cfd8e5;background:#fafcff}
.mt-chip.on{background:var(--brand-soft);border-color:#bcd0ff;color:var(--brand-deep);font-weight:600}
.mt-dot{font-style:normal;font-size:11px;opacity:.75}
.mt-chip.st-none .mt-dot{color:var(--dim)}
.mt-chip.st-pending{border-color:#ecd6a6}
.mt-chip.st-pending .mt-dot{color:var(--warn)}
.mt-chip.st-wait{border-color:#c8d7f7}
.mt-chip.st-wait .mt-dot{color:var(--brand)}
.mt-chip.st-ok{border-color:#bfe6d4}
.mt-chip.st-ok .mt-dot{color:var(--ok)}
.mt-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--dim)}
.mt-legend i{font-style:normal;margin-right:3px}
.mt-lg.st-pending{color:var(--warn)} .mt-lg.st-wait{color:var(--brand)} .mt-lg.st-ok{color:var(--ok)}

/* ---------- 当前同学 ---------- */
.mt-subj{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.mt-subj b{font-size:16px}
.mt-en{font-size:12px;color:var(--dim)}
.mt-subj em{font-style:normal;font-size:12px;color:var(--dim);flex:1 1 240px}
.mt-when{flex:0 0 100%;font-size:12px;color:var(--mut)}
.mt-st.st-wait{background:var(--brand-soft);color:var(--brand-deep)}
.mt-st.st-ok{background:var(--ok-soft);color:var(--ok)}
.mt-st.st-pending{background:var(--warn-soft);color:var(--warn)}
.mt-st.st-none{background:var(--line2);color:var(--dim)}

/* ---------- 预填对比 ---------- */
.mt-pre{margin:10px 0;border:1px dashed var(--line);border-radius:10px;padding:8px 12px;background:#fbfcfe}
.mt-pre summary{cursor:pointer;font-size:12.5px;color:var(--mut)}
.mt-pre-b{margin-top:8px;font-size:12.5px;color:var(--mut);line-height:1.7}
.mt-pre-b p{margin:0 0 6px}
.mt-pre-b p:last-child{margin-bottom:0}
.mt-pre-b b{color:var(--txt);margin-right:6px}

/* ---------- 三块填写 ---------- */
.mt-sec{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:14px 0 6px}
.mt-sec b{font-size:13.5px}
.mt-sec em{font-style:normal;font-size:12px;color:var(--dim)}
.mt-box{position:relative}
.mt-box textarea{padding-right:42px}
.mt-mic{
  position:absolute;right:7px;bottom:8px;
  appearance:none;border:1px solid var(--line);background:#fff;border-radius:8px;
  width:30px;height:28px;font-size:14px;line-height:1;cursor:pointer;transition:.15s;
}
.mt-mic:hover{border-color:#cfd8e5;background:#fafcff}
.mt-mic.on{background:var(--danger-soft);border-color:#f0c4c4;animation:mtpulse 1.1s infinite}
@keyframes mtpulse{50%{opacity:.5}}

/* ---------- 底部动作 ---------- */
.mt-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.mt-savebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}

/* ---------- 导入弹窗 ---------- */
.mt-imp-ops{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.mt-ck{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--mut)}
.mt-ck input{width:auto}
/* 拖 .xlsx 进来的落点 */
.mt-drop{margin-top:12px;border:1.5px dashed var(--line);border-radius:12px;padding:10px 12px;background:#fbfcfe;transition:.15s}
.mt-drop.on{border-color:var(--brand);background:var(--brand-soft)}
.mt-drop-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px}
.mt-drop-h em{font-style:normal;font-size:12px;color:var(--dim)}
.mt-drop-btn{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.mt-drop-btn span{font-size:12px;color:var(--dim)}
.mt-drop textarea{display:block;width:100%;margin:0}
.mt-prev{margin-top:10px}
.mt-prev-h{font-size:12.5px;color:var(--mut);margin-bottom:6px}
.mt-prev .table-wrap{max-height:280px;overflow:auto}
.mt-see{background:var(--bg);border-radius:12px;padding:12px}

/* ---------- 2026-10-15 加：见面一览（按时间成组）+ 会谈纪要 + 七项分数 ---------- */
.mt-day{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fbfcfe}
.mt-day-h{font-size:13.5px;font-weight:600;margin-bottom:8px}
.mt-slot{border:1px dashed var(--line2);border-radius:10px;padding:8px 10px;margin-bottom:8px;background:#fff}
.mt-slot:last-child{margin-bottom:0}
.mt-slot-h{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13px;margin-bottom:6px}
.mt-slot-none,.mt-ov-goal,.mt-ov-sc{font-size:12px;color:var(--mut)}
.mt-slot-none{color:var(--dim)}
.mt-ov-stu{border-top:1px solid var(--line2);padding:7px 2px}
.mt-ov-stu:first-of-type{border-top:0}
.mt-ov-stu.on{background:var(--brand-soft);border-radius:8px;padding-left:6px;padding-right:6px}
.mt-ov-l1{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mt-ov-nm{border:0;background:none;padding:0;font:inherit;font-size:13.5px;font-weight:600;
  color:var(--brand-deep);cursor:pointer;text-decoration:underline dotted}
.mt-ov-nm:hover{color:var(--brand)}
.mt-ov-goal{margin-top:3px;display:flex;gap:5px;align-items:baseline;line-height:1.5}
.mt-ov-goal .goal-ic{font-style:normal}
.mt-ov-sc{margin-top:2px}
.mt-lo{color:#c0392b}
.mt-hi{color:#1e8e57}
.mt-none{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.mt-none>b{font-size:13px}
.mt-none .mt-chips{margin-top:6px;max-height:none}

/* 他自己写的目标 + 老师判断「合不合理」 */
.mt-goal{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:6px 0 10px;background:#fbfcfe}
.mt-goal>b{font-size:13px}
.mt-goal-tx{font-size:13px;line-height:1.7;margin:4px 0 6px;white-space:pre-wrap;word-break:break-word}
.mt-fit{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mut)}
.mt-fit select{width:auto;min-width:150px;padding:5px 8px;font-size:12.5px}

/* 七项分数 */
.mt-sc{margin:10px 0;border:1px dashed var(--line);border-radius:10px;padding:8px 12px;background:#fbfcfe}
.mt-sc summary{cursor:pointer;font-size:12.5px;color:var(--mut)}
.mt-sc-b{margin-top:8px}
.mt-sc-tb td{text-align:center;font-size:13px}
.mt-sc-tb td.dim{color:var(--dim)}

/* 会谈纪要三块的小标题 */
.mt-grp{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:18px 0 4px;
  padding-top:12px;border-top:1px solid var(--line2)}
.mt-grp b{font-size:13.5px}
.mt-grp em{font-style:normal;font-size:12px;color:var(--dim)}

/* ---------- 2026-10-15 晚加：点名字 → 弹窗里填这一位的整份 ----------
   老师反馈：原来点名字是「滚到页面下面那一块」，换一个人还要叉掉、再往上滑回去找时段，
   太麻烦。改成小窗口 + 底部「上一位 / 下一位」直接翻人。 */
.modal.mt-dlg{max-width:1080px}
.mt-dlg .modal-body{padding:14px 16px}
.mt-dlg-wrap{min-width:0}
.mt-dlg .mt-pick{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.mt-dlg .mt-chips{max-height:78px}
.mt-dlg .mt-legend{margin-top:6px}
.mt-navhint{color:var(--dim)}
.mt-navfoot{margin-right:auto;font-size:12px;color:var(--dim)}
/* 顶部跨栏（目标 + 七项分数）→ 下面左右两栏：一屏基本看全，少滚动。
   窄屏（<940px）自动变一栏 */
.mt-dlg-top{margin-bottom:2px}
.mt-dlg-top .mt-goal{margin-bottom:8px}
.mt-dlg-body{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}
.mt-col{min-width:0}
.mt-dlg-body .mt-col>*:first-child{margin-top:0}
.mt-dlg-body .mt-grp:first-child{padding-top:0;border-top:0}

/* ---------- 语音提示 ---------- */
#mt-toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,14px);
  background:rgba(27,36,48,.94);color:#fff;font-size:13px;padding:10px 16px;border-radius:10px;
  max-width:min(88vw,520px);opacity:0;pointer-events:none;transition:.25s;z-index:9999;line-height:1.6;
}
#mt-toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:940px){
  .modal.mt-dlg{max-width:640px}
  .mt-dlg-body{grid-template-columns:1fr}
  .mt-dlg-body .mt-col+.mt-col{margin-top:6px}
}
@media(max-width:640px){
  .mt-chips{max-height:none}
  .mt-subj b{font-size:15px}
  .mt-fit{width:100%}
  .mt-fit select{flex:1}
  .mt-sc-tb{font-size:12px}
  .modal.mt-dlg{max-width:none;max-height:96vh}
  .mt-navfoot{display:none}
}
