/* ============================================================
   report-merged.css · 智能规划报告「合并草表视图」(RPM)
   批次内分区：zone 整体（色带头 + 志愿位 + 可选学校 / 双井）
   统招=松绿 / 指标=金 / 提前批(自主·实验·民族)=蓝灰。
   2026-07-10 设计二版（真机反馈）：
   · 用站点设计语言——标题 var(--serif)、正文 var(--sans)、数字 var(--mono)；
   · zone 整体着淡色（不只色带头），一眼读成一个单元；
   · 志愿位行紧凑化；档位页签改胶囊；≤700px 移动端适配。
   2026-07-10 三版（真机反馈二轮）：
   · 已填校不再单列色条：置顶行 + 行首「已填入」标签(.is-filled .b-nm::before)；
   · 可选学校每档只展示前 3 所（.rpm-morenote 说明收起数）；
   · 双井桌面端(≥1020px)两井并排恒显(.rpm-xwpair)，窄屏按钮切换(.rpm-xslot.on)；
   · 工具条右侧动作区(.rpm-acts)：一键生成规划报告 / 建议方案 / 仅匹配 / 导出▾；
   · 批次小结逐条建议列表(.rpm-vlist)；报告占满整行(.grid.rpm-solo)。
   依赖 main.css 设计 token 与 wells.css 双井样式；须在 wells.css 之后加载。
   ============================================================ */

/* —— 顶部工具条 —— */
.rp .rpm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel,#fff);
  border:1px solid var(--line);border-radius:13px;padding:10px 14px;margin:4px 0 14px;box-shadow:var(--shadow,0 1px 2px rgba(20,60,52,.04))}
