/* M-51 C-116 阶段报告、C-119 待审核、C-122 个人方案。报告是一张「纸」：五段编号、数字等宽；被退回的那份给当前卡顶条；只用 tokens.css 的档位。 */
.sg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.sg-grid .panel{padding:16px 20px}
.sg-grid .panel.cur{box-shadow:inset 0 3px 0 var(--pri),0 0 0 1px var(--glass-edge)}
.sg-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.sg-h h3{margin:0;font-size:16px;font-weight:700;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sg-h h3 small{font-size:12px;font-weight:500;color:var(--faint)}
.sg-dl{display:grid;grid-template-columns:96px 1fr;gap:8px 14px;margin:0;font-size:14px;line-height:1.6}
.sg-dl dt{color:var(--muted);font-size:13px;padding-top:1px}.sg-dl dd{margin:0;min-width:0}
.sg-dl ol,.sg-sec ol{margin:0;padding-left:20px}
.sg-hist{list-style:none;margin:8px 0 0;padding:0}.sg-hist li{padding:6px 0;border-top:1px solid var(--tonal);font-size:13px}.sg-hist li:first-child{border-top:0}
.sg-hist small{display:block;font-size:12px;color:var(--faint)}
.sg-open{margin:0 0 8px;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sg-reps{list-style:none;margin:0;padding:0}
.sg-reps li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--tonal);font-size:14px}.sg-reps li:first-child{border-top:0}
.sg-reps li span:not(.tag){flex:1;min-width:0;color:var(--muted)}
.sg-kps{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;align-items:center}
.sg-x{border:0;background:none;padding:0 0 0 4px;color:var(--muted);font:inherit;cursor:pointer;min-height:24px}
/* 报告纸 */
.sg-page{display:flex;flex-direction:column;gap:12px;max-width:880px}
.sg-status{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.sg-status .rowlink{margin-left:auto}
.sg-paper{padding:8px 28px 20px}
.sg-paper.cur{box-shadow:inset 0 3px 0 var(--pri),0 0 0 1px var(--glass-edge)}
.sg-sec{padding:16px 0;border-top:1px solid var(--tonal);font-size:14px;line-height:1.7}.sg-sec:first-child{border-top:0}
.sg-sec h3{margin:0 0 8px;font-size:16px;font-weight:700;display:flex;align-items:center;gap:10px}
.sg-sec h3 i{font-style:normal;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:var(--r-pill);background:var(--pri-s);color:var(--pri-t);font-size:13px;font-weight:700}
.sg-sec p{margin:0 0 6px;max-width:64ch}
.sg-sec .field{margin:8px 0}
.sg-sec textarea,.sg-sec input:not([type=checkbox]){width:100%;border:1px solid transparent;border-radius:var(--r-sm);min-height:44px;padding:8px 12px;background:var(--tonal);font:inherit;line-height:1.55}
.sg-sec textarea{resize:vertical}
.sg-sec textarea:focus,.sg-sec input:focus{background:#fff;border-color:var(--line2)}
.sg-base{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:var(--r-sm);background:var(--soft)}.sg-base .tag{align-self:flex-start;margin-bottom:4px}
.sg-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.sg-stats>div{padding:10px 12px;border-radius:var(--r-sm);background:var(--soft)}
.sg-stats dt{font-size:12px;color:var(--muted)}.sg-stats dd{margin:2px 0 0;font-size:14px}
.sg-stats dd b{font-size:20px;font-weight:700;color:var(--ink)}.sg-stats dd small{display:block;font-size:12px;color:var(--faint)}
.sg-weeks{display:flex;align-items:flex-end;gap:10px;height:112px;margin:6px 0 10px;padding-bottom:2px}
.sg-weeks>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-width:36px;height:100%}
.sg-weeks i{display:block;width:22px;min-height:2px;border-radius:4px 4px 0 0;background:var(--l1)}
.sg-weeks b{font-size:12px;font-weight:600}.sg-weeks small{font-size:11px;color:var(--faint)}
.sg-typ h4{margin:10px 0 6px;font-size:14px;font-weight:700}.sg-typ h4 small{font-size:12px;font-weight:500;color:var(--faint);margin-left:6px}
.sg-cands{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;max-height:300px;overflow:auto;padding:2px}
.sg-cands button{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;padding:6px;text-align:left;cursor:pointer;min-height:44px}
.sg-cands button.on{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-s)}
.sg-cands img{width:100%;height:84px;object-fit:contain;background:var(--soft);border-radius:6px}
.sg-cands small{font-size:12px;color:var(--muted)}
.sg-tyimg{display:block;max-width:100%;max-height:220px;margin:4px 0 8px;border-radius:var(--r-sm);background:var(--soft)}
.sg-sign{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.sg-sign b{color:var(--ink);font-weight:600}
.sg-ev{list-style:none;margin:8px 0 0;padding:0}.sg-ev li{padding:3px 0;font-size:13px}.sg-ev .num{color:var(--faint);margin-right:6px}
/* M-107 给家长的话、仍然反复每条一句、下阶段每讲验收；AI 起草来源标（紫 = 来源 / 类别标签） */
.sg-say .field>span{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sg-src:empty{display:none}
.sg-rows{margin-top:12px}.sg-rows h4{margin:0 0 6px;font-size:14px;font-weight:700}.sg-rows h4 small{font-size:12px;font-weight:500;color:var(--faint);margin-left:6px}
.sg-row{display:grid;grid-template-columns:minmax(10em,16em) minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--tonal)}
.sg-row>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.sg-row>span:first-child small{font-size:12px;color:var(--faint)}
.sg-row>span:first-child .tag{align-self:flex-start}
.sg-pvmodal{width:min(1180px,calc(100vw - 32px));max-width:none;padding:0;background:#f3f4f8}
.sg-pvmodal .sv{border-radius:0}
@media (max-width:760px){.sg-row{grid-template-columns:1fr}}
@media print{body.printing #print-sheet.sv-sheet{color:inherit;line-height:1.6}}
@media (max-width:900px){.sg-grid{grid-template-columns:1fr}.sg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sg-paper{padding:6px 16px 16px}.sg-dl{grid-template-columns:1fr}}
@media print{
  body.printing #print-sheet.sg-print{color:#000;line-height:1.65}
  #print-sheet.sg-print header{border-bottom:1.5px solid #000;margin-bottom:4mm;padding-bottom:2mm;text-align:center}
  #print-sheet.sg-print h1{font-size:17pt;margin:0 0 1mm}#print-sheet.sg-print header p{margin:0;font-size:9.5pt}
  #print-sheet.sg-print .sg-sec{border-top:1px solid #999;padding:3mm 0;break-inside:avoid;font-size:10.5pt}
  #print-sheet.sg-print .sg-sec h3 i{background:none;border:1px solid #000;color:#000}
  #print-sheet.sg-print .sg-base,#print-sheet.sg-print .sg-stats>div{background:none;border:1px solid #bbb}
  #print-sheet.sg-print .sg-weeks i{background:#555}
  #print-sheet.sg-print .faint{color:#555}
}
.sg-late{color:var(--bad);font-weight:600}
.sg-err{margin:0;padding:10px 14px;border-radius:var(--r-sm);background:var(--bad-s);color:var(--bad);font-size:14px}
@media print{#print-sheet.sg-print .sg-weeks i{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* M-50 B2：方案与报告里「入学测评 · 家长端」占一整行；下阶段方案里「下一份大约」 */
.sg-grid .sg-as{grid-column:1/-1}
.sg-as .clr-err{padding:8px 0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.sg-as .clr-err p{margin:0;color:var(--muted)}
.sg-next input{max-width:220px}

