/* 校园直通车 · 商户同期对比页专用样式（叠加在 style.css + campus.css 之上） */

/* ---------- 控制台 ---------- */
.ctl {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 15px 18px 13px; margin-bottom: 18px; display: flex; flex-wrap: wrap;
  gap: 12px 26px; align-items: center;
}
.ctl .cgroup { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.ctl .clab { font-size: 12.5px; color: var(--ink-3); font-weight: 600; white-space: nowrap; }
.btns { display: flex; gap: 6px; flex-wrap: wrap; }
.btns button, .btn-p {
  border: 1px solid #dbe4ee; background: #f6f9fc; color: #48607a; border-radius: 7px;
  padding: 5px 12px; font-size: 12.8px; cursor: pointer; font-family: inherit; line-height: 1.5;
}
.btns button:hover, .btn-p:hover { background: #fff; border-color: #b9cde2; }
.btns button.on, .btn-p.on { background: #2e6da4; border-color: #2e6da4; color: #fff; font-weight: 700; }
.ctl select, .ctl input[type=date] {
  padding: 5px 9px; border: 1px solid #dbe4ee; border-radius: 7px; font-size: 12.8px;
  color: #48607a; background: #f6f9fc; font-family: inherit;
}
.ctl .chk { font-size: 12.8px; color: #48607a; display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.ctl .pre-note {
  flex-basis: 100%; margin: 0; font-size: 12.3px; color: var(--ink-3);
  padding-top: 10px; border-top: 1px dashed var(--line); line-height: 1.7;
}

/* ---------- 一句话结论里的口径标签 ---------- */
.verdict .lead .lv {
  display: inline-block; background: #eaf1f9; color: #1f4e79; border-radius: 5px;
  padding: 1px 8px; font-weight: 700; font-size: 13px;
}

/* ---------- 分组表头的表（同期对比） ---------- */
.cmp-scroll { max-height: 640px; overflow: auto; }
.ctable { font-size: 12.4px; min-width: 1080px; }
.ctable th { padding: 7px 9px; vertical-align: bottom; }
.ctable thead th { background: #f7f9fc; }
.ctable thead tr:first-child th.grp { text-align: center; font-size: 12.2px; letter-spacing: .3px; }
.ctable thead th.grp.g1 { color: #1f4e79; }
.ctable thead th.grp.g2 { color: #1f7a52; }
.ctable thead th.grp.g3 { color: #a2601a; }
.ctable thead tr:nth-child(2) th { font-weight: 500; color: var(--ink-3); font-size: 11.8px; }
.ctable .thsub { font-size: 10.5px; color: var(--ink-3); font-weight: 400; }
.ctable td.name { font-weight: 600; }
.ctable tbody tr:hover td { background: #fafcff; }
.ctable td.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------- 同比涨跌 ---------- */
.yy { font-weight: 700; font-variant-numeric: tabular-nums; }
.yy.up { color: #1f7a52; }
.yy.down { color: #c0392b; }
.yy.flat { color: #8a9bb0; }

@media (max-width: 1280px) {
  .ctl { gap: 10px 16px; }
}

/* 榜表（涨/跌）用 mini：不加 min-width，避免撑破卡片宽度 */
.ctable.mini { min-width: 0; }
.ctable.mini th, .ctable.mini td { padding: 7px 10px; }
/* 量条 + 数字整体右对齐，看起来和数字列一致 */
table.data .barwrap { display: inline-flex; }

/* 表格再紧凑一点：12 列要在 1500px 里放得下 */
table.data.ctable th, table.data.ctable td { padding: 7px 8px; }
table.data .barwrap { gap: 7px; }
table.data .barwrap span { min-width: 44px; }

/* ---------- 表头 / 合计行 滚动时固定 ---------- */
.cmp-scroll table.data thead th { position: sticky; top: 0; z-index: 4; background: #f2f5fa; box-shadow: inset 0 -1px 0 #dde5ef; }
.cmp-scroll .ctable thead tr:first-child th { height: 32px; box-sizing: border-box; }
.cmp-scroll .ctable thead tr:nth-child(2) th { top: 32px; }
.cmp-scroll table.data tr.tot td { position: sticky; bottom: 0; z-index: 4; background: #eef2f8; box-shadow: inset 0 1px 0 #d8e1ec; }
.cmp-scroll table.data tr.tot:hover td { background: #eef2f8; }
.ctable td .code { color: var(--ink-3); font-weight: 400; font-size: 11.2px; }
