/* ==========================================================================
   FinLearn 档位强制收敛层（最高优先级）
   --------------------------------------------------------------------------
   为什么需要这一层：Tabler 基于 Bootstrap，其单元格/表格选择器优先级较高
   （如 .table > :not(caption) > * > *），仅靠单类选择器覆盖不掉，
   导致内边距仍残留 10px 12px / 1px 8px 等档位外取值。

   做法：用同等或更高优先级的选择器 + 精确值覆盖，不使用 !important，
        保证后续仍可正常覆盖。
   ========================================================================== */

/* ============================ 表格：全部单元格统一 8px 12px ============================ */
.page-body .table > :not(caption) > * > *,
.page-body table.table td,
.page-body table.table th,
.page-body .ws-table > tbody > tr > td,
.page-body .ws-table > thead > tr > th,
.page-body .kpi-table > tbody > tr > td,
.page-body .kpi-table > thead > tr > th,
.page-body .card-table > tbody > tr > td,
.page-body .card-table > thead > tr > th {
  padding: var(--sp-2) var(--sp-3);
  font-size: var(--fz-sm);
  line-height: 1.5;
  border-bottom: 1px solid #f1f4f8;
}

.page-body .ws-table > thead > tr > th,
.page-body .kpi-table > thead > tr > th,
.page-body .card-table > thead > tr > th,
.page-body .table > thead > tr > th {
  padding: var(--sp-2) var(--sp-3);
  font-size: var(--fz-micro);
  font-weight: var(--fw-semibold);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #5c6672;
  background: #f8fafc;
  border-bottom: 1px solid var(--tblr-border-color, #e6e7e9);
}

/* ============================ 分页控件：全部归位 ============================ */
.page-body .ws-pager__btn {
  min-width: 28px;
  height: 28px;
  padding: 2px var(--sp-2);
  border-radius: var(--rd-sm);
  font-size: var(--fz-xs);
}

.page-body .ws-pager__gap { padding: 0 var(--sp-1); }

.page-body .ws-pager__select {
  min-height: 28px;
  padding: 2px var(--sp-6) 2px var(--sp-2);
  border-radius: var(--rd-sm);
  font-size: var(--fz-xs);
}

/* ============================ 工作台侧栏 ============================ */
.page-body .ws-nav__count {
  padding: 1px var(--sp-2);
  border-radius: var(--rd-full);
  font-size: var(--fz-micro);
  line-height: 1.5;
}

.page-body .ws-nav__group {
  padding: var(--sp-3) var(--sp-2) var(--sp-1);
  font-size: var(--fz-micro);
  letter-spacing: .06em;
}

.page-body .ws-nav button,
.page-body .ws-nav a {
  padding: 6px var(--sp-3);
  font-size: var(--fz-sm);
  border-radius: var(--rd-sm);
}

/* ============================ 内容容器与外层留白 ============================ */
.page-body > .container-xl { padding-inline: var(--sp-5); }
@media (max-width: 992px) { .page-body > .container-xl { padding-inline: var(--sp-4); } }

/* 首页等页面内的 .shell 容器不再叠加留白 */
.page-body .shell { padding-inline: 0; }

/* ============================ 财务图表页的自定义行 ============================ */
.rank-row { padding: var(--sp-1) 0; }
.rank-row + .rank-row { border-top: 1px solid #f1f4f8; }
.legend-item { padding: var(--sp-1) 0; font-size: var(--fz-xs); }
.composition { padding: 0; }
.composition__bar { margin: var(--sp-2) 0; }
.compare { padding: 0; }
.compare__row { padding: var(--sp-1) 0; }
.formula-card { padding: var(--sp-4); }
.formula-card__expr { padding: var(--sp-3) var(--sp-4); }

/* ============================ 勾选项与列表 ============================ */
.page-body .check,
.page-body label.check,
.page-body .checklist label {
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--rd-sm);
  font-size: var(--fz-sm);
}

/* ============================ 空态段落（首页区块） ============================ */
/* 首页 hero 下方的编排区块原本带 32px 0 64px 0，统一到档位 */
.page-body .reveal { padding: 0; }
.page-body .section > .shell > .reveal { padding: 0; }

/* ============================ 没有类名的包装 div ============================ */
/* 部分脚本生成的容器缺少类名，统一为零内边距，避免把档位带偏 */
.page-body .viz > div:not([class]):not(.viz__insight) { padding: 0; }