.rp .rpm-toolbar .rpm-flab{font-size:12px;font-weight:800;color:var(--ink-soft);letter-spacing:1px}
.rp .rpm-fseg{display:flex;align-items:center;background:var(--paper,#f1f8f4);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.rp .rpm-fseg .rpm-fbase{display:inline-flex;align-items:center;padding:5px 10px;font-size:12px;font-weight:800;color:var(--pine-dark);white-space:nowrap}
.rp .rpm-fseg button{border:none;background:transparent;font-family:var(--sans);font-size:12px;font-weight:600;
  color:var(--muted);padding:5px 12px;border-radius:8px;cursor:pointer;transition:all .15s}
.rp .rpm-fseg button.on{background:#fff;color:var(--pine-dark);font-weight:800;box-shadow:0 1px 4px rgba(20,60,52,.14)}
/* ★ 2026-07-15 指标到校数据年份说明（用户要求⑤） */
.zb-year-note{margin:2px 0 10px;padding:7px 12px;background:#fff8e6;border:1px solid #ecdca6;border-radius:9px;font-size:11.5px;font-weight:500;color:#7a6a3d;line-height:1.6}
.zb-year-note b{color:#B07A12;font-weight:800}
.rp .rpm-acts{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rp .rpm-gen,.empty-stage .rpm-gen{border:none;background:linear-gradient(135deg,var(--pine),var(--pine-dark));
  color:#fff;border-radius:11px;padding:8px 16px;font-family:var(--sans);font-size:12.5px;font-weight:800;cursor:pointer;
  box-shadow:0 4px 12px rgba(var(--pine-dark-rgb,13,138,118),.28);white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;letter-spacing:.01em;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.rp .rpm-gen:hover,.empty-stage .rpm-gen:hover{filter:brightness(1.06);transform:translateY(-1px)}
.rp .rpm-gen:active,.empty-stage .rpm-gen:active{transform:translateY(0);filter:brightness(.98)}
.rp .rpm-gen:focus-visible,.empty-stage .rpm-gen:focus-visible{outline:3px solid color-mix(in srgb,var(--pine) 30%,transparent);outline-offset:3px}
.rp .rpm-gen:disabled,.empty-stage .rpm-gen:disabled{opacity:.58;filter:grayscale(.2);box-shadow:none;cursor:not-allowed;transform:none}
.rp .rpm-gen.sec,.empty-stage .rpm-gen.sec{background:var(--pine-light-2,#eafaf5);color:var(--pine-dark);border:1px solid var(--pine-border);box-shadow:none}
.rp .rpm-gen.sec:hover,.empty-stage .rpm-gen.sec:hover{background:var(--pine-light,#d6f1ea);filter:none}
.rp .rpm-gen.ghost,.empty-stage .rpm-gen.ghost{background:#fff;color:var(--ink-soft);border:1px solid var(--line);box-shadow:none;font-weight:700}
.rp .rpm-gen.ghost:hover,.empty-stage .rpm-gen.ghost:hover{border-color:var(--pine-border);color:var(--pine-dark);filter:none}
.rp .rpm-hint{font-size:11px;color:var(--muted)}

/* —— 批次卡 —— */
.rp .rpm-batch{background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;margin-bottom:18px;
  overflow:hidden;box-shadow:var(--shadow,0 1px 2px rgba(20,60,52,.04),0 12px 30px rgba(20,60,52,.06))}
.rp .rpm-bhead{display:flex;align-items:center;gap:12px;padding:13px 18px;
  background:linear-gradient(180deg,var(--paper-warm,#fbfdfb),#fff);border-bottom:1px solid var(--line-soft,#ecf5f0)}
.rp .rpm-bno{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex:none;
  font-family:var(--serif);font-weight:900;font-size:15px;color:var(--pine-dark);
  background:var(--pine-light);border:1px solid var(--pine-border)}
.rp .rpm-bname{font-family:var(--serif);font-weight:900;font-size:17.5px;letter-spacing:.5px;color:var(--ink)}
.rp .rpm-bscope{font-size:12px;color:var(--muted);line-height:1.6;margin-top:2px}

/* —— zone 整体：整块淡着色 + 色带头，读成一个单元 —— */
.rp .rpm-zone{border:1px solid var(--line);border-radius:13px;margin:12px 14px 14px;overflow:hidden}
.rp .rpm-zone.z-pine{border-color:var(--pine-border);background:linear-gradient(180deg,var(--pine-light-2,#eafaf5),#fff 150px)}
.rp .rpm-zone.z-gold{border-color:#ecdca6;background:linear-gradient(180deg,var(--gold-soft,#faf1d8),#fff 150px)}
.rp .rpm-zone.z-slate{border-color:#cfe4f4;background:linear-gradient(180deg,var(--slate-soft,#dceff9),#fff 150px)}
.rp .rpm-zh{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:1px;padding:9px 15px}
.rp .rpm-zh::before{content:"";width:8px;height:8px;border-radius:3px;background:currentColor;opacity:.85;flex:none}
.rp .z-pine>.rpm-zh{color:var(--pine-dark);border-bottom:1px solid var(--pine-border)}
.rp .z-gold>.rpm-zh{color:#8a6d1f;border-bottom:1px solid #ecdca6}
.rp .z-slate>.rpm-zh{color:#2b6ca3;border-bottom:1px solid #cfe4f4}
.rp .rpm-zh .rpm-zh-sub{font-size:10.5px;font-weight:600;color:inherit;opacity:.7;letter-spacing:0}
.rp .rpm-zh .rpm-zh-need{font-size:10px;font-weight:700;letter-spacing:0;color:#8a6d1f;background:var(--gold-soft,#faf1d8);border-radius:5px;padding:1px 7px}
.rp .rpm-zone.has-zh-note>.rpm-zh{padding-bottom:5px;border-bottom:none}
.rp .rpm-zh-note{padding:0 15px 9px;border-bottom:1px solid #ecdca6;font-size:11.5px;font-weight:500;line-height:1.65;letter-spacing:0;color:#756b51}
.rp .rpm-zh-note b{font-weight:800;color:#6e5519}

/* —— 志愿位表（紧凑） —— */
.rp table.rpm-slots{width:100%;border-collapse:collapse}
.rp table.rpm-slots td{border-bottom:1px dashed rgba(20,60,52,.1);padding:0;vertical-align:middle}
.rp table.rpm-slots tr:last-child td{border-bottom:none}
.rp .rpm-cat{width:138px;padding:10px 14px;font-size:12px;color:var(--ink-soft);font-weight:700;border-right:1px dashed rgba(20,60,52,.1)}
.rp .rpm-cell{padding:7px 12px}
.rp .rpm-slot{border:1px dashed rgba(20,60,52,.16);border-radius:10px;padding:7px 12px;background:rgba(255,255,255,.65)}
.rp .rpm-slot.empty{color:var(--muted-2,#a6b7ac);display:flex;align-items:center;gap:8px;font-size:12.5px;min-height:36px}
.rp .rpm-slot.empty .hintx{margin-left:auto;font-size:10.5px;text-align:right;color:var(--muted-2,#a6b7ac)}
.rp .rpm-slot.filled{border-style:solid;border-color:var(--line);background:#fff;box-shadow:0 1px 3px rgba(20,60,52,.06)}
.rp .rpm-slot.filled.k-reach{border-left:4px solid #B07A12}
.rp .rpm-slot.filled.k-match,.rp .rpm-slot.filled.k-stable{border-left:4px solid #D9730D}
.rp .rpm-slot.filled.k-safe{border-left:4px solid #3F6CB5}
.rp .rpm-slot.filled.k-zb{border-left:4px solid var(--pine)}
.rp .rpm-slot.filled.k-high{border-left:4px solid #b3261e}
.rp .rpm-st{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rp .rpm-st .nm{font-weight:800;font-size:14.5px;color:var(--ink)}
.rp .rpm-st .ln{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-left:auto;font-variant-numeric:tabular-nums}
.rp .rpm-badge{font-size:10.5px;font-weight:800;border-radius:6px;padding:1px 7px;flex:none}
.rp .rpm-badge.k-reach{color:#B07A12;background:#FBF3DF}
.rp .rpm-badge.k-match,.rp .rpm-badge.k-stable{color:#D9730D;background:#fbe6cf}
.rp .rpm-badge.k-safe{color:#3F6CB5;background:#E7EEF8}
.rp .rpm-badge.k-zb{color:var(--pine-dark);background:var(--pine-light,#d6f1ea)}
.rp .rpm-badge.k-high{color:#b3261e;background:#fdecea}
.rp .rpm-badge.k-info{color:var(--muted);background:#eef2ee}
.rp .rpm-cmt{font-size:12px;color:var(--ink-soft);margin-top:5px;border-top:1px dashed var(--line-soft,#ecf5f0);padding-top:5px;line-height:1.6}
.rp .rpm-x{flex:none;width:19px;height:19px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--muted);
  display:grid;place-items:center;font-size:11px;line-height:1;cursor:pointer;margin-left:2px}
.rp .rpm-x:hover{color:#b3261e;border-color:#e6a09a}

/* —— 可选学校小节（zone 内，白底承接 zone 淡色） —— */
.rp .rpm-rec{background:#fff}
.rp .rpm-rech{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 15px;
  background:var(--pine-light-2,#eafaf5);border-top:1px solid var(--pine-border);border-bottom:1px dashed var(--pine-border)}
.rp .rpm-rech .t{font-family:var(--serif);font-size:13.5px;font-weight:900;color:var(--pine-dark);letter-spacing:.5px}
.rp .rpm-rech .sub{font-size:11px;color:var(--muted)}
.rp .rpm-rech .coll{margin-left:auto;border:1px solid var(--pine-border);background:#fff;color:var(--pine-dark);border-radius:8px;
  padding:3px 10px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;pointer-events:none}
/* ★ 整条 header 可点开合(用户反馈:原「收起 ▾」小按钮太难点)——click 目标移到 .rpm-rech,右侧 chevron 仅作视觉提示(pointer-events:none 让点击穿透到整条) */
.rp .rpm-rech.clickable{cursor:pointer;user-select:none}
.rp .rpm-rech.clickable:hover{filter:brightness(.97)}
.rp .z-gold .rpm-rech{background:var(--gold-soft,#faf1d8);border-top:1px solid #ecdca6;border-bottom:1px dashed #e6cd8e}
.rp .z-gold .rpm-rech .t{color:#7a5e1f}
.rp .z-gold .rpm-rech .coll{border-color:#e6cd8e;color:#7a5e1f}
.rp .rpm-recb{padding:2px 15px 12px}
.rp .rpm-recb.collapsed{display:none}

/* 档位页签 → 胶囊（覆盖 rp-v5 下划线样式，仅限 RPM 区域） */
.rp .rpm-recb .b-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:none;border-bottom:none;padding:10px 0 8px;margin:0}
.rp .rpm-recb .b-tab{border:1px solid var(--line);border-radius:999px;padding:4px 13px;background:#fff;
  font-family:var(--sans);font-size:12.5px;font-weight:700;color:var(--muted);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.rp .rpm-recb .b-tab i{width:8px;height:8px;border-radius:50%;flex:none}
.rp .rpm-recb .b-tab b{font-family:var(--mono);font-size:11px;font-weight:600}
.rp .rpm-recb .b-tab.on{border-color:currentColor;background:color-mix(in srgb,currentColor 9%,#fff);font-weight:800}
.rp .rpm-recb .b-tab-rule{margin-left:auto;font-size:11px;color:var(--muted)}

/* 导出形态：三档平铺的档位题头 */
.rp .b-tier-cap{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:900;font-size:13.5px;
  padding:12px 2px 6px;border-bottom:1px solid var(--line-soft,#ecf5f0);margin-bottom:4px}
.rp .b-tier-cap i{width:9px;height:9px;border-radius:50%;flex:none}
.rp .b-tier-cap span{font-family:var(--sans);font-weight:500;font-size:11px;color:var(--muted);margin-left:auto}

/* ★ 2026-07-12 勾选式：推荐行 左=原版 .b-row，右=勾选框列（勾选=选中该校） */
.rp .rpm-rowwrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.rp .rpm-rowwrap>.b-row{min-width:0}
.rp .rpm-pickcol{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:6px 4px 6px 8px;user-select:none}
.rp .rpm-ck,.rp .xw-ck input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.rp .rpm-ckbox{width:22px;height:22px;border:2px solid var(--pine);border-radius:6px;background:#fff;display:grid;place-items:center;transition:all .15s;flex:none}
.rp .rpm-ckbox::after{content:"";width:11px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) scale(0);transition:transform .13s;margin-top:-2px}
.rp .rpm-ck:checked+.rpm-ckbox,.rp .xw-ck input:checked+.rpm-ckbox{background:var(--pine);border-color:var(--pine)}
.rp .rpm-ck:checked+.rpm-ckbox::after,.rp .xw-ck input:checked+.rpm-ckbox::after{transform:rotate(-45deg) scale(1)}
.rp .rpm-cklab{font-size:10px;font-weight:800;color:var(--pine-dark);letter-spacing:.5px}
.rp .rpm-pickcol:hover .rpm-ckbox{box-shadow:0 0 0 3px rgba(22,169,143,.16)}
/* 已选校：置顶行淡松绿底 + 行首「已选择」标签（.b-nm 为 flex，::before 作为首个子项排在校名前） */
.rp .rpm-rowwrap.is-filled>.b-row{background:var(--pine-light-2,#eafaf5);border-radius:10px}
.rp .rpm-rowwrap.is-filled .b-nm::before{content:"已选择";flex:none;font-size:10px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,var(--pine),var(--pine-dark));border-radius:5px;padding:1px 7px;letter-spacing:.5px;line-height:1.6}
/* ★ 2026-07-12 勾选式新元素 */
.rp .rpm-zh .rpm-zh-max{margin-left:auto;font-size:10.5px;font-weight:800;color:var(--pine-dark);background:#fff;border:1px solid var(--pine-border);border-radius:999px;padding:1px 9px}
.rp .z-gold .rpm-zh .rpm-zh-max{color:#7a5e1f;border-color:#e6cd8e}
.rp .z-slate .rpm-zh .rpm-zh-max{color:#2b6ca3;border-color:#cfe4f4}
.rp .rpm-emptyzone{padding:14px 16px;font-size:12.5px;line-height:1.7;color:var(--muted);background:rgba(255,255,255,.55);border-top:1px dashed var(--line-soft,#ecf5f0)}
/* ★ 2026-07-12d 真机反馈③：已选计数从「📋 可选学校」标题行(.rpm-rech，已删)移到 zone 头部——紧跟「最多选 N 所」药丸之后。 */
.rp .rpm-zh .rpm-zh-sel{font-size:10.5px;font-weight:800;letter-spacing:0;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:1px 9px}
.rp .rpm-zh .rpm-zh-sel.has{color:var(--pine-dark);border-color:var(--pine-border);background:var(--pine-light,#d6f1ea)}
.rp .z-gold .rpm-zh .rpm-zh-sel.has{color:#7a5e1f;border-color:#e6cd8e;background:var(--gold-soft,#faf1d8)}
.rp .z-slate .rpm-zh .rpm-zh-sel.has{color:#2b6ca3;border-color:#cfe4f4;background:#eef6fc}
/* ★ 2026-07-12c 真机反馈②：学校卡片橙色描边 + 间距——让相邻两校的边缘/间隔更明显（展开详情时强化橙描边 + 阴影）；
   已勾选(is-filled)改用松绿描边以区分「已选 / 可选」状态（内部松绿底见上 .is-filled>.b-row）。 */
.rp .rpm-recb .rpm-rowwrap{border:1.5px solid #EAC58C;border-radius:12px;background:#fff;padding:4px 6px;margin-bottom:9px;transition:border-color .15s,box-shadow .15s}
.rp .rpm-recb .rpm-rowwrap:hover{border-color:#D9730D}
/* ★ 2026-07-12d 真机反馈②：描边更准——展开详情时卡片变高，勾选列若垂直居中会飘到卡片中部(贴着走势图)与顶部校名行脱节；
   展开态改顶部对齐(align-items:start)，让勾选框始终贴齐校名行；同时描边加深并保持四周内边距对称。 */
.rp .rpm-recb .rpm-rowwrap:has(.b-row.open){border-color:#D9730D;box-shadow:0 4px 16px rgba(217,115,13,.14);align-items:start}
.rp .rpm-recb .rpm-rowwrap:has(.b-row.open) .rpm-pickcol{padding-top:9px}
.rp .rpm-recb .rpm-rowwrap.is-filled{border-color:var(--pine-border);box-shadow:none}
/* ★ 2026-07-12b 真机反馈②：整批次无可勾选学校(提前批)默认收纳成一个「展开说明」按钮 */
.rp .rpm-ae-tog{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;text-align:left;cursor:pointer;
  border:none;border-top:1px dashed var(--line-soft,#ecf5f0);background:rgba(255,255,255,.5);padding:11px 16px;font-family:var(--sans)}
.rp .rpm-ae-tog:hover{background:#fff}
.rp .rpm-ae-t{font-weight:800;color:var(--ink-soft,#5a6876);font-size:12.5px}
.rp .rpm-ae-c{font-size:11.5px;color:var(--muted)}
.rp .rpm-ae-x{margin-left:auto;font-size:11px;font-weight:800;color:var(--pine-dark);border:1px solid var(--pine-border);border-radius:8px;padding:2px 9px}
.rp .rpm-ae-body.collapsed{display:none}
/* 勾选后的临时提醒（几秒后淡出，非弹窗，不覆盖原有信息） */
.rp .rpm-tip{max-height:0;overflow:hidden;opacity:0;transition:opacity .3s,max-height .3s,padding .3s;font-size:12px;line-height:1.6;
  color:var(--pine-dark);background:var(--pine-light-2,#eafaf5);border-radius:0 0 12px 12px;padding:0 15px}
.rp .rpm-tip.show{max-height:120px;opacity:1;padding:9px 15px;border-top:1px dashed var(--pine-border)}
.rp .rpm-tip.warn{color:#8a5a10;background:#fbf1dc}
.rp .rpm-tip.warn.show{border-top:1px dashed #ecdca6}
/* 指标楼层：勾选框（挂在 .xw-blk 右侧）+ 已选高亮 + 展开全部
   ★ 2026-07-12b 真机反馈④：原「达标·保底/可冲」徽章(.xw-rel)与勾选框都绝对定位在同一右上角 → 互相遮挡(只露出「可」「达标·保」)。已修。
   ★ 2026-07-12c 真机反馈「指标继续优化布局」：① 徽章「可冲/保底」移入名称行行内(不再独占一行) → 楼层降到 2 行更紧凑；
     ② 按落点着色左侧强调条(可冲=琥珀 / 你达标保底=松绿) → 阶梯一眼可扫；③ 右侧 60px 留给垂直居中勾选框(不遮挡)。 */
/* ★ 2026-07-12e 真机反馈②：指标卡片视觉向第一批统招卡(.rpm-rowwrap)对齐——琥珀圆角描边卡·hover→橙·展开→橙+投影·
     已达标(on)→松绿·已勾选(is-picked)→松绿描边+底色；不再用「灰底+3px 左强调条」，可冲/保底改由名称行内徽章(.xw-rel)表达。 */
.rp #rpmZbx .xw-blk{position:relative;min-height:64px;padding:0;gap:0;border:1.5px solid #EAC58C;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.rp #rpmZbx .xw-blk:hover{border-color:#D9730D;transform:none;box-shadow:none}
.rp #rpmZbx .xw-blk.xw-exp.open{border-color:#D9730D;box-shadow:0 4px 16px rgba(217,115,13,.14)}
/* 指标首部沿用第一批学校的网格节奏（布局见 wells.css .xw-head.zb-l1）；
     此处仅补 #rpmZbx 专属——右侧留 46px 给绝对定位勾选框(.xw-ck)，不与 ▾/火花线相撞。 */
.rp #rpmZbx .xw-head.zb-l1{padding-right:46px}
.rp #rpmZbx .xw-blk.rush{border-color:#E3B341}
.rp #rpmZbx .xw-blk.on{border-color:var(--pine);background:var(--pine-light-2,#eafaf5)}
.rp #rpmZbx .xw-drawer{padding-left:14px}
.rp .xw-ck{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;z-index:2;user-select:none}
.rp .xw-ck .rpm-ckbox{width:20px;height:20px}
.rp .xw-ck .rpm-cklab{font-size:9px}
.rp .xw-ck.is-blocked{cursor:not-allowed;opacity:.55}
.rp .xw-ck.is-blocked .rpm-ckbox{border-color:#a9b1ac;background:#f3f5f4;box-shadow:none}
.rp .xw-ck.is-blocked .rpm-cklab{color:#7f8983;letter-spacing:0}
.rp #rpmZbx .xw-blk.is-picked{border-color:var(--pine-border);background:var(--pine-light-2,#eafaf5)}
.rp .xw-extra.collapsed{display:none}
.rp .xw-expand{display:block;width:100%;margin:8px 0 2px;border:1px dashed var(--pine-border);background:var(--pine-light-2,#eafaf5);
  color:var(--pine-dark);border-radius:9px;padding:8px;font-family:var(--sans);font-size:12px;font-weight:800;cursor:pointer;transition:.15s}
.rp .xw-expand:hover{background:var(--pine-light,#d6f1ea)}
/* plainRow / 兜底行（非 v5 网格）：改回 flex 流式布局 */
.rp .rpm-recb .rpm-plain .b-row-l1{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 6px}
.rp .rpm-recb .rpm-plain .b-line{margin-left:auto;display:flex;align-items:baseline;gap:5px}
.rp .rpm-recb .rpm-plain .b-line .num{font-family:var(--mono);font-weight:700;font-size:15px}
.rp .rpm-recb .rpm-plain .b-line i{font-style:normal;font-size:10.5px;color:var(--muted)}
.rp .rpm-recb .b-nm b{font-size:14px}
.rp .rpm-morenote{font-size:11px;color:var(--muted-2,#a6b7ac);padding:8px 4px 2px;border-top:1px dashed var(--line-soft,#ecf5f0);margin-top:4px}
.rp .rpm-foot{font-size:10.5px;color:var(--muted-2,#a6b7ac);margin-top:9px;line-height:1.7}
.rp .rpm-empty{padding:12px 4px;font-size:12.5px;color:var(--muted-2,#a6b7ac)}
.rp .rpm-more{margin:2px 0}
.rp .rpm-more>summary{list-style:none;cursor:pointer;color:var(--pine-dark);font-size:12px;font-weight:700;padding:8px 4px}
.rp .rpm-more>summary::-webkit-details-marker{display:none}
.rp .rpm-more>summary::before{content:"▸ "}
.rp .rpm-more[open]>summary::before{content:"▾ "}

/* —— 「更多学校」展开(用户要求⑤：每档默认前 3 所，>3 所点开看全部)：live=.rpm-more2 / 导出=.rpm-xmore（导出模式下由导出样式强制全展开） —— */
.rp .rpm-more2,.rp .rpm-xmore{margin:4px 0 0}
.rp .rpm-more2>summary,.rp .rpm-xmore>summary{list-style:none;cursor:pointer;color:var(--pine-dark);font-size:12px;font-weight:800;
  padding:8px 12px;margin-top:6px;border:1px dashed var(--pine-border,#bfe3d8);border-radius:9px;background:var(--pine-light,#eafaf5);
  text-align:center;transition:all .15s}
.rp .rpm-more2>summary:hover,.rp .rpm-xmore>summary:hover{background:var(--pine-light-2,#d6f1ea);border-style:solid}
.rp .rpm-more2>summary::-webkit-details-marker,.rp .rpm-xmore>summary::-webkit-details-marker{display:none}
.rp .rpm-more2>summary::before,.rp .rpm-xmore>summary::before{content:"▸ "}
.rp .rpm-more2[open]>summary::before,.rp .rpm-xmore[open]>summary::before{content:"▾ "}

/* —— 第二批「学段」筛选：全部 / 普高 / 职高（用户要求⑥，置于冲稳保页签之后）—— */
.rp .rpm-stageseg{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:2px 0 8px;margin:0 0 2px}
.rp .rpm-stlab{font-size:11px;font-weight:700;color:var(--muted-2,#a6b7ac);letter-spacing:.5px;margin-right:2px}
.rp .rpm-stbtn{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:3px 14px;
  font-family:var(--sans);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s}
.rp .rpm-stbtn:hover{border-color:var(--pine);color:var(--pine-dark)}
.rp .rpm-stbtn.on{background:linear-gradient(135deg,var(--pine),var(--pine-dark));border-color:var(--pine-dark);color:#fff;font-weight:800}

/* —— 升学型中职档头(live 视图，学段=全部/职高时显示) —— */
.rp .rpm-zzcap{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:900;font-size:13px;color:#0d8a76;
  padding:12px 2px 6px;margin-top:6px;border-top:1px dashed var(--line-soft,#ecf5f0)}

/* —— 指标 zone 内：双井 —— 窄屏=按钮切换单井；桌面端(≥1020px)两井并排恒显 —— */
.rp .rpm-recb.zbx{padding:12px 15px 14px}
.rp .rpm-zbseg{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:2px 0 12px}
.rp .rpm-ztab{border:1px solid #e6cd8e;background:#fff;color:#7a5e1f;border-radius:999px;padding:6px 16px;
  font-family:var(--sans);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s}
.rp .rpm-ztab.on{background:linear-gradient(135deg,var(--pine),var(--pine-dark));border-color:var(--pine-dark);color:#fff;font-weight:800;
  box-shadow:0 3px 10px rgba(var(--pine-dark-rgb,13,138,118),.24)}
.rp .rpm-recb.zbx .xwell{border:none;border-radius:0;background:transparent;width:100%;max-width:none;margin:0;padding-left:0;padding-right:0}
.rp .rpm-recb.zbx .xwell+.xwell{margin-top:22px;padding-top:18px;border-top:1px dashed #e6cd8e}
.rp .rpm-recb.zbx .xw-pair{display:block;margin-top:0}
.rp .rpm-xwpair .rpm-xslot{display:none}
.rp .rpm-xwpair .rpm-xslot.on{display:block}
@media(min-width:1020px){
  .rp .rpm-xwpair{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
  .rp .rpm-xwpair .rpm-xslot{display:block}
  .rp .rpm-xwpair .rpm-xslot .xwell{max-width:none;margin:0}
  .rp .rpm-recb.zbx .rpm-zbseg{display:none}
}

/* 井Ⅰ楼层「填入」装饰按钮（afterRender 注入；未达控制线地板的 .dim 楼层不挂） */
.rp .xw-blk .xw-fillbtn{position:absolute;right:10px;bottom:8px;border:1px solid var(--pine);background:#fff;color:var(--pine-dark);
  border-radius:8px;padding:2px 11px;font-size:11px;font-weight:800;cursor:pointer;z-index:2}
.rp .xw-blk .xw-fillbtn:hover{background:var(--pine);color:#fff}
.rp .xw-blk .xw-filledmk{position:absolute;right:10px;bottom:8px;font-size:10.5px;font-weight:800;color:var(--pine-dark);
  background:var(--pine-light,#d6f1ea);border-radius:6px;padding:2px 8px;z-index:2}

/* —— 批次总评（规则生成 · 逐条建议） —— */
.rp .rpm-verdict{padding:11px 18px 13px;border-top:1px solid var(--line-soft,#ecf5f0);
  background:linear-gradient(180deg,#fff,var(--panel-2,#f4faf6));font-size:13px;color:var(--ink-soft);line-height:1.7}
.rp .rpm-verdict b.vh{font-family:var(--serif);color:var(--pine-dark);letter-spacing:.5px}
.rp .rpm-vlist{margin:7px 0 0;padding-left:19px;display:flex;flex-direction:column;gap:4px}
.rp .rpm-vlist li{font-size:12.5px;line-height:1.7}
.rp .rpm-vlist li::marker{color:var(--pine)}

/* —— 填入顺位 / 导出 小菜单 —— */
.rpm-menu{position:fixed;z-index:99998;width:280px;background:#fff;border:1px solid var(--line,#dceae3);border-radius:13px;
  box-shadow:var(--shadow-lift,0 2px 4px rgba(20,60,52,.06),0 18px 40px rgba(20,60,52,.10));padding:8px;display:none;
  font-family:var(--sans,sans-serif);font-size:13px}
.rpm-menu.on{display:block}
.rpm-menu .fm-t{font-size:11.5px;font-weight:800;color:var(--ink-soft,#3c594f);padding:6px 8px;border-bottom:1px solid #ecf5f0;margin-bottom:5px}
.rpm-menu .fm-item{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;cursor:pointer;text-align:left;font-family:inherit}
.rpm-menu .fm-item:hover{background:#eafaf5}
.rpm-menu .fm-lab{font-size:12.5px;font-weight:700;white-space:nowrap}
.rpm-menu .fm-cur{margin-left:auto;font-size:11px;color:#6f8379;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpm-menu .fm-act{flex:none;font-size:10.5px;font-weight:800;border-radius:6px;padding:1px 8px}
.rpm-menu .fm-act.into{color:#0d8a76;background:#d6f1ea}
.rpm-menu .fm-act.swap{color:#8a6d1f;background:#faf1d8}
.rpm-menu .fm-act.self{color:#6f8379;background:#eef2ee}
/* ★ 2026-07-11b 版本菜单禁用项(单版本身份的「户籍报考版」):置灰+整行原因说明,点击仅 flash 原因 */
.rpm-menu .fm-item.dis{flex-wrap:wrap;opacity:.62;cursor:not-allowed}
.rpm-menu .fm-item.dis:hover{background:#f4f7f4}
.rpm-menu .fm-item.dis .fm-cur{color:#a3564b}
.rpm-menu .fm-why{flex-basis:100%;font-size:10.5px;line-height:1.5;color:#8a6d1f;background:#faf5e4;border-radius:6px;padding:3px 7px;margin-top:3px;white-space:normal}

/* —— RPM 接管时报告占满整行（「生成报告」卡片已隐藏，按钮由工具条代理） —— */
.page[data-page="report"] .grid.rpm-solo{grid-template-columns:1fr}

/* —— 长图 PNG / HTML 导出容器（report-longpdf/report-print 的 .rp-export-html，不吃 @media print）：隐藏交互件 —— */
.rp-export-html .rpm-fill,.rp-export-html .rpm-x,.rp-export-html .rpm-gen,.rp-export-html .rpm-fseg,
.rp-export-html .rpm-zbseg,.rp-export-html .rpm-rech .coll,.rp-export-html .xw-blk .xw-fillbtn,
.rp-export-html .rpm-acts,.rp-export-html .rpm-toolbar,.rp-export-html .rpm-morenote{display:none!important}
.rp-export-html .rpm-recb.collapsed{display:block!important}

/* —— 打印/导出（沿用 report-print 展开机制）：隐藏交互件 —— */
@media print{
  .rp .rpm-fill,.rp .rpm-x,.rp .rpm-gen,.rp .rpm-fseg,.rp .rpm-zbseg,.rp .rpm-rech .coll,
  .rp .xw-blk .xw-fillbtn,.rp .rpm-acts,.rp .rpm-toolbar,.rp .rpm-morenote,.rpm-menu{display:none!important}
  .rp .rpm-recb.collapsed{display:block!important}
  .rp .b-tier-cap{break-after:avoid}
  .rp .rpm-batch{break-inside:avoid-page}
}

/* —— 移动端 —— */
@media(max-width:700px){
  .rp .rpm-toolbar{padding:8px 10px;gap:8px}
  .rp .rpm-acts{margin-left:0;width:100%;order:9;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .rp .rpm-acts .rpm-gen{width:100%}
  .rp .rpm-acts .rpm-gen.primary{grid-column:1/-1}
  .rp .rpm-batch{border-radius:13px;margin-bottom:14px}
  .rp .rpm-bhead{padding:11px 12px}
  .rp .rpm-zone{margin:10px 8px 12px}
  .rp .rpm-zh{align-items:flex-start;flex-wrap:wrap;padding:9px 11px 7px;gap:5px 7px}
  .rp .rpm-zh .rpm-zh-max{margin-left:0}
  .rp .rpm-zh-note{padding:0 11px 9px;font-size:11px}
  .rp .rpm-cat{width:96px;padding:9px 8px;font-size:11px}
  .rp .rpm-cell{padding:6px 8px}
  .rp .rpm-slot{padding:6px 9px}
  .rp .rpm-slot.empty .hintx{display:none}
  .rp .rpm-st .ln{margin-left:0;flex-basis:100%;order:9}
  .rp .rpm-recb{padding:2px 10px 10px}
  .rp .rpm-recb.zbx{padding:10px 8px 12px}
  .rp .rpm-rowwrap{grid-template-columns:1fr;gap:2px}
  .rp .rpm-fillcol{flex-direction:row;justify-content:flex-end;padding:0 0 8px}
  .rp .rpm-recb .b-row-l1{flex-wrap:wrap}
  .rp .rpm-recb .b-tab-rule{margin-left:0;flex-basis:100%}
  .rp .rpm-verdict{padding:10px 12px}
}

/* ===== ★ 2026-07-11 学籍/户籍双版本:统一筛选前的当前版本标签 ===== */
.rp .rpm-vertag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;letter-spacing:.3px;
  padding:3px 12px;border-radius:999px;white-space:nowrap;cursor:default}
.rp .rpm-vertag.xj{color:#0f5a4a;background:#e3f3e9;border:1.5px solid #9fd4b4}
.rp .rpm-vertag.hj{color:#7a4d0b;background:#fdf1d8;border:1.5px solid #e3c37e}
.rp .rpm-vertag::before{content:"◈";font-size:11px;opacity:.75}
