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

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

.rp-doc {
  background: transparent; border-radius: var(--r-md); padding: 0;
  box-shadow: none; color: var(--c-ink-1);
}

.rp-head { border-bottom: 2px solid #0C1B16; padding-bottom: var(--sp-3); margin-bottom: var(--sp-4); }
.rp-head h2 { font-size: 20px; font-weight: 800; letter-spacing: .5px; color: #0C1B16; }
.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: #0C1B16;
  border-left: 3px solid #0C1B16; 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, #0C1B16, #3A4A43); box-shadow: 0 10px 22px -8px #0C1B1688; }

/* 打印：脱掉手机外壳，让报告铺满 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; }
  button, input, textarea, select,
  .navbar, .tabbar, .no-print,
  .chip, .chips, .sg-chip, .ask-chips, .coach-face-chips, .suite-tab-btn {
    display: none !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: #3A4A43; cursor: pointer;
}
.rp-fold.is-closed .rp-fold-body { display: none; }
/* 2026-09-05 大圣批：L3 待复核标记从荧光笔黄改为 W0 琥珀色系（与「需巩固」色签
   同族），语义不变——类名保留（test_family_dynamics L3 断言锚类名），
   配 .rp-l3-tag 小签让家长知道这块颜色是什么意思。 */
.rp-l3-mark {
  background: rgba(138, 81, 0, .07);
  border-left: 3px solid #8A5100;
  box-shadow: none;
  padding: 8px 10px;
  border-radius: 8px;
}
.rp-l3-tag {
  display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 999px;
  margin: 0 0 6px; background: rgba(138, 81, 0, .14); color: #8A5100;
  font-size: 11px; font-weight: 700; white-space: nowrap;
}
.rp-conclusion { font-weight: 600; color: #0C1B16 !important; }

/* W2 报告专业化（2026-09-04）：数字判断句节点本身不额外加粗（.rp-conclusion 父级
   已加粗），只留个锚点，不重复视觉层级。 */
[data-number-judgement] { }

/* 摘要卡下的三档总评签一行 */
.rp-overall-grade { display: flex; align-items: center; gap: 8px; margin-top: var(--sp-2); flex-wrap: wrap; }
.rp-overall-grade-note { font-size: var(--fs-caption); color: var(--c-ink-3); }

/* 多元路径对比表卡片：与摘要卡/仪表区其它卡片同一套 .rp-sec 间距，标题复用 .ch/.ct */
.rp-path-compare-card { padding-top: 4px; }
.rp-path-compare-card table[data-path-compare] {
  margin-top: 10px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(31, 83, 70, 0.14);
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(31, 83, 70, 0.04);
}
.rp-path-compare-card table[data-path-compare] th {
  background: rgba(31, 83, 70, 0.08);
  color: #1F5346;
  font-weight: 700;
  font-size: 12px;
  padding: 9px 12px;
  border-bottom: 1px solid rgba(31, 83, 70, 0.12);
}
.rp-path-compare-card table[data-path-compare] td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(31, 83, 70, 0.06);
  font-size: 13px;
  line-height: 1.45;
  color: var(--t1, #0C1B16);
}
.rp-path-compare-card table[data-path-compare] td[data-path-percent] {
  font-weight: 700;
  color: #1F5346;
}

/* ═══════════════════════════════════════════════════════════
   2026-09-08 报告视觉一致性升级：本周三件事行动表卡片化
   - 彻底解决移动端 390 视口下 3 列表格横向挤压、竖条换行（文字挤在一块）问题
   - 对齐图2/图3现代卡片视觉：纯白底独立卡片、轻阴影、左侧强调绿边、充足行距
   - 100% 保持 table/thead/tbody/tr/td 结构，门禁断言完全零破损
   ═══════════════════════════════════════════════════════════ */
#screen-report #rp-weekly-three {
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(31, 83, 70, 0.16);
  box-shadow: 0 8px 28px rgba(31, 83, 70, 0.07), 0 2px 8px rgba(12, 27, 22, 0.04);
  padding: 16px 0 16px !important;
  margin-bottom: 24px;
}

#screen-report #rp-weekly-three .ch {
  padding: 0 16px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#screen-report #rp-weekly-three .rp-todo-intro {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--t2, rgba(12, 27, 22, 0.68)) !important;
  padding: 0 16px 12px !important;
  margin: 0 !important;
}

#screen-report #rp-weekly-three .rp-todo-outro {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: var(--t2, rgba(12, 27, 22, 0.68)) !important;
  padding: 12px 16px 4px !important;
  margin: 0 !important;
}

.rp-weekly-actiontable {
  margin-top: 4px;
  width: 100%;
}

/* 核心：将行动表转为卡片流 */
#screen-report #rp-weekly-three table[data-action-table] {
  display: block;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
  background: transparent;
  padding: 0 14px;
  box-sizing: border-box;
  table-layout: auto;
}

/* 隐藏老式表头（DOM 中仍保留，自动化测试 querySelector('th[data-col="tool"]') 依然完全成立） */
#screen-report #rp-weekly-three table[data-action-table] thead {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#screen-report #rp-weekly-three table[data-action-table] tbody {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

/* 每条任务为一个独立圆角白卡 */
#screen-report #rp-weekly-three table[data-action-table] tbody tr {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #ffffff;
  border: 1px solid rgba(31, 83, 70, 0.12);
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 2px 10px rgba(31, 83, 70, 0.04);
  box-sizing: border-box;
  width: 100%;
}

#screen-report #rp-weekly-three table[data-action-table] tbody tr:nth-child(even) {
  background: #ffffff;
}

/* 动作标题行：字号加粗、行高适中 */
#screen-report #rp-weekly-three table[data-action-table] td[data-col="action"] {
  display: block;
  width: 100% !important;
  font-size: 14.5px;
  font-weight: 700;
  color: #0C1B16;
  line-height: 1.5;
  padding: 0;
  border: none;
  background: transparent;
  word-break: break-word;
}

#screen-report #rp-weekly-three .rp-action-dur {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  line-height: 1;
  padding: 2.5px 7.5px;
  border-radius: 999px;
  background: rgba(31, 83, 70, 0.1);
  color: #1F5346;
  font-weight: 700;
  margin-left: 6px;
  vertical-align: 1px;
}

/* 推荐工具行：精致微标签 */
#screen-report #rp-weekly-three table[data-action-table] td[data-col="tool"] {
  display: flex !important;
  width: 100% !important;
  box-sizing: border-box !important;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--t2, rgba(12, 27, 22, 0.75));
  line-height: 1.4;
  padding: 2px 0 0;
  border: none;
  background: transparent;
  word-break: break-word;
}

#screen-report #rp-weekly-three table[data-action-table] td[data-col="tool"]::before {
  content: "推荐工具";
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  font-weight: 700;
  color: #1F5346;
  background: rgba(31, 83, 70, 0.08);
  border-radius: 4px;
  padding: 2px 6px;
  flex-shrink: 0;
}

/* 验收标准行：呼应图3心理测评结论框，柔和微绿底色 + 墨绿色左边线 */
#screen-report #rp-weekly-three table[data-action-table] td[data-col="check"] {
  display: block;
  width: 100% !important;
  box-sizing: border-box;
  font-size: 12.5px;
  line-height: 1.55;
  color: #1F5346;
  background: rgba(31, 83, 70, 0.04);
  border: 1px solid rgba(31, 83, 70, 0.12) !important;
  border-left: 3.5px solid #1F5346 !important;
  border-radius: 8px;
  padding: 8px 12px;
  margin-top: 3px;
  word-break: break-word;
}

/* 出口按钮：与图2主按钮同级精致度 */
#screen-report #rp-weekly-three .rp-planner-exit {
  padding: 14px 14px 0 !important;
  box-sizing: border-box;
}

