/* 综合报告：屏上是一页文档，打印时铺满 A4。
   刻意做成「纸」的样子而不是卡片流——它是要递到家长手里的交付件。 */

.report-pane {
  flex: 1; overflow-y: auto; background: #eceef1; padding: var(--sp-3);
}

.rp-doc {
  background: #fff; border-radius: var(--r-md); padding: var(--sp-5) var(--sp-4);
  box-shadow: 0 1px 3px rgba(0,0,0,.08); color: var(--c-ink-1);
}

.rp-head { border-bottom: 2px solid #2f3d52; padding-bottom: var(--sp-3); margin-bottom: var(--sp-4); }
.rp-head h2 { font-size: 20px; font-weight: 800; letter-spacing: .5px; color: #2f3d52; }
.rp-meta { font-size: var(--fs-caption); color: var(--c-ink-3); margin-top: 4px; }
.rp-lead { font-size: var(--fs-sm); color: var(--c-ink-2); line-height: var(--lh-body); margin-top: var(--sp-2); }

.rp-sec { margin-bottom: var(--sp-5); break-inside: avoid; }
.rp-sec h3 {
  font-size: var(--fs-title); font-weight: 800; color: #2f3d52;
  border-left: 3px solid #2f3d52; padding-left: var(--sp-2); margin-bottom: var(--sp-3);
}
.rp-sec h3 small { font-weight: 400; font-size: var(--fs-caption); color: var(--c-ink-3); margin-left: var(--sp-2); }
.rp-subhead { font-size: var(--fs-sm); font-weight: 700; color: var(--c-ink-2); margin: var(--sp-3) 0 var(--sp-1); }

.rp-kv, .rp-tab { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.rp-kv th, .rp-kv td, .rp-tab th, .rp-tab td {
  border: 1px solid #dfe3e8; padding: 6px 8px; text-align: left; line-height: var(--lh-compact);
  vertical-align: top;
}
.rp-kv th { width: 88px; background: #f6f7f9; font-weight: 700; color: var(--c-ink-2); white-space: nowrap; }
.rp-tab th { background: #f6f7f9; font-weight: 700; color: var(--c-ink-2); }
.rp-tab tr.rp-undone td { color: var(--c-ink-3); background: #fafbfc; }

.rp-sec p { font-size: var(--fs-sm); color: var(--c-ink-2); line-height: var(--lh-body); margin-top: var(--sp-2); }
.rp-note { font-size: var(--fs-caption) !important; color: var(--c-ink-3) !important; }
.rp-empty { color: var(--c-ink-3) !important; }
.rp-warn {
  background: #fff1f0; border: 1px solid #f6c9c4; border-left: 3px solid #c93c3c;
  border-radius: var(--r-sm); padding: var(--sp-2) var(--sp-3);
  color: #7d3a33 !important; margin-top: var(--sp-3) !important;
}

/* 规划师手写区：屏上也画横线，家长一眼看出这里是留给人填的 */
.rp-manual { background: #fbfcfd; border: 1px dashed #c8d0da; border-radius: var(--r-sm); padding: var(--sp-3); }
.rp-lines { margin-top: var(--sp-3); }
.rp-line { border-bottom: 1px solid #d5dae1; height: 26px; }
.rp-sign {
  display: flex; justify-content: space-between; gap: var(--sp-3);
  margin-top: var(--sp-4); font-size: var(--fs-sm); color: var(--c-ink-2);
}

.rp-foot {
  border-top: 1px solid #dfe3e8; padding-top: var(--sp-3); margin-top: var(--sp-4);
  font-size: var(--fs-caption); color: var(--c-ink-3); line-height: var(--lh-body);
}

/* 首页入口卡配色（其余色见 style.css .fcard.*） */
.fcard.slate { background: linear-gradient(135deg, #2f3d52, #4a5c78); box-shadow: 0 10px 22px -8px #2f3d5288; }

/* 打印：脱掉手机外壳，让报告铺满 A4。
   外壳 .phone 是定死 350×730 的原型框，不解除就只能印出一张手机截图。
   2026-08-21：style.css 给桌面默认态 .phone 加了 max-width:1080px（B0 降级演示壳），
   这里必须一并复位，否则打印宽度会被这个 1080 上限卡住而不是铺满 A4 可打印区。 */
@media print {
  @page { margin: 14mm; }
  body { background: #fff !important; }
  .stage { display: block !important; padding: 0 !important; }
  .phone {
    width: auto !important; max-width: none !important; height: auto !important; max-height: none !important;
    background: none !important; border-radius: 0 !important; padding: 0 !important;
    box-shadow: none !important; border: 0 !important;
  }
  .screen, .screens, .phone > * { width: auto !important; height: auto !important; max-height: none !important;
    overflow: visible !important; border-radius: 0 !important; }
  .app-screen.active { display: block !important; height: auto !important; overflow: visible !important; }
  .no-print, .tabbar, .navbar, .stage-caption { display: none !important; }
  .app-screen:not(.active) { display: none !important; }
  .report-pane { overflow: visible !important; background: #fff !important; padding: 0 !important; }
  /* B3-2（2026-08-21 版式扫描）：0 内边距让正文/表格贴着可打印区边缘（浏览器 print
     预览里 @page margin 不会体现在屏幕坐标上，实测 td/p 距视口 0~0.5px）。补回一点
     水平内边距，物理打印时叠加在 @page 14mm 之上只是页边距略宽，不影响仍是真表格。 */
  .rp-doc { box-shadow: none !important; border-radius: 0 !important; padding: 0 var(--sp-4) !important; }
  .rp-sec { page-break-inside: avoid; }
  .rp-manual { background: #fff !important; }
}

/* T15 report extras */
.rp-sec-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rp-fold-btn {
  border: 1px solid #c8d0da; background: #fff; border-radius: 4px;
  padding: 2px 8px; font-size: 12px; color: #4a5c78; cursor: pointer;
}
.rp-fold.is-closed .rp-fold-body { display: none; }
.rp-l3-mark {
  background: #fff3b0;
  box-shadow: inset 0 0 0 1px #e6c200;
  padding: 6px 8px;
  border-radius: 4px;
}
.rp-conclusion { font-weight: 600; color: #2f3d52 !important; }
