/* ============================================================
   学途点点 · AI 咨询板块样式（.aichat 作用域）
   由 index.html 原 <style> 块拆分而来（内容逐字未改）。
   加载顺序：main.css 先于 refine.css，与原文件内顺序一致，
   以保持 CSS 级联(cascade)不变。
   ============================================================ */
  /* —— AI 咨询板块（作用域 .aichat，避免与其它页样式冲突）—— */
  .aichat{max-width:880px;margin:6px auto 0;display:flex;flex-direction:column;gap:12px}
  .aichat-stream{display:flex;flex-direction:column;gap:14px;min-height:120px}
  .ai-msg{display:flex;gap:10px;align-items:flex-start}
  .ai-msg .av{flex:0 0 30px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff}
  .ai-msg.user{flex-direction:row-reverse}
  .ai-msg.user .av{background:var(--ink-soft)}
  .ai-msg.ai .av{background:var(--pine)}
  .ai-bubble{max-width:78%;padding:12px 15px;border-radius:14px;line-height:1.75;font-size:14.5px;border:1px solid var(--line)}
  .ai-msg.user .ai-bubble{background:var(--pine-light);border-color:var(--pine-light)}
  .ai-msg.ai .ai-bubble{background:var(--paper-warm)}
  .ai-bubble p{margin:.4em 0}.ai-bubble ul,.ai-bubble ol{margin:.4em 0;padding-left:1.3em}
  .ai-bubble h1,.ai-bubble h2,.ai-bubble h3{font-size:15px;margin:.6em 0 .3em}
  .ai-routed{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
  .ai-chip{font-size:11px;color:var(--pine-dark);background:var(--pine-light);border-radius:8px;padding:2px 8px}
  .ai-cite{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted)}
  .ai-cite a{color:var(--pine-dark)}
  .ai-cite .tag-mini{font-size:10px;padding:1px 6px;border-radius:7px;background:var(--cinnabar,#c0392b);color:#fff;margin-left:4px}
  .ai-ctx{margin-top:8px}.ai-ctx summary{cursor:pointer;color:var(--pine-dark);font-size:12px}
  .ai-ctx pre{white-space:pre-wrap;background:color-mix(in srgb, var(--pine) 6%, #fff);border:1px solid var(--line);border-radius:10px;padding:10px;font:11.5px/1.7 ui-monospace,Menlo,monospace;max-height:300px;overflow:auto;margin:6px 0 0}
  .ai-warn{font-size:12.5px;color:var(--cinnabar-dark,#a93226);background:#fdecea;border:1px solid #f5c6c0;border-radius:10px;padding:9px 12px}
  .aichat-suggest{display:flex;flex-wrap:wrap;gap:8px}
  .aichat-suggest button{font-size:12px;padding:6px 11px;border:1px solid var(--line);background:#fff;border-radius:999px;cursor:pointer;color:var(--ink-soft)}
  .aichat-suggest button:hover{border-color:var(--pine);color:var(--pine-dark)}
  .aichat-composer{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
  .aichat-composer textarea{width:100%;box-sizing:border-box;border:none;outline:none;resize:none;font:inherit;font-size:14.5px;line-height:1.6;max-height:160px}
  .aichat-actions{display:flex;align-items:center;gap:12px;margin-top:6px}
  .aichat-db{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px;cursor:pointer;margin-right:auto}
  .aichat-hint{font-size:12px;color:var(--muted-2);min-height:16px;text-align:center}
  .ai-typing{display:inline-flex;gap:4px;align-items:center}
  .ai-typing i{width:6px;height:6px;border-radius:50%;background:var(--pine);opacity:.5;animation:aiBlink 1s infinite}
  .ai-typing i:nth-child(2){animation-delay:.2s}.ai-typing i:nth-child(3){animation-delay:.4s}
  @keyframes aiBlink{0%,80%,100%{opacity:.25}40%{opacity:1}}


/* ============================================================
   考生信息中心（整合补丁）：展开/收纳、必填星、面板布局、草表来源条
   ============================================================ */
.scorebar .rq{color:var(--cinnabar);font-style:normal;font-weight:700;margin-left:1px}
.sb-field .sb-opt{font-size:9px;color:var(--muted-2);font-weight:500;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:0 4px;margin-left:3px;vertical-align:1px}
.sb-field-school input{min-width:130px;font-family:var(--sans)!important;font-weight:500!important;font-size:12.5px!important;text-align:left!important}
.sb-toggle{display:inline-flex;align-items:center;gap:5px;margin-left:10px;border:1px solid var(--line);background:#fff;color:var(--pine-dark);
  font-family:var(--sans);font-size:11.5px;font-weight:700;padding:7px 11px;border-radius:9px;cursor:pointer;transition:.15s;white-space:nowrap}
.sb-toggle:hover{border-color:var(--pine);background:var(--pine-light)}
.sb-toggle.on{background:var(--pine);color:#fff;border-color:var(--pine)}
.sb-toggle .sbt-i{width:13px;height:13px;transition:transform .2s}
.sb-toggle.on .sbt-i{transform:rotate(180deg)}
.scorebar.expanded{border-bottom-left-radius:0;border-bottom-right-radius:0}
.sb-panel{max-width:1180px;margin:6px auto 0;background:#fff;border:1px solid var(--pine-border);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px}
.sb-panel[hidden]{display:none}
.sb-panel-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:start}
.sb-pcol .sb-pcap{font-size:12px;font-weight:700;color:var(--ink-soft);margin:0 0 9px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.sb-pcol .sb-pcap .tip{font-size:11px;font-weight:500;color:var(--muted-2)}
.sb-pcol .field{margin-bottom:0}
.sb-pcol .field>label{display:none}                 /* 标题已由 sb-pcap 提供，隐藏卡片内重复 label */
.sb-pcol-id .chips{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:880px){
  .sb-panel-inner{grid-template-columns:1fr;gap:14px}
  .sb-toggle{margin-left:0;width:100%;justify-content:center}
}

/* ============================================================
   ★ 考生信息中心 v2（2026-07-10 政策重构）：三栏面板 / 离散字段 / 完整度徽章 / 自动资格徽章 / 政策判定区
   v2.1（同日布局优化）：标签+星号行内化(.sbx-lab)、控件统一 34px 等高、栏间分隔线、加分按钮组自动计分
   ============================================================ */
/* 判定类勾选框(指标资格/少数民族/单列生)为隐藏兼容层——main.css 的 .sb-id{display:inline-flex}
   会盖过 hidden 属性(UA 规则优先级更低)，此处强制隐藏：资格一律由政策引擎自动判定，不给学生手点。 */
.sb-id[hidden]{display:none!important}
.sb-panel-v2{grid-template-columns:minmax(0,1.05fr) minmax(0,1.1fr) minmax(0,1.25fr)}
.sb-panel-v2>.sb-pcol:not(:last-child){border-right:1px dashed var(--line);padding-right:16px}
.sbx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px;align-items:start}
.sbx-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-soft);position:relative;min-width:0}
.sbx-lab{display:flex;align-items:center;gap:3px;min-height:16px;white-space:nowrap;overflow:hidden;font-size:12px;font-weight:600;color:var(--ink-soft)}
.sbx-field input,.sbx-field select{width:100%;height:34px;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;background:#fff;
  padding:0 9px;font-size:13px;font-family:var(--sans);color:var(--ink);transition:border-color .15s}
.sbx-field input:focus,.sbx-field select:focus{outline:none;border-color:var(--pine)}
.sbx-field input.bad{border-color:var(--cinnabar);background:#fff7f5}
.sbx-field input:disabled,.sbx-field select:disabled{background:#f5f6f4;color:var(--muted-2)}
.sbx-field .rq,.sbx-lab .rq{color:var(--cinnabar);font-style:normal;margin-left:1px;flex:0 0 auto}
.sbx-field .sb-opt,.sbx-lab .sb-opt{font-size:9px;color:var(--muted-2);font-weight:500;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:0 4px;margin-left:3px;flex:0 0 auto;white-space:nowrap}
.sbx-err{color:var(--cinnabar);font-size:11px;font-weight:500}
.sbx-school{grid-column:1 / -1}
.sbx-school .sb-sug{top:calc(100% + 2px)}
.sbx-wide{grid-column:1 / -1}
/* ★ 考生市县：据「所在学校」自动匹配的只读字段（不由家长手选）——保留 <select> 供各页读 .value，仅视觉/交互置为只读。 */
.sbx-auto select{pointer-events:none;background:#eef7f0;border-color:#cbe4d3;color:var(--pine-dark);font-weight:700;cursor:default}
.sbx-auto select:focus{border-color:#cbe4d3}
.sbx-auto .sb-opt{background:#e7f5ea;border-color:#bfe3c9;color:var(--pine-dark)}
/* ★ 更多（特殊身份 / 政策性加分）：默认收起，展开才填，优化家长填写速度。 */
.sbx-more{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.sbx-more-tog{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel-2,#f6f8f6);
  border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700;color:var(--ink-soft);
  font-family:var(--sans);cursor:pointer;transition:.15s}
.sbx-more-tog:hover{border-color:var(--pine);background:var(--pine-light)}
.sbx-more-t{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.sbx-more-i{width:16px;height:16px;flex:0 0 auto;transition:transform .18s;color:var(--muted-2)}
.sbx-more-tog[aria-expanded="true"] .sbx-more-i{transform:rotate(180deg)}
.sbx-more-body{margin-top:10px}
.sbx-more-body[hidden]{display:none}
/* 政策性加分按钮组（点选身份自动计分,多项只取最高） */
.sbx-bonus{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.sbx-bonus .sbx-lab{margin-bottom:7px}
.bn-chips{display:flex;flex-wrap:wrap;gap:6px}
.bn-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600;
  color:var(--ink-soft);cursor:pointer;font-family:var(--sans);transition:all .13s;white-space:nowrap}
.bn-chips button b{font-weight:800;margin-left:3px;color:var(--muted-2)}
.bn-chips button:hover{border-color:var(--pine);background:var(--pine-light)}
.bn-chips button.on{border-color:var(--pine);background:var(--pine);color:#fff}
.bn-chips button.on b{color:#ffe9a8}
.bn-out{margin-top:7px;font-size:11px;color:var(--muted-2);line-height:1.6}
.bn-out.has{color:var(--pine-dark);font-weight:700}
/* 条形区：完整度徽章 + 自动资格徽章 */
.sb-complete{border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:700;cursor:pointer;
  font-family:var(--sans);white-space:nowrap;transition:.15s;background:#fff}
.sb-complete.warn{color:#9a3c1f;border-color:#eec4ad;background:#fff4ec}
.sb-complete.warn:hover{background:#ffe9db}
.sb-complete.ok{color:var(--pine-dark);border-color:#bcdcc7;background:#eef7f0;cursor:default}
.sb-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:330px}
.sb-badges .pb{font-size:10.5px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap;border:1px solid transparent}
.sb-badges .pb-zb{color:#1d5d33;background:#e7f5ea;border-color:#bfe3c9}
.sb-badges .pb-dl{color:#7a4a10;background:#fff3e0;border-color:#efd3a4}
.sb-badges .pb-mz{color:#7a5a12;background:#fbf3dd;border-color:#ecd9a4}
.sb-badges .pb-yd{color:#33527e;background:#edf3fb;border-color:#c6d8ef}
.sb-badges .pb-off{color:var(--muted-2);background:var(--panel-2);border-color:var(--line)}
/* 政策自动判定区（面板底部整宽） */
.sb-policy{margin-top:12px;border-top:1px dashed var(--line);padding-top:11px;font-size:12.5px;line-height:1.85;color:var(--ink-soft)}
.sb-policy:empty{display:none}
.sb-policy .pl-h{font-weight:800;color:var(--ink);font-size:12.5px;margin-bottom:2px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sb-policy .pl-gap{color:#9a3c1f;background:#fff4ec;border:1px solid #eec4ad;border-radius:9px;padding:6px 10px;margin:6px 0}
.sb-policy .pl-line b{color:var(--pine-dark)}
.sb-policy .pl-note{font-size:11px;color:var(--muted-2)}
@media (max-width:1080px){
  .sb-panel-v2{grid-template-columns:1fr 1fr}
  .sb-pcol-score{grid-column:1 / -1}
  .sb-panel-v2>.sb-pcol:nth-child(2){border-right:none;padding-right:0}
}
@media (max-width:880px){
  .sb-panel-v2{grid-template-columns:1fr}
  .sb-pcol-score{grid-column:auto}
  .sb-badges{max-width:100%}
  .sb-panel-v2>.sb-pcol:not(:last-child){border-right:none;padding-right:0;border-bottom:1px dashed var(--line);padding-bottom:12px}
}

/* 草表来源条（替代原 draft-top 中重复的分数/市县/身份输入） */
.draft-top-slim{align-items:center}
.draft-top-slim .draft-src{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted);line-height:1.5}
.draft-top-slim .draft-src svg{width:16px;height:16px;color:var(--pine);flex:none}
.draft-top-slim .draft-src b{color:var(--pine-dark)}


/* 数据看板 · 各市县头部高中投档线(范围匹配 + 校名) */
.ct-toplist{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.ct-toprow{display:grid;grid-template-columns:44px 1fr 52px;align-items:center;gap:10px;font-size:12.5px}
.ct-toprow .ct-city{font-weight:700;color:var(--pine-dark);white-space:nowrap}
.ct-toprow .ct-mid{display:flex;align-items:center;gap:8px;min-width:0}
.ct-toprow .ct-school{flex:none;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}
.ct-toprow .ct-bar{flex:1;height:9px;background:var(--panel-2);border-radius:6px;overflow:hidden;min-width:40px}
.ct-toprow .ct-bar i{display:block;height:100%;background:var(--cinnabar);border-radius:6px}
.ct-toprow .ct-line{text-align:right;font-family:var(--mono);font-weight:700;color:var(--cinnabar-dark)}


/* 账号权限门控:普通用户视图 */
.user-gate-note{margin:10px 0;padding:9px 13px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;
  font-size:12.5px;line-height:1.6;color:#9a3412}
.user-gate-note b{color:#c2410c}
body[data-role="user"] section[data-page="target"] .filterbar,
body[data-role="user"] section[data-page="target"] #tgJuniorList{display:none}

/* ============================================================
   位次法 × 分差法 三表 + 保底更多选项 + 招生类型适配标 + 数据看板滑档预警
   (本块由“位次法/滑档预警”改造新增;颜色变量沿用 main.css 的 :root)
   ============================================================ */
/* 三分类小药丸(注意:用 .k3pill 避免与报告大区块 .tier 冲突) */
.k3pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap;line-height:1.5}
.k3-bao{background:var(--pine-light);color:var(--pine-dark)}
.k3-wen{background:var(--pine-light);color:var(--pine-dark)}
.k3-chong{background:var(--cinnabar-soft);color:var(--cinnabar-dark)}
.k3-high{background:#f3e3e0;color:#a5503a}
.mono{font-family:var(--mono)}

/* 双口径三表容器 */
.dual-wrap{margin-top:18px}
.dm-intro{font-size:12.5px;color:var(--ink-soft);line-height:1.7;background:var(--panel-2,color-mix(in srgb, var(--pine) 6%, #fff));border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:14px}
.dm-intro b{color:var(--pine-dark)}
.dm-tbl{margin-bottom:16px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.dm-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:11px 14px;background:var(--panel-2,color-mix(in srgb, var(--pine) 6%, #fff));border-bottom:1px solid var(--line)}
.dm-h b{font-family:var(--serif);font-size:14.5px;color:var(--ink)}
.dm-h span{font-size:11.5px;color:var(--muted)}
table.dmt{width:100%;border-collapse:collapse;font-size:13px}
table.dmt thead th{background:#fff;color:var(--ink-soft);font-weight:700;font-size:11.5px;text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:bottom}
table.dmt thead th small{font-weight:400;color:var(--muted-2)}
table.dmt tbody td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
table.dmt tbody tr:last-child td{border-bottom:none}
table.dmt tbody tr:hover{background:color-mix(in srgb, var(--pine) 6%, #fff)}
table.dmt .nm{font-weight:700;color:var(--ink)}
table.dmt .nat{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}
table.dmt .line{font-family:var(--mono);font-weight:500}
table.dmt .trend{font-family:var(--mono);font-size:12.5px;white-space:nowrap}
table.dmt .gap-pos{color:var(--cinnabar-dark);font-family:var(--mono);font-weight:600}
table.dmt .gap-neg{color:var(--pine-dark);font-family:var(--mono);font-weight:600}
table.dmt .gap-zero{color:var(--muted);font-family:var(--mono)}
.dv-up{color:var(--cinnabar-dark);font-weight:700}
.dv-down{color:var(--pine-dark);font-weight:700}
.dv-flat{color:var(--muted-2)}
/* 位次法把握度进度条(用 .prob-bar 避免与 .plan-bar .pbar 冲突) */
.pcell{min-width:172px}
.prob-bar{height:9px;border-radius:6px;background:color-mix(in srgb, var(--pine) 6%, #fff);overflow:hidden;margin-bottom:5px}
.prob-bar>i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb, var(--pine) 38%, #fff),var(--pine-dark))}
.plabel{font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px}
.plabel .pct{font-family:var(--mono);font-weight:500;color:var(--muted)}

/* 保底·更多选项(可折叠) */
details.safe-more{margin-top:10px;border:1px dashed var(--line);border-radius:11px;background:var(--paper-warm,color-mix(in srgb, var(--pine) 6%, #fff));padding:0 14px}
details.safe-more>summary{cursor:pointer;list-style:none;padding:11px 2px;font-size:13px;font-weight:700;color:var(--pine-dark);display:flex;align-items:center;gap:7px}
details.safe-more>summary::-webkit-details-marker{display:none}
details.safe-more>summary::before{content:"▸";color:var(--muted);transition:transform .15s}
details.safe-more[open]>summary::before{transform:rotate(90deg)}
details.safe-more[open]{padding-bottom:12px}
details.safe-more table.schtable{margin-top:2px}

/* 招生类型“是否适合本考生”小标(仅普通用户视图,学校查询) */
.suit{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:20px;margin-left:7px;vertical-align:middle}
.suit-bao{background:var(--pine-light);color:var(--pine-dark)}
.suit-wen{background:var(--pine-light);color:var(--pine-dark)}
.suit-chong{background:var(--cinnabar-soft);color:var(--cinnabar-dark)}
.suit-high{background:#f3e3e0;color:#a5503a}
.suit-na{background:var(--line-soft);color:var(--muted-2)}

/* 数据看板 · 滑档预警卡 */
.slip-dash{border-left:4px solid var(--cinnabar)}
.slip-dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.slip-dash .slip-ic{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--cinnabar);color:#fff;font-weight:900;font-size:13px}
.slip-yr{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.slip-yr .sel{padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px;color:var(--ink)}
.slip-bars{margin-top:14px}
.slip-foot{margin-top:12px;font-size:12px;color:var(--ink-soft);background:rgba(255,255,255,.7);border:1px solid #f0d6cc;border-radius:10px;padding:10px 13px;line-height:1.7}
.slip-foot b{color:var(--cinnabar-dark)}
@media(max-width:760px){ table.dmt{font-size:12px} .dm-tbl .dtable-scroll{overflow-x:auto} }

/* 位次法概率引擎:预计位次行 + 扩缩招提示 */
.anchor-line{font-family:var(--sans);font-size:11px;color:var(--muted);margin-top:3px}
.anchor-line .mono{color:var(--pine-dark);font-weight:700}
.plan-note{font-size:10.5px;color:#9c7320;margin-top:2px}
.dmt .pcell .plabel .pct{color:var(--pine-dark)}

/* 草表:位次法把握度小标 + 综合滑档概率条 */
.slot-p{font-family:var(--mono);font-size:11px;color:var(--pine-dark);font-weight:600}
.pk-line .slot-p{margin-left:4px}
.cu-slip{margin:10px 0;padding:10px 13px;border-radius:11px;font-size:13px;line-height:1.55;border:1px solid var(--line)}
.cu-slip b{font-family:var(--mono);font-size:15px}
.cu-slip.good{background:var(--pine-light);color:var(--pine-dark);border-color:var(--pine-light)}
.cu-slip.warn{background:var(--gold-soft);color:#9c7320;border-color:#e8d3a8}
.cu-slip.bad{background:var(--cinnabar-soft);color:var(--cinnabar-dark);border-color:#f1cdbe}
.cu-slip-note{display:block;font-size:11px;font-weight:400;opacity:.85;margin-top:3px;font-family:var(--sans)}
/* 一键成表按钮 + 指标到校概率块 */
.gen-plan-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 14px}
.btn-genplan{cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:700;background:linear-gradient(90deg,var(--pine),var(--pine-dark));color:#fff}
.btn-genplan:hover{filter:brightness(1.06)}
.genplan-note{font-size:12px;color:var(--muted)}
.zb-prob{margin-top:14px;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.zb-prob .zp-h{padding:10px 14px;background:var(--panel-2,color-mix(in srgb, var(--pine) 6%, #fff));border-bottom:1px solid var(--line);font-family:var(--serif);font-weight:700;font-size:14px;color:var(--ink)}
.zb-prob table{width:100%;border-collapse:collapse;font-size:13px}
.zb-prob th{background:#fff;color:var(--ink-soft);font-size:11.5px;font-weight:700;text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}
.zb-prob td{padding:9px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.zb-prob tr:last-child td{border-bottom:none}
.zb-inschool{margin:10px 14px 14px;padding:11px 13px;border-radius:10px;background:var(--gold-soft);border:1px solid #e8d3a8;font-size:12.5px;color:#7a5a13;line-height:1.7}

/* 中低分:三条路 + 中职专业卡片 */
.three-paths .tp-intro{font-size:13px;color:var(--ink-soft);line-height:1.75;background:var(--gold-soft);border:1px solid #e8d3a8;border-radius:11px;padding:12px 15px;margin:4px 0 14px}
.tp-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:880px){.tp-cols{grid-template-columns:1fr}}
.tp-col{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;min-width:0}
.tp-h{padding:10px 13px;font-family:var(--serif);font-weight:700;font-size:13.5px;color:#fff}
.tp-h.pu{background:linear-gradient(90deg,var(--pine),var(--pine-dark))}
.tp-h.rise{background:linear-gradient(90deg,#2b7a9c,#1f5f7d)}
.tp-h.job{background:linear-gradient(90deg,var(--slate),#5a6b7a)}
.tp-col .schtable{border:none;border-radius:0}
.tp-col .schtable th{font-size:11px;padding:7px 10px}
.tp-col .schtable td{padding:7px 10px}
.tp-col .no-sch{padding:18px 14px;font-size:12.5px}
.zz-grid{display:flex;flex-direction:column;gap:0}
.zz-card{padding:10px 13px;border-bottom:1px solid var(--line-soft)}
.zz-card:last-child{border-bottom:none}
.zz-card.rise{background:#f3fafc}
.zz-maj{font-weight:700;font-size:13.5px;color:var(--ink)}
.zz-sch{font-size:11.5px;color:var(--muted);margin-top:1px}
.zz-meta{font-size:12px;color:var(--ink-soft);margin-top:4px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.zz-meta .mono{font-family:var(--mono)}
.zz-tag{margin-top:5px}
.zz-rise{display:inline-block;font-size:10.5px;font-weight:700;color:#1f5f7d;background:#d6eef5;border-radius:6px;padding:2px 7px}
.zz-job{display:inline-block;font-size:10.5px;font-weight:600;color:var(--slate);background:var(--panel-2,#eef1f4);border-radius:6px;padding:2px 7px}
.tp-note{font-size:11.5px;color:var(--muted);line-height:1.7;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}

/* ============================================================
   报告页布局优化（更简洁 + 报告区更大） · 仅作用于「智能规划报告」页
   设计目标：① 压缩页眉营销区，让「志愿偏好」上移；② 表单列收窄、报告页加宽，
   右侧报告获得更多横向空间；③ 生成报告后进入「专注模式」——隐藏页眉、报告接近全屏；
   ④ 修复窄列里「志愿偏好」标题折行。覆盖式写在 refine.css（后加载）→ 不动 main.css。
   ============================================================ */

/* 1) 报告页整体加宽 + 收紧顶部留白（不影响其它页面） */
.page[data-page="report"] .wrap{ max-width:1320px; padding-top:20px; }

/* 2) 表单列收窄、间距收紧 → 右侧报告区更宽 */
.page[data-page="report"] .grid{ grid-template-columns:336px minmax(0,1fr); gap:20px; }

/* 3) 压缩页眉 hero：标题更小、行距更紧；去掉与右侧「空态引导」重复的大段说明 */
.page[data-page="report"] .hero{ margin:2px 0 16px; }
.page[data-page="report"] .hero .kicker{ font-size:11px; letter-spacing:3px; }
.page[data-page="report"] .hero h1{ font-size:23px; line-height:1.3; margin:5px 0 0; }
.page[data-page="report"] .hero h1 .hl::after{ height:7px; bottom:3px; }
.page[data-page="report"] .hero p{ display:none; }   /* 说明与右侧空态引导重复，移除以让内容上移 */

/* 4) 修复「志愿偏好」标题在 336px 窄列里被提示文字挤折行：标题不换行，提示移到下一行 */
.page[data-page="report"] .form-aside .card .hd{ flex-wrap:wrap; row-gap:3px; padding:16px 22px 10px; }
.page[data-page="report"] .form-aside .card .hd h2{ white-space:nowrap; }
.page[data-page="report"] .form-aside .card .hd .hint{ flex-basis:100%; margin-left:34px; }

/* 5) 专注模式：一旦生成报告（report.js 给报告页加 .has-report）→ 隐藏页眉、报告接近全屏 */
.page[data-page="report"].has-report .hero{ display:none; }
.page[data-page="report"].has-report .wrap{ max-width:1440px; padding-top:14px; }

/* ★ 改为「上下布局」：志愿偏好在上、报考建议在下（全宽）。覆盖原左右两列。 */
.page[data-page="report"] .grid,
.page[data-page="report"].has-report .grid{ grid-template-columns:1fr; gap:18px; }
.page[data-page="report"] .form-aside,
.page[data-page="report"].has-report .form-aside{ position:static; top:auto; }
/* 顶部「志愿偏好」表单内字段横向铺开，避免全宽下过高 */
.page[data-page="report"] .form-aside .card .bd{ display:flex; flex-wrap:wrap; gap:14px 24px; align-items:flex-start; }
.page[data-page="report"] .form-aside .field{ flex:1 1 240px; margin-bottom:0; }
.page[data-page="report"] .form-aside .gen-row{ flex-basis:100%; display:flex; gap:12px; }

/* 窄屏（已是单列）时不强加宽，沿用 main.css 的单列断点 */
@media(max-width:960px){
  .page[data-page="report"] .grid,
  .page[data-page="report"].has-report .grid{ grid-template-columns:1fr; }
  .page[data-page="report"] .hero p{ display:block; }   /* 单列下恢复说明，避免空态偏空 */
}

/* ============================================================
   本次新增（非 .aichat）：考生信息成绩录入「越界报错」高亮 + 「考生初中」即输即匹配下拉。
   refine.css 在 main.css 之后加载，仅做补充，不改动既有规则。
   ============================================================ */
/* 越界报错高亮：顶部「中考总分」输入框 / 直填总分大输入框 / 各科目分（.subj input.over 已在 main.css） */
.sb-field input.over{border-color:var(--cinnabar)!important;color:var(--cinnabar-dark)!important;box-shadow:0 0 0 3px rgba(200,60,40,.12)!important}
.inp.big.over{border-color:var(--cinnabar)!important;color:var(--cinnabar-dark)!important;box-shadow:0 0 0 3px rgba(200,60,40,.12)}

/* 「考生初中」匹配下拉：绝对定位贴在输入框下方，样式对齐「学校对比」的 .pk-search-list */
.sb-field-school{position:relative}
.sb-sug{position:absolute;top:100%;left:10px;right:10px;z-index:60;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.sb-sug .sg-list{max-height:240px;overflow-y:auto}
.sb-sug .sg-row{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line-soft);font-family:var(--sans);font-size:12.5px}
.sb-sug .sg-row:last-child{border-bottom:none}
.sb-sug .sg-row:hover,.sb-sug .sg-row.active{background:var(--paper-warm)}
.sb-sug .sg-row .nm{flex:1;font-weight:600;color:var(--ink)}
.sb-sug .sg-row .sg-city{flex:0 0 auto;font-size:10.5px;font-weight:700;color:var(--pine-dark);background:#eef7f0;border:1px solid #cbe4d3;border-radius:6px;padding:1px 6px}
.sb-sug .sg-empty{padding:10px 12px;color:var(--muted-2);font-size:12px;line-height:1.5}
.sb-sug .sg-note{padding:8px 12px;background:var(--paper-warm,#fbf7ef);border-bottom:1px solid var(--line);color:var(--muted,#7d756a);font-size:11.5px;line-height:1.55}
.sb-sug .sg-note b{color:var(--ink)}

/* ============ 指标到校 · 瀑布式占位估算（按校内排名定位名额） ============ */
.zb-waterfall .zb-wf-hit{font-size:13.5px;color:#34306b;line-height:1.7;padding:9px 12px;border-radius:9px;background:#efeaff;border:1px solid #d7d2f0}
.zb-waterfall .zb-wf-hit.warn{background:#fdf1ee;border-color:#f0cfc4;color:#9a4427}
.zb-waterfall .zb-wf-hit .zb-land-name{color:#5a3fd6}
.zb-ladder{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.zb-ladder .zb-step{display:flex;flex-direction:column;gap:2px;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #e2ddf3;min-width:128px;line-height:1.35}
.zb-ladder .zb-step b{font-size:12px;color:#4a3f8a;font-family:var(--mono,monospace)}
.zb-ladder .zb-step i{font-style:normal;font-size:11px;color:#8a82a8}
.zb-ladder .zb-step.on{border-color:#6c5ce7;background:#efeaff;box-shadow:0 0 0 2px rgba(108,92,231,.18)}
.zb-ladder .zb-step.on b{color:#5a3fd6}
.zb-ladder .zb-step.dim{opacity:.55;border-style:dashed}
table.dtable tr.zb-landed td{background:#f3f0ff!important}
table.dtable tr.zb-landed td:first-child{box-shadow:inset 3px 0 0 #6c5ce7}
@media(max-width:760px){ .zb-ladder .zb-step{min-width:calc(50% - 4px)} }

/* ── 2026-06-12 · AI 填报策略 Markdown 排版升级(#aiReportBody) ── */
#aiReportBody h3,#aiReportBody h4{margin:18px 0 8px;padding-left:10px;border-left:3px solid var(--pine,#1d7d68);
  font-family:"Noto Serif SC",serif;color:var(--ink,#22332c);line-height:1.5}
#aiReportBody h3{font-size:16.5px}#aiReportBody h4{font-size:15px}
#aiReportBody p{margin:7px 0;line-height:1.85}
#aiReportBody ul,#aiReportBody ol{margin:6px 0 10px;padding-left:22px}
#aiReportBody li{margin:4px 0;line-height:1.8}
#aiReportBody strong{color:var(--pine-dark,#0d5c4c)}
#aiReportBody code{background:rgba(0,0,0,.05);border-radius:4px;padding:1px 5px;font-size:.92em}
#aiReportBody hr{border:none;border-top:1px dashed var(--line,#dfeae3);margin:14px 0}
#aiReportBody blockquote{margin:10px 0;padding:8px 14px;border-left:3px solid var(--gold,#c9962e);
  background:linear-gradient(90deg,rgba(201,150,46,.08),transparent 85%);border-radius:0 8px 8px 0;color:var(--ink,#22332c)}
#aiReportBody .md-table{width:100%;border-collapse:collapse;margin:10px 0 14px;font-size:13.5px}
#aiReportBody .md-table th{background:rgba(var(--pine-rgb,29,125,104),.08);color:var(--pine-dark,#0d5c4c);
  font-weight:700;text-align:left;padding:7px 10px;border-bottom:2px solid rgba(var(--pine-rgb,29,125,104),.25)}
#aiReportBody .md-table td{padding:7px 10px;border-bottom:1px solid var(--line,#e6eee9);vertical-align:top;line-height:1.7}
#aiReportBody .md-table tr:nth-child(even) td{background:rgba(0,0,0,.018)}
