/* M-34：C-76「今天」首页 · C-77 备课包 */
.grow{flex:1;min-width:0}
a.tag{text-decoration:none}
a.stat{text-decoration:none;color:var(--ink)}
a.stat:hover{background:var(--pri-s)}
.lab{font-weight:700;font-size:13px;color:var(--muted);margin-right:2px}

/* ---------- 今天：同班备课与跟进同屏，汇总放在任务之后（C-266） ---------- */
.td{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:24px;align-items:start}
.td-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.td-list{padding:0;overflow:hidden}
.td-lh{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}
.td-lh h2{margin:0;font-size:18px}
.td-lh h2 small{font-size:13px;color:var(--muted);font-weight:500;margin-left:8px}
.td-lh p,.td-side-note{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.6}
.td-rows{display:flex;flex-direction:column}
.tdr{padding:20px 24px 0;border-top:1px solid var(--line);min-width:0}
.tdr-header{display:flex;align-items:baseline;gap:16px;margin-bottom:16px}
.tdr time{flex:none;font-size:18px;font-weight:600;color:var(--pri-t);font-variant-numeric:tabular-nums}
.tdr-name{min-width:0}
.tdr-name h3{margin:0;font-size:16px;overflow-wrap:anywhere}
.tdr-name small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.tdr-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.tdr-work section{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:8px}
.tdr-work h4{margin:0;font-size:14px;font-weight:600;color:var(--muted)}
.tdr-work .btn{margin-top:auto}
.tdr-work .lectitle{font-size:16px;overflow-wrap:anywhere}
.tdr-basis{margin:0 0 4px;font-size:13px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.tdr-review{display:flex;align-items:baseline;gap:4px;margin:0;font-size:14px;color:var(--muted);min-height:44px}
.tdr-review b{font-size:24px;line-height:1.5;font-variant-numeric:tabular-nums;color:var(--ink)}
.tdr-review.pending b{color:var(--purple)}
.tdr-basis.pending{color:var(--amber-t)}
.tdr-footer{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:16px;padding:8px 0;flex-wrap:wrap}
.tdr-h{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 8px;border:0;background:none;text-align:left;border-radius:var(--r-sm);color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.tdr-h:hover{background:var(--tonal);color:var(--ink)}
.tdr-chev{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.tdr.open .tdr-chev{transform:rotate(90deg)}
.tdr-body{padding:8px 0 20px;display:flex;flex-direction:column;gap:12px}
.tdr-body[hidden]{display:none}
.tdr .lecstep button{background:var(--tonal);flex-shrink:0}
.tdr .lecstep span{white-space:nowrap}
.tdr-fix{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px}
.tdr-fix p{flex-basis:100%;margin:2px 0 0;line-height:1.65}
.tdr-go{display:flex;flex-wrap:wrap;gap:4px 16px}
.tdr-go .rowlink{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.td-empty{padding:16px 24px 32px;color:var(--muted);font-size:14px}
.td-empty p{margin:0 0 16px;line-height:1.65}
.td-note{margin:8px 10px 2px}
.td-others{padding:0}
.td-others summary{display:flex;align-items:center;gap:8px;min-height:56px;padding:0 18px;font-weight:700;font-size:15px;cursor:pointer;list-style:none;border-radius:var(--r-lg)}
.td-others summary::-webkit-details-marker{display:none}
.td-others summary::after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(-45deg);transition:transform .15s}
.td-others[open] summary::after{transform:rotate(45deg)}
.td-others summary:hover{background:var(--soft)}
.td-others summary small{font-size:13px;color:var(--muted);font-weight:500}
.td-others .tablewrap{border-top:0;padding:0 16px 12px}
.td-t{width:100%}
.td-t thead th{width:auto;min-width:0;text-align:left;font-size:13px;color:var(--muted)}
.td-t td{padding:8px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
.td-t td small{display:block;color:var(--muted);font-size:12px}
.td-links{white-space:nowrap;text-align:right}
.lecstep{display:flex;align-items:center;gap:4px;flex:none}
.lecstep span{font-size:13px;color:var(--muted);margin-right:2px}
.lecstep button{width:44px;height:44px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--tonal);font-size:18px;font-weight:700;color:var(--ink)}
.lecstep button:hover{background:var(--pri-s)}
.lecstep button[disabled]{opacity:.4;cursor:not-allowed}
.lecstep b{font-size:16px;min-width:68px;text-align:center}
.lectitle{display:block;font-size:15px}
.kchip.sm{padding:4px 10px;font-size:13px;text-decoration:none;color:var(--ink);min-height:32px}
.td-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:0;min-width:0}
.td-todo,.td-fb{padding:20px}
.td-side h3{margin:0 0 8px;font-size:16px}
.td-side-note{margin:0 0 12px}
.td-source-note{margin:12px 0 0;font-size:13px;color:var(--muted);line-height:1.65;overflow-wrap:anywhere}
#td-todo a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-height:44px;padding:0 8px;margin:0 -8px;border-radius:var(--r-sm);text-decoration:none;color:var(--ink);font-size:14px}
#td-todo a:hover{background:var(--soft)}
.td-fbi{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;align-items:start;padding:8px;margin:0 -8px;border-radius:var(--r-sm);text-decoration:none;color:var(--ink);font-size:14px;line-height:1.45}
.td-fbi small{grid-column:2;color:var(--faint);font-size:12px}
.td-fbi:hover{background:var(--soft)}
.td-overview{grid-column:1/-1;min-width:0}
.td-overview h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--muted)}
.td-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.td-kpi .stat{padding:12px 16px;display:flex;align-items:flex-start;gap:12px;border-radius:var(--r-sm);min-width:0;background:transparent}
.td-kpi .stat b{font-size:24px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums}
.td-kpi .stat span{font-size:13px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.td-kpi .stat small{display:block;font-size:12px}
.td-kpi .stat.warn b{color:var(--amber-t)}
.td-kpi .stat.warn{background:transparent}
.td-kpi a.stat:hover{background:var(--pri-s)}
@media (max-width:1100px){.td{grid-template-columns:minmax(0,1fr);gap:16px}.td-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media (max-width:900px){.td-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.tdr-work{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
  .td-lh{flex-wrap:wrap;padding:16px}.td-lh h2 small{display:block;margin:4px 0 0}
  .tdr{padding:16px 16px 0}.tdr-header{gap:12px}
  .tdr-work{grid-template-columns:minmax(0,1fr);gap:20px}
  .tdr-review{min-height:0}.tdr-footer{gap:0;margin-top:12px}
  .tdr-go{gap:4px 12px}.td-side{grid-template-columns:minmax(0,1fr)}
  .td-todo,.td-fb{padding:16px}.td-kpi{gap:4px}.td-kpi .stat{flex-direction:column;gap:4px;padding:12px 8px}
  .td-empty{padding:16px}.td-t{min-width:560px}
}
@media (prefers-reduced-motion:reduce){.tdr-chev{transition:none}}

/* ---------- 备课包 ---------- */
.prep{display:grid;grid-template-columns:var(--split-left,280px) minmax(0,1fr);gap:16px;align-items:start}
.pr-side{padding:12px 14px;position:sticky;top:0;max-height:calc(100vh - 170px);display:flex;flex-direction:column;overflow:hidden}
.pr-side .field{margin:0 0 10px}
.pr-side .field small{font-weight:400}
.pr-lecs{list-style:none;margin:4px -6px 0;padding:0 6px;overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:8px}
.pr-lecs button{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 8px;border:0;background:none;border-radius:var(--r-sm);text-align:left;font-size:14px;color:var(--ink)}
.pr-lecs button em{font-style:normal;font-weight:700;color:var(--muted);text-align:center}
.pr-lecs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr-lecs button small{color:var(--faint);font-size:12px}
.pr-lecs button:hover{background:var(--soft)}
.pr-lecs button.on{background:var(--pri-s);color:var(--pri-t);font-weight:700}
.pr-lecs button.on em{color:var(--pri-t)}
.pr-lecs button.on small{color:var(--muted)}   /* --faint 在 --pri-s 上只有 4.4:1 */
.pr-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.pr-head{display:flex;align-items:center;gap:14px;padding:14px 18px}
.pr-head h2{margin:2px 0;font-size:20px;font-weight:600}
.pr-head p{margin:0}
.pr-nav{display:flex;gap:8px;flex:none}
.pr-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.pr-sec{padding:14px 16px;min-width:0}
.pr-sec h3{margin:0 0 10px;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pr-sec h3 small,.pr-sec h4 small{font-size:13px;color:var(--muted);font-weight:500}
.pr-sec h3 .btn{margin-left:auto}
.pr-sec h4{font-size:14px;margin:14px 0 8px}
.pr-kps{display:flex;flex-wrap:wrap;gap:8px}
.pr-kps .kchip{flex-direction:column;align-items:flex-start;gap:0;text-decoration:none;color:var(--ink);padding:6px 12px}
.pr-kps .kchip small{font-size:12px}
.pr-pre{list-style:none;margin:0;padding:0}
.pr-pre li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;padding:7px 0;border-top:1px solid var(--line)}
.pr-pre li:first-child{border-top:0}
.pr-pre a{text-decoration:none;color:var(--ink)}
.pr-pre a:hover{text-decoration:underline}
.pr-thumbs{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.pr-thumbs .qimg img{max-height:190px}
.pr-thumbs .qimg .cap{flex-basis:100%}
.pr-thumbs .qimg .noimg{padding:8px 10px 0}
.pr-here{margin:10px 0 0}
.pr-exam{width:100%}
.pr-exam thead th{width:auto;min-width:0;text-align:left;font-size:13px;color:var(--muted)}
.pr-exam td{padding:8px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
.pr-exam td small{display:block;color:var(--muted);font-size:12px}
.pr-exam .tag{margin:0 4px 4px 0}
.pr-sec .tablewrap{border-top:0}
.pr-vid{margin-bottom:12px}
.pr-vid>small{margin-left:6px}
.pr-vid .reclinks{margin-top:6px}
.pr-pgroup+.pr-pgroup{margin-top:12px}
.pr-pgroup h4{margin-top:0}
.pr-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.pr-notes li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;font-size:14px}
.pr-notes img{width:120px;max-height:90px;object-fit:contain;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--soft);cursor:zoom-in}
.pr-notes p{margin:4px 0 0;white-space:pre-wrap}
@media (max-width:1180px){.prep{grid-template-columns:var(--split-left,240px) minmax(0,1fr)}}

/* 打印备课单 */
@media print{
  #print-sheet.pr-print h2{font-size:12pt;margin:5mm 0 2mm;padding-bottom:1mm;border-bottom:.5pt solid #999}
  #print-sheet.pr-print p{font-size:10pt;margin:0 0 2mm}
  #print-sheet.pr-print .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}
  #print-sheet.pr-print .pcell{break-inside:avoid;page-break-inside:avoid}
  #print-sheet.pr-print .pcell img{max-width:100%;max-height:48mm;display:block}
  #print-sheet.pr-print .pcell small{display:block;font-size:7.5pt;color:#555;margin-top:1mm}
  #print-sheet.pr-print table{border-collapse:collapse;width:100%;font-size:9.5pt}
  #print-sheet.pr-print td{border-bottom:.5pt solid #ccc;padding:1mm 2mm;vertical-align:top}
}
