:root{
  --gap:16px;
  --left-col:469px;

  /* 拆分上/下块高度（原 --panel-h:50vh）*/
  --panel-top-h:88vh;      /* ↑ 上块更高，容纳“曲线 + 锚点表 + TS” */
  --panel-bottom-h:12vh;   /* ↓ 下块更紧凑（含 textarea） */

  --pack-bg:#f6f9ff;
  --pack-bd:#dfe7fb;
  --micro-gap:3px;
}
html,body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
.wrap{max-width:1400px;margin:0 auto;padding:16px}

/* 顶部控制（本版不再使用，保留结构） */
.controls{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 6px 0;flex-wrap:wrap}
.controls-left{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.controls-right{display:flex;gap:8px;align-items:center}

/* 表单通用 */ 
input,select{padding:6px 8px;border:1px solid #ccc;border-radius:8px;background:#fff}
button{padding:6px 12px;border:1px solid #0b6bcb;border-radius:8px;background:#0b6bcb;color:#fff;cursor:pointer}
button.primary{background:#0b6bcb;color:#fff;border-color:#0b6bcb}
button.ghost-compact{padding:6px 6px;border-radius:1px}
button:disabled{opacity:.6;cursor:not-allowed}

/* 小 spinner */
.spinner{
  width:16px;height:16px;border:2px solid #d0d0d0;border-top-color:#0b6bcb;border-radius:50%;
  display:inline-block;animation:spin 0.9s linear infinite;vertical-align:middle
}
@keyframes spin{to{transform:rotate(360deg)}}

/* 两列布局：左列 + 右列容器（右列上下两块） */
.grid2{display:grid;grid-template-columns: var(--left-col) 1fr;gap:var(--gap);align-items:start;}
.card{border:1px solid #eee;border-radius:1px;background:#fff}
.card { box-sizing: border-box; }

/* 左列：高度对齐到“右侧上下两块总高度 + 间距” */
.panel-left{display:flex;flex-direction:column;height:calc(var(--panel-top-h) + var(--panel-bottom-h) + var(--gap));padding:12px}

/* 右列：容器，内部上下两卡片等高；整体高度与左侧对齐 */
.right-col{display:flex;flex-direction:column;gap:var(--gap);min-height:calc(var(--panel-top-h) + var(--panel-bottom-h) + var(--gap))}
.panel-right{display:flex;flex-direction:column;height:var(--panel-top-h);padding:12px}
.panel-analyst{display:flex;flex-direction:column;height:var(--panel-bottom-h);padding:12px;overflow:hidden}


.muted{color:#888;margin-bottom:0}

/* 左列标题四栏 */
.left-title{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;margin-bottom:6px}
.left-title .t1{font-weight:600}
.left-title .t4{text-align:right}

/* 设置区（TopX 选择） */
.left-settings{border:1px dashed #eee;border-radius:1px;padding:6px 3px;margin:6px 0 3px 0}
.left-settings .pref{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.left-settings .pref label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.left-settings .pref .sep{flex:0 0 8px}
.left-settings .topx{padding:4px 8px}
.left-settings .pref label{ font-size:12px; line-height:1.1; }
.left-settings .pref input[type="radio"]{ transform:scale(0.9); vertical-align:middle; margin-right:1px; }

/* 表格（固定列宽、取消底部横向滚动） */
.left-scroll{flex:1;overflow-y:auto;overflow-x:hidden} /* 仅垂直滚动，取消底部横向滚动条 */

table{border-collapse:collapse;width:100%;font-size:13px;table-layout:fixed}
th,td{border-bottom:1px solid #eee;padding:6px 3px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
th{background:#fafafa;position:sticky;top:0;z-index:1}

/* —— 列选择菜单 —— */
#select_ranks{ user-select:none; cursor:pointer; }
#selectRanksMenu{
  position:absolute; z-index:1000; min-width:180px;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:8px;
}
#selectRanksMenu .row{display:flex; align-items:center; gap:8px; margin:6px 0;}
#selectRanksMenu .row input{transform:scale(.95)}
#selectRanksMenu .foot{display:flex; justify-content:space-between; gap:8px; margin-top:8px}
#selectRanksMenu .muted{color:#6b7280; font-size:12px}
#select_ranks{ user-select:none; cursor:pointer; }
#selectRanksMenu{
  min-width: 180px; padding: 8px 10px; border:1px solid #e5e7eb; border-radius:10px;
  background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.08);
}
#selectRanksMenu .row{ display:flex; align-items:center; gap:8px; line-height:26px; }
#selectRanksMenu .foot{ display:flex; justify-content:space-between; align-items:center; margin-top:6px; }


/* 固定列宽（可手动调整：需要改宽度就在这里改） */
#liveTable th:nth-child(1),#liveTable td:nth-child(1){width:5px}
#liveTable th:nth-child(2),#liveTable td:nth-child(2){width:55px} /* 名称列 */
#liveTable th:nth-child(3),#liveTable td:nth-child(3){width:63px} /* LU-Rank */
#liveTable th:nth-child(4),#liveTable td:nth-child(4){width:63px} /* OU-Rank */
#liveTable th:nth-child(5),#liveTable td:nth-child(5){width:25px}  /* T-1R */
#liveTable th:nth-child(6),#liveTable td:nth-child(6){width:22px}  /* P-LU */
#liveTable th:nth-child(7),#liveTable td:nth-child(7){width:25px}  /* P-OU */

/* 只调左表列数值字号*/
#liveTable td.tnew-cell,#liveTable td.ou-cell {font-size: 11px; line-height: 1.2; }
#liveTable td.eod_rank {font-size: 11px; line-height: 1.2; }
#liveTable td.lu-score,#liveTable td.id-rank {font-size: 11px; line-height: 1.2; }

/* —— 通过给 #liveTable 添加类来隐藏整列（固定列序：3..7） —— */
#liveTable.col-hide--rank_lu  th:nth-child(3),
#liveTable.col-hide--rank_lu  td:nth-child(3){ display:none; }
#liveTable.col-hide--rank_ou  th:nth-child(4),
#liveTable.col-hide--rank_ou  td:nth-child(4){ display:none; }
#liveTable.col-hide--score_lu th:nth-child(5),
#liveTable.col-hide--score_lu td:nth-child(5){ display:none; }
#liveTable.col-hide--rank_eod th:nth-child(6),
#liveTable.col-hide--rank_eod td:nth-child(6){ display:none; }
#liveTable.col-hide--id_rank  th:nth-child(7),
#liveTable.col-hide--id_rank  td:nth-child(7){ display:none; }

/* 右列内容 */
/* ↓ 图表高度下调，给锚点表 + TS 让位 */
.chart-fixed{height:280px;} 

/* 曲线设置行：div1 / div2 / div3 */
.chart-controls{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:6px 0}

/* 旧 legend 保留样式（已不使用，但兼容保留） */
.legend-dd{position:relative}
.legend-dd summary{cursor:pointer;list-style:none;padding:6px 10px;border:1px solid #eee;border-radius:8px;background:#fafafa}
.legend-dd[open] summary{background:#eff4ff;border-color:#cfe0ff}
.legend-dd ul{position:absolute;z-index:10;margin:6px 0 0 0;padding:10px 12px;border:1px solid #eee;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.legend-dd li{display:flex;gap:8px;align-items:center;font-size:12px;padding:4px 0}

.dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.dot.blue{background:#1f78b4}
.dot.red{background:#e31a1c}

.playbar{display:flex;gap:10px;align-items:center;justify-content:flex-start;min-width:0}

/* Toggle 开关 */
.switch{position:relative;display:inline-flex;align-items:center}
.switch input{display:none}
.switch label{position:relative;display:inline-block;width:55px;height:26px;background:#e6e6e6;border-radius:999px;cursor:pointer}
.switch label::after{content:attr(data-off);position:absolute;left:6px;top:4px;font-size:12px;color:#0f0f0f}
.switch input:checked + label{background:#0b6bcb}
.switch input:checked + label::after{content:attr(data-on);left:26px;color:#fff}
.switch label::before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#999393;border-radius:50%;transition:transform .2s ease}
.switch input:checked + label::before{transform:translateX(30px)}

/* 右侧“交易日/刷新/确定”同色块 + 日期锁（div1 复用） */
.apply-pack{display:flex;gap:8px;align-items:center;background:var(--pack-bg);border:1px solid var(--pack-bd);padding:6px 8px;border-radius:10px}
.lock{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--pack-bd);border-radius:8px;background:#fff;cursor:pointer}
.lock .ico{width:18px;height:18px;fill:#0b6bcb;opacity:.9}
.lock .i-lock{display:none}
.lock.locked .i-lock{display:block}
.lock.locked .i-unlock{display:none}
.lock.unlocked .i-lock{display:none}
.lock.unlocked .i-unlock{display:block}

/* 重置检测器按钮（与日期锁视觉一致） */
.reset-detector{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  border:1px solid var(--pack-bd);border-radius:8px;
  background:#fff;color:#0b6bcb;font-size:16px;line-height:1;
  cursor:pointer;user-select:none;
}
.reset-detector:hover{ background:#f5f8ff }
.reset-detector:active{ transform:translateY(.5px) }
.reset-detector:disabled{ opacity:.6; cursor:not-allowed }

/* 数据表与信号表“均分”：占满剩余高度并滚动（统一最小高降到 120px） */
.detail-scroll{flex:1;overflow:auto;min-height:120px}

/* LU/OU 紧贴式排名展示 */
.tnew-cur,.ou-cur{font-weight:600;color:#111;display:inline-block;min-width:1.2em}
.tnew-diff,.ou-diff{font-weight:600;margin-left:0} /* 去掉间距，配合无空格拼接 */

/* 颜色语义 */
.diff-pos{color:#e31a1c}  /* 变好：排名变小 → 正值 */
.diff-neg{color:#1f78b4}  /* 变差：排名变大 → 负值 */
.diff-zero{color:#999}

.rank-better{color:#e31a1c}
.rank-worse{color:#1f78b4}
.hl{background:#fff5e6 !important}
tr.clickable{cursor:pointer} tr.clickable:hover{background:#f7faff}

/* ============ 分析师区紧凑布局 ============ */
.panel-analyst .ana-a{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
.panel-analyst .pill{
  border:1px dashed #e3e7f3;background:#f9fbff;border-radius:10px;
  padding:6px 8px;font-size:12px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.panel-analyst .ana-b{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:8px}
.panel-analyst .slot{
  min-height:auto; /* 与 pill 对齐为内容自适应 */
  display:flex;align-items:center;justify-content:center;
  border:1px dashed #e6eaf5;background:#fbfcff;border-radius:10px;font-size:12px;padding:6px 8px
}
.panel-analyst .btn-wrap{padding:0;border:none;background:transparent}
.panel-analyst .btn-wrap .primary{width:100%;padding:6px 8px} /* 按钮高度与 pill 对齐 */


/* 分析师区：选择区固定，textarea 由容器滚动 */
.panel-analyst .ana-c{
  flex:1 1 auto;
  min-height:0;        /* 关键：允许在固定面板内收缩，避免把容器撑破 */
  overflow:auto;       /* 滚动条在容器上，而不是 textarea 上 */
  display:block;
  padding:0;
}
.panel-analyst .ana-c textarea{
  display:block;
  width:100%;
  border:1px solid #e6eaf5;
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  line-height:1.5;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  resize:none;             /* 不允许用户拉伸 */
  overflow:hidden;         /* 隐藏 textarea 自身滚动条 */
  height:auto;             /* 高度由 JS 自适应 */
  min-height:calc(1.5em * 2 + 20px);
}


/* 统一表标题（在滚动容器内吸顶） */
.tbl-head{
  position: sticky; top: 0; z-index: 2;
  background:#f9fbff; border:1px solid #e5e7eb; border-radius:8px 8px 0 0;
  padding:6px 8px; font-weight:600;
  text-align:right;                   /* 居中 */
  font-size: var(--tbl-head-size, 15px); /* 用变量控制字号 */
}


/* 让表紧跟标题，无需额外上边距 */
.detail-scroll table{ margin-top: 0; }

/* ====== 数据表和信号表 ====== */
:root{
  /* 数据表与信号表自定义高度：随时改这里即可（px / vh 都行） */
  --itd-h: 148px;   /* 动态量化数：数据表高度 */
  --ts-h:  148px;   /* 技术信号变化： 信号表高度 */
  --tbl-head-size: 10px; /* 两个表标题字号 */
}

/* 数据表与信号表覆盖“均分”，改为各自固定高度 + 内部滚动 */
/* 第一张 .detail-scroll（锚点数据表） */
.panel-right > .detail-scroll{
  flex: 0 0 var(--itd-h);
  height: var(--itd-h);
}

/* 紧跟其后的第二张 .detail-scroll（技术信号变化） */
.panel-right > .detail-scroll + .detail-scroll{
  flex: 0 0 var(--ts-h);
  height: var(--ts-h);
}

/* —— 微小间距（统一变量） —— */
/* 1) split 自己在底部留一个微小间距 */
.panel-right > .detail-split{
  margin-bottom: var(--micro-gap);
}
/* 2) fd5 自己在底部留一个微小间距，刚好就是 fd5→ts 的那条缝 */
.panel-right > .detail-scroll.fd5{
  margin-bottom: var(--micro-gap);
}
/* 3) 避免 ts 再加额外缝隙（保持可读性，明确设 0） */
.panel-right > .detail-scroll.ts{
  margin-top: 0;
}

/* === FD5 与“技术信号变化”同高度（滚动） === */
.panel-right > .detail-scroll.fd5,
.panel-right > .detail-scroll.ts{
  flex: 0 0 var(--ts-h);
  height: var(--ts-h);
}

/*右侧表*/
/* 微小间距：只给“后一个块”加 margin-top，避免重复叠加 */
.panel-right > .detail-split + .detail-scroll.fd5,
.panel-right > .detail-split + .detail-scroll.ts,
.panel-right > .detail-scroll.fd5 + .detail-scroll.ts{
  margin-top: var(--micro-gap);
}

/* 2) 容器与表格圆角统一为 1px，整体视觉贴合左表 */
.panel-right > .detail-scroll{
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 1px;   /* 要求：radium=1 */
  overflow: auto;     /* 让圆角有效裁切内部内容 */
}

/* 表本身也设 1px 圆角（table 受 collapse 影响，主要依赖外层容器裁切） */
#itdMix, #eodPrompt{
  border-radius: 1px;   /* 要求：radium=1（备份设置） */
}

/* 右侧两个表头条目与左表风格对齐：浅灰底 + 仅下边线（避免与外层边框重复） */
.panel-right .detail-scroll .tbl-head{
  background: #fafafa;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 1px 1px 0 0; /* 贴合容器的 1px 圆角 */
}

/* 行悬浮与左表一致 */
#itdMix tbody tr:hover,
#eodPrompt tbody tr:hover{
  background: #f7faff;
}

/* 数值列右对齐并使用等宽数字，和左表的数值表现一致 */
#itdMix td:nth-child(2),
#itdMix td:nth-child(3),
#itdMix td:nth-child(4),
#itdMix td:nth-child(5),
#itdMix td:nth-child(6){
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#eodPrompt td:nth-child(2),  /* EOD排 */
#eodPrompt td:nth-child(3),  /* 评分 */
#eodPrompt td:nth-child(4){  /* 辨识度 */
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* 表头背景与左表保持一致（已在全局 th 中定义，这里再显式一遍以防覆盖） */
#itdMix thead th,
#eodPrompt thead th{
  background: #fafafa;
  text-align: center; /* 先设为居中，后面对 #eodPrompt 5-11 列再定向改为居左 */
}

/* 数值列居中并使用等宽数字 */
#itdMix td:nth-child(2),
#itdMix td:nth-child(3),
#itdMix td:nth-child(4),
#itdMix td:nth-child(5),
#itdMix td:nth-child(6){
  text-align: center;
  font-variant-numeric: tabular-nums;
}

#eodPrompt td:nth-child(2),  /* EOD排 */
#eodPrompt td:nth-child(3),  /* 评分 */
#eodPrompt td:nth-child(4){  /* 辨识度 */
  text-align: center;
  font-variant-numeric: tabular-nums;
}

/* 第一列通常是“锚点/日期”，保持左对齐（eodPrompt） */
#itdMix td:first-child,
#eodPrompt td:first-child{
  text-align: left;
}

#eodPrompt td.num{
  text-align: center;
  font-variant-numeric: tabular-nums;
}

/* === 新增：T日（#itdMix）表数据整体居中 === */
#itdMix td{
  text-align: center;
  font-variant-numeric: tabular-nums;
}
/* 覆盖前面“#itdMix td:first-child { text-align:left; }”以满足整体居中 */
#itdMix td:first-child{
  text-align: center;
}

/* =========================
   技术信号变化（#eodPrompt）列对齐规则
   1~4 列为数字：居中 + 等宽数字
   5~11 列为文字：居左
   同时作用于表头与数据单元格
   ========================= */
#eodPrompt thead th:nth-child(-n+4),
#eodPrompt td:nth-child(-n+4){
  text-align: center !important;
  font-variant-numeric: tabular-nums;
}
#eodPrompt thead th:nth-child(n+5),
#eodPrompt td:nth-child(n+5){
  text-align: left !important;
}
/* 覆盖先前把第1列设为左对齐的规则，使“日期”也居中 */
#eodPrompt td:first-child{
  text-align: center !important;
  font-variant-numeric: tabular-nums;
}


/* 表与标题之间不用额外外边距（你已有这条，保留强化） */
.detail-scroll table{ margin-top: 0; }

/* 回测表格数字列对齐与等宽数字 */
#fd5Table td:nth-child(3),
#fd5Table td:nth-child(4),
#fd5Table td:nth-child(5),
#fd5Table td:nth-child(6),
#fd5Table td:nth-child(7),
#fd5Table td:nth-child(8),
#fd5Table td:nth-child(9){
  text-align: center;
  font-variant-numeric: tabular-nums;
}
#fd5Table td:nth-child(1),
#fd5Table td:nth-child(2){
  text-align: center;
}

/* 让 FD5 所有单元格与 T日动态量化数据保持一致：数值居中 */
#fd5Table td, #fd5Table th {
  text-align: center;
}

/* 回测表格上/下箭头颜色（红↑ / 蓝↓） */
.arr-up{ color:#e31a1c; font-weight:600; margin-left:4px }
.arr-down{ color:#1f78b4; font-weight:600; margin-left:4px }

/*分析区*/
/* 紧凑型一行 8 列 */
.panel-analyst .ana-compact{
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:5px;
  margin-bottom:6px;
}

/* 让下拉与按钮视觉统一、紧凑 */
.panel-analyst .ana-compact select,
.panel-analyst .ana-compact button{
  width:100%;
  padding:6px 8px;
  border:1px solid #e6eaf5;
  border-radius:10px;
  background:#fbfcff;
  font-size:12px;
}

/* “生成提示词”继续使用 .primary 的主按钮色，以上通用外观不覆盖它 */
.panel-analyst .ana-compact .primary{
  background:#0b6bcb;
  color:#fff;
  border-color:#0b6bcb;
}

/* “选择文件”按钮风格尽量贴近选择框 */
.panel-analyst .ana-compact .file-btn{
  background:#fbfcff;
  color:#111;
}
.panel-analyst .ana-compact .file-btn:hover{ background:#f5f8ff }

/* 紧凑化：右侧三表标题条（.tbl-head） */
.panel-right > .detail-scroll .tbl-head{
  margin: 0;          /* 明确无外边距 */
  padding: 2px 3px;   /* 原 6px 8px → 更紧凑 */
  line-height: 1.1;   /* 再压缩一点高度 */
}

/* 整页半透明遮罩 */
.page-overlay{
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(1.5px);
  display: none; align-items: center; justify-content: center;
  pointer-events: all;
}
.page-overlay .loading-box{
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border:1px solid #e5e7eb; border-radius:10px;
  background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.08);
  font-size:13px; color:#0b1726;
}
.page-overlay .loading-text{ opacity:.9 }

/* ======= 顶部标题工具区 ======= */
.title-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin:0 0 8px 0;
}
.page-title{ margin:0; line-height:1.2; } /* 与工具区等高对齐 */

.title-tools{
  display:flex; align-items:center; gap:10px;
  margin-left:auto; /* 右对齐 */
}

/* 小圆角按钮：与页面风格一致 */
.tool-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px;
  border:1px solid #e5e7eb; background:#fff; border-radius:10px;
  color:#334155; cursor:pointer;
}
.tool-btn:hover{ background:#f9fbff; }

/* 迷你温度条：与按钮等高 */
.thermo-mini{
  display:flex; align-items:center; gap:8px;
  height:34px; padding:6px 10px;
  border:1px solid #e5e7eb; background:#fff; border-radius:10px;
}
.thermo-label{ font-size:12px; color:#475569; white-space:nowrap }
.thermo-bar{
  position:relative; width:180px; height:8px; border-radius:999px;
  background:#edf2f7; overflow:hidden;
}
.thermo-fill{
  position:absolute; inset:0 auto 0 0; width:0%;
  background: linear-gradient(90deg,#60a5fa,#22c55e,#f59e0b,#ef4444);
}
.thermo-val{ font-size:12px; color:#111827; width:38px; text-align:right }

/* ========== 板块行情并排布局（itdMix | fundData） ========== */
/* 外层仅做分栏，不滚动 */
.detail-split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:8px;
  min-height:120px;
}

/* 子面板：列内布局，不限制内容 */
.detail-split .mini-panel{
  display:flex;
  flex-direction:column;
  min-width:0;
}

/* 每张子表各自滚动 + 边框 */
.detail-split .detail-scroll{
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 1px;
  overflow: auto;
  height: var(--itd-h);    /* 与 itdMix 高度一致 */
}

/* 子表标题在各自滚动容器内吸顶 */
.detail-split .detail-scroll .tbl-head{
  position: sticky;
  top: 0;
  z-index: 2;
  background:#fafafa;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 1px 1px 0 0;
}

/* fundData 表格微调（保留原有宽度/对齐） */
#fundData th, #fundData td{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#fundData td:nth-child(2),
#fundData td:nth-child(4),
#fundData td:nth-child(6){
  text-align:center;
  font-variant-numeric: tabular-nums;
}

/* --- 修复：itdMix & fundData 容器自身滚动，而不是向下撑高 --- */
.detail-split .mini-panel{ min-height: 0; } /* 允许子项按固定高裁切 */
.detail-split .detail-scroll{
  /* 覆盖通用 .detail-scroll{flex:1}，否则会被内容撑大而不滚动 */
  flex: 0 0 var(--itd-h);
  max-height: var(--itd-h);
  overflow-y: auto;
  overflow-x: hidden;
}

/* --- fundData：表头居中、数据左对齐（覆盖之前的居中列规则） --- */
#fundData thead th{ text-align: left !important; }
#fundData tbody td{ text-align: left !important; }

/* === fundData 列宽：第1列 12%，其余各列 22% === */
#fundData{ table-layout: fixed; }

/* 覆盖任何先前的 20% 规则 */
#fundData thead th:nth-child(1),
#fundData tbody td:nth-child(1){ width:12% !important; }

#fundData thead th:nth-child(n+2),
#fundData tbody td:nth-child(n+2){ width:22% !important; }

/* 表头居中、数据左对齐（保持之前对齐要求） */
#fundData thead th{ text-align:left !important; }
#fundData tbody td{ text-align:left !important; }

/* 窄屏下堆叠为单列 ******************************/
@media (max-width: 1024px){
  .detail-split{ grid-template-columns: 1fr; }
}

/* 响应式：窄屏堆叠并自动高度 */
@media (max-width: 1024px){
  .grid2{grid-template-columns: 1fr}
  .panel-left{height:auto}
  .panel-right,.panel-analyst{height:auto}
  .left-scroll,.detail-scroll{max-height:none}
  .chart-controls{grid-template-columns:1fr}
}