#screen-report #rp-weekly-three .rp-planner-exit .primary-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 48px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  background: linear-gradient(135deg, #1F5346, #2F7D68);
  box-shadow: 0 4px 14px rgba(31, 83, 70, 0.2);
  color: #fff;
  border: none;
  cursor: pointer;
  margin: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* 家庭动力·执行力六维评分条 + 类型签卡（assessment.js 消费） */
.fd-dim-scorebars { padding: 8px 0; }
.fd-type-tags { display: flex; flex-direction: column; gap: 10px; padding: 4px 0; }
.fd-type-tag-card {
  background: #fff; border: 1px solid #e2e6ea; border-radius: var(--r-sm); padding: var(--sp-2) var(--sp-3);
}
.fd-type-tag-name { font-size: var(--fs-sm); font-weight: 700; color: var(--c-ink-1); }
.fd-type-tag-wording { font-size: var(--fs-caption); color: var(--c-ink-2); line-height: var(--lh-body); margin-top: 4px; }

/* 2026-09-05 排版统一批：章节数据契约升级三渲染器（renderKV/renderChips/renderScaleCards）
   的视觉语汇，与 --of-* token（内容输出排版契约 v1）、既有 .rp-* 卡片同源，不新造语言。 */
.rp-kv-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; margin-top: var(--sp-2);
}
.rp-kv-item {
  display: flex; flex-direction: column; gap: 2px; background: var(--of-card, #fffdf8);
  border: 1px solid var(--of-c-line, #ecdfc8); border-radius: var(--of-r-chip, 12px);
  padding: 6px 10px;
}
.rp-kv-k { font-size: var(--of-fs-caption, 11.5px); color: var(--of-c-ink-3, #96876e); }
.rp-kv-v { font-size: var(--of-fs-body, 15px); color: var(--of-c-ink, #332a1f); font-weight: 600; }

.rp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--sp-2); }
.rp-chip {
  display: inline-flex; align-items: center; padding: 3px 10px;
  border-radius: var(--of-r-chip, 12px); background: var(--of-c-brand-soft, #f7e6d5);
  color: var(--of-c-brand-deep, #8f3f13); font-size: var(--of-fs-caption, 11.5px); font-weight: 600;
}

.rp-scale-cards { display: flex; flex-direction: column; gap: 10px; margin-top: var(--sp-2); }
.rp-scale-card {
  background: var(--of-card, #fffdf8); border: 1px solid var(--of-c-line, #ecdfc8);
  border-radius: var(--of-r-card, 16px); padding: var(--of-sp-gap, 8px) var(--of-sp-card, 16px);
}
.rp-scale-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rp-scale-card-name { font-size: var(--of-fs-title, 15.5px); font-weight: 700; color: var(--of-c-ink, #332a1f); }
.rp-scale-card-score { font-size: var(--of-fs-caption, 11.5px); color: var(--of-c-ink-2, #665843); }
.rp-scale-card-level {
  display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 999px;
  background: var(--of-c-info-soft, #e7eaf5); color: var(--of-c-info, #4c5d99);
  font-size: var(--of-fs-caption, 11.5px); font-weight: 600;
}
/* note 是 <ul><li> 句号切条列表（不是单段 <p>），reset 默认列表样式后按既有
   caption 字号排布，每条独立一行——避免长 summary 挤成一段迷你文字墙。 */
.rp-scale-card-note {
  list-style: none; margin: 4px 0 0; padding: 0;
  font-size: var(--of-fs-caption, 11.5px); color: var(--of-c-ink-2, #665843);
}
.rp-scale-card-note li { line-height: var(--lh-body); margin-top: 2px; }
.rp-scale-card-note li:first-child { margin-top: 0; }

/* 规划屏路径卡数字判断句 */
.pl-path-judgement { font-size: var(--fs-caption); font-weight: 700; color: #1F5346; margin: 4px 0 2px; }
/* 复核签视觉置顶、DOM 置底（判断句保持首块，见 report.js wrapL3 注释） */
.rp-l3-mark { position: relative; padding-top: 34px; }
.rp-l3-mark .rp-l3-tag { position: absolute; top: 8px; left: 10px; margin: 0; }

/* 规划结论 · 综合/深诊家长面最前三块（去哪儿 / 怎么去 / 怎么做） */
.rp-plan {
  padding: 14px 16px 12px;
  margin-bottom: 12px;
  max-width: 100%;
  box-sizing: border-box;
}
.rp-plan-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 8px;
  margin-bottom: 10px;
}
.rp-plan-title {
  font-size: var(--fs-title, 16px);
  font-weight: 800;
  color: #0C1B16;
  white-space: nowrap;
  flex-shrink: 0;
}
.rp-plan-block {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(31, 83, 70, 0.10);
}
.rp-plan-block:first-of-type {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
.rp-plan-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 8px;
}
.rp-plan-block-title {
  font-size: 13px;
  font-weight: 700;
  color: #1F5346;
  white-space: nowrap;
  flex-shrink: 0;
}
.rp-plan-block-body {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--c-ink-2, #3A4A43);
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* T5 D4：首页方案底栏在 S7 前也保持可见，供规划结论次路径点击。 */
body.ob-no-tabbar #screen-home > .tabbar,
#screen-home > .tabbar[hidden] {
  display: flex !important;
  visibility: visible !important;
}

/* ═══════════════════════════════════════════════════════════
   名师实战 SOP UI 框架组件库（对标名师服务全流程 SOP）
   包含防断词微标、双行语义解耦卡片、走势阶梯条、
   卡点分型矩阵、名师四列对比表、三阶段里程碑与三看一签看板
   ═══════════════════════════════════════════════════════════ */

.badge-nowrap {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.sop-banner {
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, #eff6ff, #e0e7ff);
  border: 1px solid #bfdbfe;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
.sop-banner-text {
  font-size: 12.5px;
  font-weight: 700;
  color: #1e3a8a;
  line-height: 1.5;
}

.sop-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.sop-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.sop-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 640px) {
  .sop-grid-2, .sop-grid-3, .sop-grid-4 {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
}

.sop-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sop-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f1f5f9;
}
.sop-card-head .left {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.sop-card-head h4 {
  font-size: 15px;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  white-space: nowrap;
}
.sop-card-head .sub {
  font-size: 11.5px;
  color: #64748b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sop-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 9999px;
  border: 1px solid transparent;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.sop-badge-blue { background: #dbeafe; color: #1e40af; border-color: #bfdbfe; }
.sop-badge-amber { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.sop-badge-green { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.sop-badge-purple { background: #f3e8ff; color: #6b21a8; border-color: #e9d5ff; }
.sop-badge-slate { background: #f1f5f9; color: #334155; border-color: #e2e8f0; }

.sop-trend-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f8fafc;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}
.sop-trend-step {
  text-align: center;
  flex: 1;
}
.sop-trend-step .date { font-size: 10px; color: #94a3b8; }
.sop-trend-step .val { font-size: 12px; font-weight: 700; color: #1e293b; }
.sop-trend-arrow { color: #cbd5e1; font-weight: 800; font-size: 11px; margin: 0 4px; }

.sop-box-finding { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 7px 9px; font-size: 12px; line-height: 1.55; color: #334155; }
.sop-box-action { background: #fffbeb; border: 1px solid #fde68a; border-radius: 6px; padding: 7px 9px; font-size: 12px; line-height: 1.55; color: #78350f; }
.sop-box-target { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 6px; padding: 7px 9px; font-size: 12px; line-height: 1.55; color: #1e3a8a; }

.sop-tools-title { font-size: 11px; font-weight: 700; color: #64748b; margin-bottom: 4px; display: flex; align-items: center; gap: 4px; }
.sop-tools-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.sop-tools-list li { font-size: 11.5px; color: #475569; display: flex; align-items: center; gap: 4px; line-height: 1.4; }

.sop-rx-box { background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 6px; padding: 8px 10px; font-size: 12px; line-height: 1.55; color: #065f46; margin-top: 6px; }

.sop-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  margin: 10px 0;
}
.sop-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  min-width: 520px;
}
.sop-table th {
  background: #f8fafc;
  color: #1e293b;
  font-weight: 700;
  padding: 10px 12px;
  border-bottom: 2px solid #e2e8f0;
  text-align: left;
}
.sop-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
  line-height: 1.5;
}
.sop-table tr:hover td { background: #fbfcfe; }

.sop-stage-card {
  border-radius: 12px;
  padding: 14px;
  border: 2px solid;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sop-stage-1 { background: #eff6ff; border-color: #93c5fd; }
.sop-stage-2 { background: #ecfdf5; border-color: #6ee7b7; }
.sop-stage-3 { background: #faf5ff; border-color: #d8b4fe; }

.sop-parent-board {
  background: #0f172a;
  color: #ffffff;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}
.sop-parent-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
}
.sop-board-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 640px) {
  .sop-board-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
}
.sop-board-item {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 10px;
  font-size: 11.5px;
  line-height: 1.45;
}
.sop-board-item .item-title { font-weight: 700; margin-bottom: 4px; }
.sop-board-item .item-desc { color: #cbd5e1; }

#rp-dossier-gate.dossier-gate-card {
  background: #fff;
  border: 1.5px solid #2563eb;
  border-radius: 10px;
  padding: 14px 16px;
  margin: 14px 16px;
  box-shadow: 0 3px 12px rgba(37, 99, 235, 0.08);
}
#rp-dossier-gate .gate-lines-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#rp-dossier-gate .gate-line-item {
  font-size: 12.5px;
  line-height: 1.4;
  color: #1e293b;
  white-space: nowrap;
  flex-shrink: 0;
}
#rp-dossier-gate .btn-gold-action {
  width: 100%;
  margin-top: 12px;
  padding: 12px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  text-align: center;
  background: #1c2740;
}
.rp-deep-doc .suite-hero-banner {
  background: #1c2740;
  color: #fff;
  border-radius: 14px;
  padding: 18px 16px;
  margin: 0 0 14px;
}
.rp-deep-doc #rp-deep-regen { white-space: normal; max-width: 100%; margin-top: 10px; }
.rp-deep-doc .suite-hero-kicker {
  font-size: 11.5px;
  font-weight: 700;
  color: #d9c08a;
  letter-spacing: 1px;
  margin-bottom: 4px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-deep-doc .suite-hero-title {
  font-size: 19px;
  font-weight: 800;
  margin: 0 0 6px;
  color: #fff;
  letter-spacing: 0.3px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-deep-doc .suite-hero-tags,
.rp-deep-doc .suite-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 12.5px;
  color: #94a3b8;
}

/* 导航四标签 suite-nav-bar */
.rp-deep-doc .suite-nav-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 14px;
  max-width: 100%;
}
.rp-deep-doc .suite-tab-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 4px;
  border-radius: 8px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1.25;
  transition: all 0.2s ease;
  user-select: none;
}
.rp-deep-doc .suite-tab-btn.active {
  border-color: #1c2740;
  background: #1c2740;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(28, 39, 64, 0.15);
}

/* 章节头部 */
.rp-deep-doc .mt-head { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid #1c2740; padding-bottom: 6px; margin: 14px 0 10px; }
.rp-deep-doc .mt-head-left { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.rp-deep-doc .mt-no { font-size: 22px; color: #8c6214; font-weight: 700; white-space: nowrap !important; flex-shrink: 0 !important; line-height: 1; }
.rp-deep-doc .mt-title {
  font-size: 16.5px;
  font-weight: 700;
  color: #1c2740;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* 微标体系与芯片 */
.rp-deep-doc .chip {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-deep-doc .chip.gold { background: #f6eedc; color: #8c6214; }
.rp-deep-doc .chip.ink { background: #1c2740; color: #fff; }
.rp-deep-doc .chip.green { background: #e5f2ea; color: #2e7d57; }
.rp-deep-doc .chip.amber { background: #fbeed9; color: #a5650f; }
.rp-deep-doc .chip.blue { background: #eff6ff; color: #1d4ed8; }
.rp-deep-doc .chip.soft { background: #f1efea; color: #5b6170; }

/* 01 档案 KPI 与事实卡 */
.rp-deep-doc .kpis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
.rp-deep-doc .kpi-card { min-width: 0; background: #fff; border: 1px solid #e4e1d8; border-radius: 10px; padding: 10px 12px; }
.rp-deep-doc .kpi-label { font-size: 11.5px; color: #5b6170; margin-bottom: 3px; white-space: nowrap !important; flex-shrink: 0 !important; }
.rp-deep-doc .kpi-val { font-size: 17px; font-weight: 700; color: #1c2740; line-height: 1.25; }
.rp-deep-doc .trend-gold { font-size: 12px; color: #8c6214; font-weight: 700; margin-left: 4px; white-space: nowrap !important; flex-shrink: 0 !important; }
/* CR-UX1 P3：KPI 卡 2 两行——第 1 行省份，第 2 行每个科目一个标签，标签之间可换行、单个标签不断词 */
.rp-deep-doc .kpi-line { font-size: 15px; font-weight: 700; color: #1c2740; }
.rp-deep-doc .kpi-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.rp-deep-doc .kpi-chip {
  font-size: 12px; font-weight: 600; line-height: 1.4; padding: 1px 7px; border-radius: 4px;
  background: #f1efea; color: #1c2740;
  white-space: nowrap !important; flex-shrink: 0 !important;
}
/* CR-UX1 P1：现场生成时的进度提示（indeterminate 条） */
.rp-gen-progress { margin: 8px 16px 16px; height: 6px; border-radius: 3px; background: #e4e1d8; overflow: hidden; }
.rp-gen-progress > span { display: block; width: 40%; height: 100%; background: #2f7d68; border-radius: 3px; animation: rp-gen-slide 1.6s ease-in-out infinite; }
@keyframes rp-gen-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }
.rp-error .btn { margin-top: 8px; }
/* CR-UX1 批2a F1：报告屏错误卡「重新加载」「去登录」与空态「重新生成方案报告」——品牌主按钮（比 .btn-submit-main 紧凑） */
.rp-error .btn, .rp-doc-empty .btn, #rp-reload-btn, #rp-login-btn, [data-report-regen] {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  min-height: 40px; padding: 8px 20px; border: none; border-radius: 99px;
  background-color: #185242; background-image: linear-gradient(135deg, #185242 0%, #20735E 100%); color: #fff;
  font-size: 14px; font-weight: 800; line-height: 1.35; cursor: pointer;
  white-space: nowrap; flex-shrink: 0; max-width: 100%;
  box-shadow: 0 6px 14px rgba(24, 82, 66, 0.22);
}
.rp-error .btn:active, .rp-doc-empty .btn:active, #rp-reload-btn:active, #rp-login-btn:active, [data-report-regen]:active { transform: scale(0.98); }
#rp-login-btn { margin-left: 8px; }
.rp-deep-doc .kpi-desc { font-size: 11px; color: #5b6170; margin-top: 3px; white-space: nowrap !important; flex-shrink: 0 !important; }

.rp-deep-doc .fact-card {
  background: #fff;
  border: 1px solid #e4e1d8;
  border-left: 4px solid #8c6214;
  border-radius: 10px;
  padding: 11px 13px;
  margin-bottom: 10px;
}
.rp-deep-doc .fact-card-title {
  font-size: 12.5px;
  font-weight: 700;
  color: #8c6214;
  margin-bottom: 5px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-deep-doc .fact-card-body {
  font-size: 12px;
  line-height: 1.55;
  color: #2b2f38;
}

/* 02 趋势与逐科条目 */
.rp-deep-doc .rp-trend { width: 100%; height: 96px; margin-bottom: 8px; }
.rp-deep-doc .rp-subject-bars { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }

/* 03 深色四行大卡 four-box */
.rp-deep-doc .four-box {
  border-radius: 12px;
  overflow: hidden;
  background: #1c2740;
  margin-bottom: 10px;
}
.rp-deep-doc .four-row {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  align-items: baseline;
}
.rp-deep-doc .four-row:last-child { border-bottom: none; }
.rp-deep-doc .four-next { background: #26335a; }
.rp-deep-doc .four-k {
  font-size: 11.5px;
  letter-spacing: 0.5px;
  color: #d9c08a;
  font-weight: 700;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-deep-doc .four-v {
  font-size: 12px;
  line-height: 1.5;
  color: #ffffff;
  font-weight: 500;
}

/* 04 / 06 网格 role-grid / role-item */
.rp-deep-doc .role-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.rp-deep-doc .role-item {
  min-width: 0;
  background: #fff;
  border: 1px solid #e4e1d8;
  border-radius: 8px;
  padding: 9px 10px;
}
.rp-deep-doc .role-tag {
  font-size: 12px;
  font-weight: 700;
  color: #1c2740;
  margin-bottom: 3px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rp-deep-doc .role-content {
  font-size: 11px;
  color: #5b6170;
  line-height: 1.4;
}

/* 05 路径对比 stage-spec-card */
.rp-deep-doc .stage-spec-card {
  background: #fff;
  border: 1px solid #e4e1d8;
  border-left: 4px solid #1c2740;
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 10px;
}
.rp-deep-doc .stage-spec-body { display: flex; flex-direction: column; gap: 8px; }
.rp-deep-doc .stage-spec-row {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-bottom: 6px;
  border-bottom: 1px dashed #e2e8f0;
}
.rp-deep-doc .stage-spec-row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.rp-deep-doc .stage-spec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: nowrap;
}
.rp-deep-doc .stage-spec-title {
  font-size: 12.5px;
  font-weight: 700;
  color: #1c2740;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-deep-doc .stage-spec-desc {
  font-size: 11.5px;
  color: #5b6170;
  line-height: 1.45;
}

/* 07 行动计划 action-list / action-item */
.rp-deep-doc .action-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.rp-deep-doc .action-item {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  background: #faf9f6;
  border: 1px solid #efece6;
  border-radius: 8px;
  padding: 9px 11px;
}
.rp-deep-doc .action-num {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #2e7d57;
  padding: 1px 6px;
  border-radius: 4px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-deep-doc .action-main { flex: 1; min-width: 0; }
.rp-deep-doc .action-t {
  font-size: 12.5px;
  color: #1c2740;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 2px;
}
.rp-deep-doc .action-desc {
  font-size: 11.5px;
  color: #475569;
  line-height: 1.45;
}
.rp-deep-doc .action-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 5px;
}

/* 08 依据盒 verified-box */
.rp-deep-doc .verified-box {
  background: rgba(46, 125, 87, 0.05);
  border: 1px solid rgba(46, 125, 87, 0.2);
  border-radius: 8px;
  padding: 11px 13px;
  margin-bottom: 10px;
}
.rp-deep-doc .verified-reasons { display: flex; flex-direction: column; gap: 5px; }
.rp-deep-doc .verified-item {
  line-height: 1.5;
  font-size: 12px;
  color: #334155;
}

/* 引导卡与空状态 */
.rp-deep-doc .empty-card {
  background: #f1efea;
  border: 1.5px dashed #d8d4c8;
  border-radius: 10px;
  padding: 16px 14px;
  text-align: center;
  margin-bottom: 10px;
}
.rp-deep-doc .empty-text {
  font-size: 12.5px;
  font-weight: 600;
  color: #5b6170;
}

/* 折叠展开 */
.rp-deep-doc .rp-deep-fold.is-closed .rp-fold-body { display: none; }
.rp-deep-doc .rp-deep-fold-btn {
  white-space: nowrap !important;
  letter-spacing: normal;
  text-align: left;
  flex-shrink: 0 !important;
  background: transparent;
  border: none;
  color: #1d4ed8;
  padding: 4px 0;
  font-size: 12px;
  cursor: pointer;
}
.rp-deep-doc .rp-src-title { font-size: 12px; font-weight: 600; color: #5b6170; margin-top: 8px; }

/* 综合报告原文收底折叠 */
.rp-deep-doc details[data-legacy-report] {
  margin-top: 18px;
  background: #fff;
  border: 1px solid #e4e1d8;
  border-radius: 10px;
  overflow: hidden;
}
.rp-deep-doc details[data-legacy-report] > summary.fold-summary {
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  color: #1c2740;
  background: #f8fafc;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid transparent;
  list-style: none;
}
.rp-deep-doc details[data-legacy-report] > summary.fold-summary::-webkit-details-marker { display: none; }
.rp-deep-doc details[data-legacy-report][open] > summary.fold-summary {
  border-bottom-color: #e2e8f0;
}
.rp-deep-doc details[data-legacy-report] > summary.fold-summary::after {
  content: "▼";
  font-size: 9px;
  color: #64748b;
  transition: transform 0.2s;
}
.rp-deep-doc details[data-legacy-report][open] > summary.fold-summary::after {
  transform: rotate(180deg);
}
.rp-deep-doc details[data-legacy-report] .legacy-report-body {
  padding: 8px;
}

/* ============ CR-UI-C U1: 无深度方案 v5.1 版式 ============ */
.suite-hero-banner[data-nodeep-hero],
.rp-nodeep-doc .suite-hero-banner {
  background: #1c2740;
  color: #fff;
  border-radius: 14px;
  padding: 18px 16px;
  margin: 0 0 14px;
}
.suite-hero-banner[data-nodeep-hero] .suite-hero-kicker {
  font-size: 11.5px;
  font-weight: 700;
  color: #d9c08a;
  letter-spacing: 1px;
  margin-bottom: 4px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.suite-hero-banner[data-nodeep-hero] .suite-hero-title {
  font-size: 19px;
  font-weight: 800;
  margin: 0 0 6px;
  color: #fff;
  letter-spacing: 0.3px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.suite-hero-banner[data-nodeep-hero] .suite-hero-tags,
.suite-hero-banner[data-nodeep-hero] .suite-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 12.5px;
  color: #94a3b8;
}
.suite-hero-banner[data-nodeep-hero] .chip.gold {
  background: #f6eedc;
  color: #8c6214;
  font-size: 11.5px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 4px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* 数字卡一行 [data-nodeep-kpi] */
.nodeep-kpi-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.nodeep-kpi-card {
  min-width: 0;
  background: #fff;
  border: 1px solid #e4e1d8;
  border-radius: 10px;
  padding: 10px 8px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.nodeep-kpi-label {
  font-size: 11.5px;
  color: #5b6170;
  margin-bottom: 3px;
  font-weight: 600;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.nodeep-kpi-val {
  font-size: 18px;
  font-weight: 800;
  color: #1c2740;
  line-height: 1.25;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.nodeep-kpi-guide {
  grid-column: 1 / -1;
  background: #fdfaf3;
  border: 1px dashed #d9c08a;
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.nodeep-guide-text {
  font-size: 12.5px;
  color: #8c6214;
  font-weight: 600;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* 解锁进度卡 [data-nodeep-unlock] */
.rp-nodeep-unlock-card {
  background: #fff;
  border: 1px solid #e4e1d8;
  border-left: 4px solid #8c6214;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.rp-nodeep-unlock-card .fact-card-title {
  font-size: 13px;
  font-weight: 700;
  color: #8c6214;
  margin-bottom: 6px;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-nodeep-unlock-card .rp-deep-conditions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rp-nodeep-unlock-card .rp-deep-conditions li {
  font-size: 12px;
  color: #334155;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  line-height: 1.4;
}
.rp-nodeep-unlock-card .rp-deep-cond-link,
.nodeep-kpi-guide .rp-deep-cond-link {
  font-size: 11.5px;
  font-weight: 700;
  color: #1d4ed8;
  text-decoration: none;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* 章节卡片化 */
.rp-nodeep-chapter {
  background: #fff;
  border: 1px solid #e4e1d8;
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 12px;
}
.rp-nodeep-chapter .mt-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 2px solid #1c2740;
  padding-bottom: 6px;
  margin: 0 0 10px;
}
.rp-nodeep-chapter .mt-head-left {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.rp-nodeep-chapter .mt-no {
  font-size: 20px;
  color: #8c6214;
  font-weight: 700;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1;
}
.rp-nodeep-chapter .mt-title {
  font-size: 16px;
  font-weight: 700;
  color: #1c2740;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.rp-nodeep-chapter .nodeep-ch-face {
  margin-bottom: 8px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #2b2f38;
}
.rp-nodeep-doc .rp-deep-fold.is-closed .rp-fold-body { display: none; }
.rp-nodeep-doc .rp-deep-fold-btn {
  white-space: nowrap !important;
  letter-spacing: normal;
  text-align: left;
  flex-shrink: 0 !important;
  background: transparent;
  border: none;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 4px 0;
  display: inline-flex;
  align-items: center;
}

#screen-report:has([data-nodeep-collect]) .screen-foot,
#screen-report:has([data-nodeep-hero]) .screen-foot,
#screen-report.is-nodeep-collect .screen-foot {
  display: none !important;
}

#screen-report #rp-dossier-gate {
  display: none !important;
}

#screen-report [data-plan-wait] {
  margin: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 12px;
}

#screen-report [data-plan-wait] .plan-wait-title,
#screen-report [data-plan-wait] .plan-wait-home,
#screen-report [data-plan-wait] .plan-wait-item,
#screen-report [data-plan-wait] .plan-wait-label,
#screen-report [data-plan-wait] .plan-wait-sep {
  white-space: nowrap;
  flex-shrink: 0;
}

#screen-report [data-plan-wait] .plan-wait-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 8px;
}

#screen-report [data-plan-wait] .plan-wait-miss {
  font-size: 13px;
  line-height: 1.7;
  margin-bottom: 12px;
}

#screen-report [data-plan-wait] .plan-wait-home {
  display: inline-flex;
  align-items: center;
  border: 0;
  background: #1d4ed8;
  color: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 13px;
}





/* ===== CR-UX1 批 2b：家长版 P5 分块（版式照搬 reports/cr-ux1-b2-p5/final/p5-final.html） =====
   移动端铁律：标签 / 微标 / 数字 / 角色一律 nowrap + flex-shrink:0；卡片双行解耦；不用 absolute / fixed / sticky；360 宽无横向滚动。 */
.p5-face {
  --p5-ink: #1C2740; --p5-ink-3: #4A5A86; --p5-gold: #8C6214; --p5-gold-bg: #F6EEDC;
  --p5-green: #2E7D57; --p5-green-bg: #E5F2EA; --p5-amber: #A5650F; --p5-amber-bg: #FBEFD9;
  --p5-text: #2B2F38; --p5-muted: #5B6170; --p5-faint: #8A8F9A; --p5-line: #E4E1D8; --p5-line-2: #D8D4C8;
  --p5-card: #FFFFFF; --p5-grey-bg: #F1EFEA; --p5-serif: 'Noto Serif SC', 'Songti SC', 'STSong', serif;
  margin: 0 0 10px; color: var(--p5-text); font-size: 13.5px; line-height: 1.6;
}
.p5-face .p5-chip {
  display: inline-flex; align-items: center; font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 4px; line-height: 1.5;
  white-space: nowrap !important; flex-shrink: 0 !important;
}
.p5-face .p5-gold { background: var(--p5-gold-bg); color: var(--p5-gold); }
.p5-face .p5-ink { background: var(--p5-ink); color: #fff; }
.p5-face .p5-green { background: var(--p5-green-bg); color: var(--p5-green); }
.p5-face .p5-amber { background: var(--p5-amber-bg); color: var(--p5-amber); }
.p5-face .p5-grey { background: var(--p5-grey-bg); color: var(--p5-muted); }
.p5-face .p5-none { color: var(--p5-faint) !important; font-weight: 600; }
/* 结论卡 + 数字条 / 主备路径条 */
.p5-face .p5-lead { background: var(--p5-card); border: 1px solid var(--p5-line); border-radius: 14px; overflow: hidden; margin-bottom: 14px; }
.p5-face .p5-lead-k { padding: 10px 14px 0; font-size: 11px; font-weight: 700; color: var(--p5-gold); letter-spacing: 1px; white-space: nowrap; }
.p5-face .p5-lead-t { padding: 2px 14px 11px; font-size: 14px; font-weight: 600; color: var(--p5-ink); line-height: 1.6; }
.p5-face .p5-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--p5-line); background: #FAF9F6; }
.p5-face .p5-strip.p5-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p5-face .p5-strip.p5-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p5-face .p5-st { min-width: 0; padding: 7px 4px 8px; text-align: center; }
.p5-face .p5-st + .p5-st { border-left: 1px solid var(--p5-line); }
.p5-face .p5-st-v { font-family: var(--p5-serif); font-size: 19px; font-weight: 700; color: var(--p5-ink); line-height: 1.25; white-space: nowrap; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.p5-face .p5-st-v small { font-size: 11px; color: var(--p5-muted); margin-left: 1px; }
.p5-face .p5-st-v.p5-txt { font-size: 14px; line-height: 1.7; }
.p5-face .p5-st.p5-hl .p5-st-v { color: var(--p5-gold); }
.p5-face .p5-st.p5-warn .p5-st-v { color: var(--p5-amber); }
.p5-face .p5-st-k { font-size: 10.5px; color: var(--p5-muted); white-space: nowrap; flex-shrink: 0; }
.p5-face .p5-road { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; padding: 10px 12px; border-top: 1px solid var(--p5-line); background: #FAF9F6; }
.p5-face .p5-road .p5-p { flex: 1; min-width: 0; border-radius: 10px; padding: 7px 10px; border: 1px solid var(--p5-line); background: var(--p5-card); }
.p5-face .p5-road .p5-p.p5-main { background: var(--p5-ink); border-color: var(--p5-ink); }
.p5-face .p5-road .p5-p.p5-main .p5-nm { color: #fff; }
.p5-face .p5-road .p5-p.p5-main .p5-ds { color: #B6C0D6; }
.p5-face .p5-road .p5-nm { font-family: var(--p5-serif); font-size: 14.5px; font-weight: 700; color: var(--p5-ink); white-space: nowrap; flex-shrink: 0; }
.p5-face .p5-road .p5-ds { font-size: 11px; color: var(--p5-muted); white-space: nowrap; flex-shrink: 0; }
.p5-face .p5-road .p5-or { font-size: 11px; color: var(--p5-muted); white-space: nowrap; flex-shrink: 0; }
.p5-face .p5-road.p5-road-v { flex-direction: column; align-items: stretch; }
.p5-face .p5-road.p5-road-v .p5-or { align-self: center; }
/* 区块标题 */
.p5-face .p5-blk-h { display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; margin: 2px 0 8px; }
.p5-face .p5-tt { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; color: var(--p5-ink); white-space: nowrap; flex-shrink: 0; }
.p5-face .p5-tt i { font-style: normal; font-family: var(--p5-serif); color: var(--p5-gold); font-weight: 700; }
.p5-face .p5-sub { font-size: 11px; color: var(--p5-muted); white-space: nowrap; flex-shrink: 0; }
/* 分数走势 */
.p5-face .p5-spark { background: var(--p5-card); border: 1px solid var(--p5-line); border-radius: 10px; padding: 10px 12px 8px; margin-bottom: 14px; }
.p5-face .p5-spark-r1 { display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; gap: 6px; margin-bottom: 2px; }
.p5-face .p5-spark-r1 .p5-nm { font-size: 12.5px; font-weight: 700; color: var(--p5-ink); white-space: nowrap; flex-shrink: 0; }
.p5-face .p5-spark-svg { display: block; max-width: 100%; height: auto; }
.p5-face .p5-spark-n { font-size: 11px; color: var(--p5-muted); margin-top: 2px; }
/* 接下来做什么（时间线） */
.p5-face .p5-tl { margin-bottom: 12px; }
.p5-face .p5-tl-i { display: flex; gap: 10px; align-items: stretch; }
.p5-face .p5-tl-rail { display: flex; flex-direction: column; align-items: center; width: 14px; flex-shrink: 0; }
.p5-face .p5-tl-dot { width: 12px; height: 12px; border-radius: 6px; border: 3px solid var(--p5-green); background: #fff; margin-top: 12px; flex-shrink: 0; box-sizing: border-box; }
.p5-face .p5-tl-i.p5-first .p5-tl-dot { background: var(--p5-green); }
.p5-face .p5-tl-line { flex: 1; width: 2px; background: var(--p5-line-2); margin-top: 2px; }
.p5-face .p5-tl-i:last-child .p5-tl-line { background: transparent; }
.p5-face .p5-tl-c { flex: 1; min-width: 0; background: var(--p5-card); border: 1px solid var(--p5-line); border-radius: 10px; padding: 9px 12px; margin-bottom: 8px; }
.p5-face .p5-tl-r1 { display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; gap: 6px; margin-bottom: 4px; }
.p5-face .p5-tl-when { font-size: 12.5px; font-weight: 800; color: var(--p5-green); white-space: nowrap; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.p5-face .p5-tl-what { font-size: 13px; line-height: 1.55; color: var(--p5-text); }
.p5-face .p5-tl-chk { display: flex; gap: 6px; align-items: flex-start; margin-top: 6px; padding-top: 6px; border-top: 1px dashed var(--p5-line); font-size: 12px; color: var(--p5-muted); line-height: 1.5; }
.p5-face .p5-tl-chk .p5-chip { margin-top: 1px; }
.p5-face .p5-tl-chk-t { min-width: 0; }
/* 要点 */
.p5-face .p5-why { background: var(--p5-card); border: 1px solid var(--p5-line); border-radius: 10px; padding: 4px 12px; margin-bottom: 14px; }
.p5-face .p5-why-i { display: flex; gap: 8px; align-items: baseline; padding: 7px 0; border-bottom: 1px solid #F1EFEA; font-size: 13px; line-height: 1.55; }
.p5-face .p5-why-i:last-child { border-bottom: none; }
.p5-face .p5-why-i .p5-n { font-family: var(--p5-serif); font-weight: 700; color: var(--p5-gold); flex-shrink: 0; white-space: nowrap; }
.p5-face .p5-why-i .p5-t { min-width: 0; }
.p5-face .p5-why-i b { color: var(--p5-ink); }
/* 指标（标签表格） */
.p5-face .p5-kvbox { background: var(--p5-card); border: 1px solid var(--p5-line); border-radius: 10px; padding: 2px 12px; margin-bottom: 4px; }
.p5-face .p5-kvt { width: 100%; border-collapse: collapse; font-size: 12.5px; table-layout: auto; }
.p5-face .p5-kvt th, .p5-face .p5-kvt td { border-bottom: 1px solid var(--p5-line); padding: 7px 4px; text-align: left; vertical-align: top; line-height: 1.5; }
.p5-face .p5-kvt th { width: 1%; white-space: nowrap; padding-right: 10px; font-weight: 600; padding-left: 0; }
.p5-face .p5-kvt th .p5-k { display: inline-block; font-size: 11px; font-weight: 700; color: var(--p5-ink-3); background: var(--p5-grey-bg); padding: 1px 6px; border-radius: 3px; white-space: nowrap; flex-shrink: 0; }
.p5-face .p5-kvt td { color: var(--p5-ink); font-weight: 600; }
.p5-face .p5-kvt tr:last-child th, .p5-face .p5-kvt tr:last-child td { border-bottom: none; }


/* ===== R2 · 报告 v2（快照 schema_version 2）：样式照 S1-rev6 效果图，全部收在 .rv2 下，不影响旧报告 ===== */
.rv2{--navy:#1C2740;--navy2:#26335A;--gold:#D9C08A;--gold-d:#8C6214;--ink:#2B2F38;--sub:#5B6170;--sub2:#475569;
  --line:#E4E1D8;--bg:#f4f6fb;--green:#2E7D57;--green-bg:#E5F2EA;--blue:#1D4ED8;--blue-bg:#EFF6FF;
  --red:#B42318;--red-bg:#FDECEA;--amber:#8A5A00;--amber-bg:#FFF3D6;--grey:#F3F4F6;}
.rv2 *{box-sizing:border-box}
.rv2{color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;overflow-x:hidden}
.rv2 .wrap{max-width:480px;margin:0 auto;padding:0 14px 32px}
.rv2 .nw,.rv2 .chip,.rv2 .mt-no,.rv2 .four-k,.rv2 .kpi-label,.rv2 .action-num,.rv2 .cell-k,.rv2 .dim-n,.rv2 .dim-s,.rv2 .tier-name,.rv2 .st-name{white-space:nowrap;flex-shrink:0}
.rv2 .chip{display:inline-block;font-size:12px;font-weight:700;line-height:18px;padding:2px 9px;border-radius:999px;box-shadow:0 3px 10px rgba(40,60,120,.06)}
.rv2 .chip.ink{background:var(--navy);color:#fff}
.rv2 .chip.gold{background:var(--gold);color:var(--navy)}
.rv2 .chip.green{background:var(--green-bg);color:#1F5A3F}
.rv2 .chip.blue{background:var(--blue-bg);color:var(--blue)}
.rv2 .chip.red{background:var(--red-bg);color:var(--red)}
.rv2 .chip.amber{background:var(--amber-bg);color:var(--amber)}
.rv2 .chip.grey{background:var(--grey);color:var(--sub)}
.rv2 .chip.signed{background:#166534;color:#fff;border-radius:6px}
.rv2 .chip.glass{background:rgba(255,255,255,.15);color:#E2E8F0;border:1px solid rgba(255,255,255,.25);border-radius:6px;box-shadow:none}
.rv2 .demo{font-size:12px;font-weight:700;line-height:16px;padding:1px 6px;border-radius:4px;background:var(--amber-bg);color:var(--amber);white-space:nowrap;flex-shrink:0}
.rv2 .hero{background:var(--navy);color:#fff;border-radius:14px;padding:18px 18px 16px;margin:12px 0 12px;box-shadow:0 4px 20px rgba(28,39,64,.15)}
.rv2 .hero .kicker{font-size:12px;font-weight:700;color:var(--gold);letter-spacing:1px;margin-bottom:4px}
.rv2 .hero h1{font-size:20px;font-weight:800;margin:0 0 6px;line-height:1.35}
.rv2 .hero .meta{font-size:13.5px;color:#94A3B8;margin-bottom:10px;line-height:1.5}
.rv2 .hero .chips{display:flex;flex-wrap:wrap;gap:6px}
.rv2 .diag{background:var(--navy2);border-radius:10px;padding:10px 12px;margin-top:12px}
.rv2 .diag .k{font-size:12px;font-weight:700;color:var(--gold);margin-bottom:2px}
.rv2 .diag [data-conclusion]{font-size:15px;font-weight:800;line-height:1.5;margin:0}
.rv2 .nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.rv2 .nav span{background:var(--navy);color:#fff;border-radius:10px;padding:10px 8px;font-size:12.5px;font-weight:700;text-align:center;white-space:nowrap;box-shadow:0 2px 6px rgba(28,39,64,.15)}
.rv2 .nav span.light{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.rv2 section[data-module]{margin:0 0 22px}
.rv2 .mt-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.rv2 .mt-left{display:flex;align-items:center;gap:8px;min-width:0}
.rv2 .mt-no{font-size:24px;font-weight:800;color:var(--gold-d);line-height:1}
.rv2 .mt-title{font-size:16px;font-weight:800;color:var(--navy);white-space:nowrap}
.rv2 .mt-right{display:flex;gap:6px;flex-wrap:wrap}
.rv2 .stage-label{font-size:12.5px;font-weight:700;color:var(--gold-d);letter-spacing:1px;margin:18px 0 0;white-space:nowrap}
.rv2 .concl{font-size:14px;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px;line-height:1.55}
.rv2 .kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.rv2 .kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.rv2 .kpi-label{font-size:12.5px;color:var(--sub)}
.rv2 .kpi-val{font-size:20px;font-weight:700;color:var(--navy);white-space:nowrap;line-height:1.3}
.rv2 .kpi-val small{font-size:12px;font-weight:700;margin-left:2px}
.rv2 .up{color:var(--green)}
.rv2 .down{color:var(--red)}
.rv2 .goldt{color:var(--gold-d)}
.rv2 .kpi-desc{font-size:12px;color:var(--sub)}
.rv2 .four{background:var(--navy);border-radius:14px;padding:6px;margin:0 0 12px}
.rv2 .four-row{display:flex;gap:10px;padding:7px 8px;align-items:flex-start}
.rv2 .four-row.next{background:var(--navy2);border-radius:10px}
.rv2 .four-k{font-size:12.5px;font-weight:700;color:var(--gold);width:56px;padding-top:2px}
.rv2 .four-v{font-size:14px;font-weight:500;color:#fff;line-height:1.55}
.rv2 .card{background:#fff;border-radius:14px;padding:14px;margin:0 0 10px;border-left:4px solid var(--gold-d);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.rv2 .card.c-ink{border-left-color:var(--navy)}
.rv2 .card.c-green{border-left-color:var(--green)}
.rv2 .card.c-blue{border-left-color:var(--blue)}
.rv2 .card.c-grey{border-left-color:var(--sub)}
.rv2 .card.c-red{border-left-color:var(--red)}
.rv2 .card-head{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px}
.rv2 .card-meta{font-size:12px;color:var(--sub);white-space:nowrap}
.rv2 .card p{margin:0 0 6px;font-size:14px}
.rv2 ul,.rv2 ol{margin:0;padding:0;list-style:none}
.rv2 .bul li{position:relative;padding-left:14px;font-size:14px;color:#333;margin:0 0 6px}
.rv2 .bul li:before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--gold-d)}
.rv2 h4{font-size:14px;font-weight:800;color:var(--navy);margin:10px 0 4px}
.rv2 table{width:100%;border-collapse:collapse;font-size:12.5px;margin:2px 0 8px}
.rv2 th,.rv2 td{border-top:1px solid var(--line);padding:7px 3px;text-align:center}
.rv2 td{white-space:nowrap}
.rv2 th{color:var(--sub);font-weight:600;white-space:nowrap}
.rv2 td:first-child,.rv2 th:first-child{text-align:left;white-space:nowrap}
.rv2 .foot{font-size:12.5px;color:var(--sub)}
.rv2 .causes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 8px}
.rv2 .cause{display:flex;justify-content:space-between;align-items:center;gap:6px;background:var(--grey);border-radius:8px;padding:6px 8px}
.rv2 .cause b{font-size:15px;color:var(--navy);white-space:nowrap}
.rv2 .paper{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:6px 0 2px}
.rv2 .paper b{font-size:13px;color:var(--navy);white-space:nowrap}
.rv2 .q{display:flex;gap:8px;align-items:flex-start;font-size:14px;margin:0 0 6px}
.rv2 .q .chip{margin-top:1px}
.rv2 .yn{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 8px}
.rv2 .yn div{display:flex;justify-content:space-between;align-items:center;gap:6px;background:var(--grey);border-radius:8px;padding:7px 9px;font-size:13px}
.rv2 .j-row{border-top:1px dashed var(--line);padding:8px 0 4px}
.rv2 .j-row:first-of-type{border-top:0;padding-top:0}
.rv2 .j-top{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.rv2 .j-title{font-size:14px;font-weight:800;color:var(--navy);white-space:nowrap}
.rv2 .j-tags{display:flex;gap:4px;flex-wrap:wrap}
.rv2 .j-body{font-size:13.5px;color:var(--sub2);margin:0 0 4px}
.rv2 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rv2 .mini{background:var(--grey);border-radius:10px;padding:8px 10px}
.rv2 .mini p{font-size:13px;margin:3px 0 0}
.rv2 .dims{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rv2 .dim{background:var(--grey);border-radius:10px;padding:8px}
.rv2 .dim-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.rv2 .dim-n{font-size:13px;font-weight:700;color:var(--navy)}
.rv2 .dim-s{font-size:15px;font-weight:800;color:var(--green)}
.rv2 .bar{height:5px;border-radius:3px;background:#E2DED4;margin:4px 0 3px;overflow:hidden}
.rv2 .bar i{display:block;height:100%;background:var(--green)}
.rv2 .dim p{font-size:12.5px;color:var(--sub);margin:0}
.rv2 .total{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--green-bg);border-radius:10px;padding:8px 10px;margin-top:8px}
.rv2 .total b{font-size:20px;color:var(--green)}
.rv2 .swap{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rv2 .swap div{border-radius:8px;padding:7px 9px;font-size:13px}
.rv2 .swap .no{background:var(--red-bg)}
.rv2 .swap .yes{background:var(--green-bg)}
.rv2 .focus{border:1px solid var(--line);border-radius:10px;padding:10px;margin:0 0 8px}
.rv2 .focus-top{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px}
.rv2 .focus-top b{font-size:14px;color:var(--navy);white-space:nowrap}
.rv2 .focus p{font-size:13.5px;margin:0 0 4px}
.rv2 .ref{font-size:12.5px;color:var(--sub)}
.rv2 .action-item{display:flex;gap:10px;border-top:1px dashed var(--line);padding:10px 0 4px}
.rv2 .action-item:first-child{border-top:0;padding-top:0}
.rv2 .action-num{background:var(--green);color:#fff;font-size:12px;font-weight:700;border-radius:4px;padding:1px 6px;height:20px;line-height:18px}
.rv2 .action-main{min-width:0;flex:1}
.rv2 .action-t{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px}
.rv2 .action-t b{font-size:14px;color:var(--navy);white-space:nowrap}
.rv2 .cells{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rv2 .cell[data-cell="动作"],.rv2 .cell[data-cell="家长观察点"]{grid-column:1/-1}
.rv2 .cell{display:block;background:var(--grey);border-radius:8px;padding:7px 9px;font-size:13px;color:#4B5563}
.rv2 .cell-k{display:block;font-size:12px;color:var(--gold-d);font-weight:700}
.rv2 .split{display:flex;gap:4px;margin:4px 0 8px}
.rv2 .split div{border-radius:8px;padding:8px 4px;text-align:center;color:#fff;font-size:12px}
.rv2 .split b{display:block;font-size:14px}
.rv2 .tl{position:relative;padding-left:18px}
.rv2 .tl:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}
.rv2 .st{position:relative;margin:0 0 10px}
.rv2 .st:before{content:"";position:absolute;left:-17px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--blue)}
.rv2 .st.now:before{background:var(--blue)}
.rv2 .st-head{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px}
.rv2 .st-name{font-size:13.5px;font-weight:700;color:var(--navy)}
.rv2 .st-desc{font-size:13px;color:#4B5563;margin:0}
.rv2 .roles{display:grid;grid-template-columns:1fr;gap:6px}
.rv2 .role{display:flex;gap:8px;align-items:flex-start;background:var(--grey);border-radius:10px;padding:8px 10px}
.rv2 .role .chip{margin-top:1px}
.rv2 .role p{font-size:13.5px;margin:0}
.rv2 .metric{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin:0 0 6px}
.rv2 .metric .chip{margin-top:1px}
.rv2 .tiers{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 10px}
.rv2 .tier{border-radius:12px;padding:12px;color:#fff}
.rv2 .tier.t1{background:var(--navy)}
.rv2 .tier.t2{background:#3B4A6B}
.rv2 .tier.t3{background:#fff;color:var(--ink);border:1px dashed #C9C3B6}
.rv2 .tier-top{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px}
.rv2 .tier-name{font-size:14px;font-weight:800}
.rv2 .tier p{font-size:13.5px;margin:0 0 3px;opacity:.95}
.rv2 .tier .nxt{font-size:12.5px;opacity:.8}
.rv2 .tri{display:grid;grid-template-columns:1fr;gap:6px}
.rv2 .tri div{display:flex;gap:8px;align-items:flex-start;background:var(--grey);border-radius:8px;padding:8px 9px;font-size:13.5px}
.rv2 .endline{font-size:12.5px;color:var(--sub);background:var(--grey);border-radius:8px;padding:7px 9px;margin-top:4px}
.rv2 .svc{display:flex;align-items:center;gap:14px;background:var(--navy);color:#fff;border-radius:14px;padding:14px;margin:0 0 10px}
.rv2 .svc [data-service-tier]{font-size:36px;font-weight:900;color:var(--gold);line-height:1;white-space:nowrap}
.rv2 .svc .t{font-size:14px;font-weight:800}
.rv2 .svc .d{font-size:13px;color:#CBD5E1}
.rv2 .legal{font-size:12.5px;color:var(--sub);line-height:1.6}
.rv2 .score5{display:flex;gap:4px;align-items:center;margin:4px 0 6px;flex-wrap:wrap}
.rv2 .score5 span{font-size:12px;color:var(--sub);white-space:nowrap}
.rv2 .score5 b{font-size:13px;color:var(--navy);white-space:nowrap}
.rv2 .tier.t1 .score5 span,.rv2 .tier.t2 .score5 span{color:#CBD5E1}
.rv2 .tier.t1 .score5 b,.rv2 .tier.t2 .score5 b{color:#fff}
.rv2 .tier .pm div{color:var(--ink)}
.rv2 .tier .pm .plus{color:#1F5A3F}
.rv2 .tier .pm .minus{color:#6B4A00}
.rv2 .pm{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 6px}
.rv2 .pm div{border-radius:8px;padding:7px 9px;font-size:13px}
.rv2 .pm .plus{background:var(--green-bg)}
.rv2 .pm .minus{background:var(--amber-bg)}
.rv2 .sx{border-top:1px dashed var(--line);padding:8px 0 4px}
.rv2 .sx:first-of-type{border-top:0;padding-top:0}
.rv2 .sx-row{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin:0 0 4px}
.rv2 .sx-k{font-size:12.5px;font-weight:700;color:var(--gold-d);width:40px;flex-shrink:0;white-space:nowrap;padding-top:2px}
.rv2 .steps{display:grid;grid-template-columns:1fr;gap:5px;margin:8px 0 0}
.rv2 .steps div{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px;color:#4B5563}
.rv2 .steps b{flex-shrink:0;white-space:nowrap;font-size:12.5px;color:var(--navy)}
.rv2 .layer{display:grid;grid-template-columns:1fr;gap:6px}
.rv2 .layer div{display:flex;gap:8px;align-items:flex-start;background:var(--grey);border-radius:8px;padding:8px 9px;font-size:13.5px}
.rv2 .chip.c-amber,.rv2 .card.c-amber{border-left-color:var(--amber)}
.rv2 .mt-right .chip{margin:0}

/* R2 修正：头部胶囊在 App 容器里不裁、允许换行；一周排表单元格允许换行（标签竖排），不撑出容器 */
.rv2 .chip{overflow:visible;text-overflow:clip;max-width:100%}
.rv2 .hero .chips .chip{white-space:normal;flex-shrink:1}
.rv2 .weekt{table-layout:fixed}
.rv2 .weekt td,.rv2 .weekt th{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;padding:7px 2px;vertical-align:top}
.rv2 .weekt .wk-c{margin:0 0 3px}
.rv2 .weekt-title{margin:10px 0 4px;font-size:13px;font-weight:700;color:#1C2740}
.rv2 .kpi-val,.rv2 .kpi-val small{font-family:inherit}

/* R2 · 录入卡（学习行为 6 题 + 家庭动力三问）：挂在报告屏正文上方，360 宽不横向滚动，字号 ≥ 12px */
.v2i{margin:12px 16px 8px}
.v2i-box{background:#fff;border:1px solid #E4E1D8;border-radius:14px;padding:0;overflow:hidden}
.v2i-box summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;list-style:none;font-size:14px;font-weight:800;color:#1C2740}
.v2i-box summary::-webkit-details-marker{display:none}
.v2i-title{min-width:0}
.v2i-state{flex-shrink:0;white-space:nowrap;font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px}
.v2i-state.ok{background:#E5F2EA;color:#1F5A3F}.v2i-state.todo{background:#FFF3D6;color:#8A5A00}
.v2i-body{padding:0 14px 14px}
.v2i-h{font-size:14px;font-weight:800;color:#1C2740;margin:10px 0 2px}
.v2i-hint{font-size:12.5px;color:#5B6170;margin:0 0 6px}
.v2i-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:7px 0;border-top:1px dashed #E4E1D8;font-size:14px}
.v2i-q{flex:1 1 120px;color:#2B2F38;min-width:0}
.v2i-opts{display:flex;gap:6px;flex-wrap:wrap}
.v2i-opt{display:inline-flex;align-items:center;gap:4px;background:#F3F4F6;border-radius:999px;padding:5px 11px;font-size:13px;white-space:nowrap}
.v2i-sel select,.v2i-sel input[type=text]{flex:1 1 140px;min-width:0;max-width:100%;font-size:14px;padding:7px 8px;border:1px solid #DCE9E2;border-radius:8px;background:#fff}
.v2i-save{display:block;width:100%;margin-top:10px;background:#1C2740;color:#fff;border:0;border-radius:10px;padding:11px;font-size:14px;font-weight:800;cursor:pointer}
.v2i-save:disabled{opacity:.45;cursor:not-allowed}
.v2i-msg{font-size:12.5px;color:#5B6170;margin:6px 0 0;min-height:1em}
#screen-report > #rp-v2-intake{order:5}
.rv2 .chip{flex:0 1 auto;text-align:left}
.rv2 .hero .chips{align-items:flex-start}

/* T5S · 测评结果页：首屏四格（2×2）+ 五节里并进来的小块。只用 .rv2 区已有的颜色变量，不新造颜色。 */
.rv2 #as-cards .fs-cell{min-width:0;display:flex;flex-direction:column;gap:3px}
.rv2 #as-cards .fs-cell .kpi-label{font-size:12.5px;font-weight:700;color:var(--gold-d);white-space:nowrap;flex-shrink:0}
.rv2 #as-cards .fs-v{font-size:13.5px;line-height:1.5;color:var(--navy);font-weight:600;overflow-wrap:anywhere;word-break:break-word}
.rv2 #as-cards .fs-v2{font-size:12.5px;font-weight:500;color:var(--sub)}
.rv2 .sop-line{display:block;padding:5px 0;border-top:1px dashed var(--line);font-size:13.5px;line-height:1.55;color:var(--sub2)}
.rv2 .sop-line b{white-space:nowrap;color:var(--navy);font-size:13.5px;margin-right:6px}
.rv2 .sop-line span{overflow-wrap:anywhere}
.rv2 .sop-bars + .sop-line{margin-top:8px}
.rv2 .sop-subhead{font-size:12.5px;font-weight:700;color:var(--gold-d);margin:10px 0 2px;white-space:nowrap}
