/* 预实对比（机构经营 × 机构预算） */
.pre-note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 16px 0 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fafbfd;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}
.pre-note > span { display: block; text-align: left; }
.pre-legend { display: inline-flex; align-items: center; gap: 6px; color: #5b6779; }
.pre-legend i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.pre-legend i.is-over { background: #e0663d; }
.pre-legend i.is-under { background: var(--green); }

.pre-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pre-table { width: 100%; min-width: 100%; border-collapse: separate; border-spacing: 0; }
.pre-table thead th {
  white-space: nowrap;
  text-align: center;
  font-weight: 600;
  color: #4a5769;
  background: #f6f8fb;
  border-bottom: 1px solid var(--line);
  padding: 10px 8px;
  font-size: 12px;
}
.pre-table tbody td {
  border-bottom: 1px solid #f0f3f8;
  vertical-align: middle;
  text-align: center;
  white-space: nowrap;
  padding: 8px 10px;
  font-variant-numeric: tabular-nums;
  color: #2b3852;
}
.pre-table .serial-cell { text-align: center; color: var(--muted); font-size: 12px; }
.pre-table .org-cell {
  text-align: center;
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
  padding: 10px 12px;
}

/* 月份列：预算 / 实际 / 差额 分组标签（不加底色） */
.pre-group-cell {
  text-align: center;
  font-weight: 600;
  font-size: 13px;
  color: #33415c;
  min-width: 64px;
}
/* 项目列：消费 / 来诊 / 成本 */
.pre-project {
  text-align: center;
  color: #6b7789;
  font-size: 12px;
  min-width: 56px;
}
/* 类别列与项目列之间加一条竖向框线 */
.pre-table thead th.pre-project-header,
.pre-table tbody td.pre-project { border-left: 1px solid #d9e1f1; }

/* 差额着色 */
.pre-table tbody td.is-over { color: #d9552f; font-weight: 600; }
.pre-table tbody td.is-under { color: #0f9a70; font-weight: 600; }

/* 合计块：仅加粗 + 一条顶线，不做色块 */
.pre-table tbody tr.pre-total-row > td { font-weight: 600; color: #1f2b41; }
.pre-table tbody tr.pre-total-start > td { border-top: 1px solid #dfe6f1; }
.pre-table tbody tr.pre-total-row > td.is-over { color: #d9552f; }
.pre-table tbody tr.pre-total-row > td.is-under { color: #0f9a70; }

/* 与其它模块对齐：每个类别组（预算/实际/差额）末尾一条 2px 分隔线，贯通整行；
   行数随「类别/项目」筛选联动（组末行加 pre-group-end 类）；
   跨行单元格（序号/机构/类别）底边同样落在组边界上，保持线条连续。 */
/* 抵消全局 framework.css 的 3n 条纹（否则「成本」行被误着色）——须置于 pre-group-end 规则之前 */
.pre-table tbody tr:nth-child(3n) { background: #fff; }
.pre-table tbody tr:nth-child(3n) > td { border-bottom: 1px solid #f0f3f8; background: #fff; }
.pre-table tbody tr.pre-group-end > td { border-bottom: 2px solid #d9e1f1; background: #fff; }
.pre-table tbody td.pre-group-cell,
.pre-table tbody td.serial-cell,
.pre-table tbody td.org-cell { border-bottom: 2px solid #d9e1f1; }

/* 数据诊断按钮条与面板 */
.pre-diagnosis-bar { margin: 12px 0 0; }
.pre-diagnosis-bar .secondary { padding: 7px 18px; }
.pre-diagnosis {
  margin: 12px 0 0;
  padding: 14px 16px;
  border-radius: 10px;
  background: #fafbfd;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pre-diagnosis-title { font-size: 13px; font-weight: 600; color: #33415c; text-align: center; }
.pre-diagnosis-item { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 8px; background: #fff; }
.pre-diagnosis-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.pre-diagnosis-org { font-weight: 600; color: var(--ink); font-size: 14px; }
.pre-tag { font-size: 12px; font-weight: 600; padding: 1px 8px; border-radius: 99px; background: #eef1f6; color: #5b6779; }
.pre-tag.is-over { background: #fdeeE8; color: #d9552f; }
.pre-tag.is-under { background: #e7f6f0; color: #0f9a70; }
.pre-diagnosis-total { color: var(--muted); font-size: 12px; }
.pre-diagnosis-body { color: #4a5769; font-size: 13px; line-height: 1.7; text-align: left; }

@media (max-width: 720px) {
  .pre-note { font-size: 12px; gap: 4px 14px; padding: 10px 12px; }
  .pre-table thead th { padding: 10px 8px; font-size: 13px; }
  .pre-table .serial-cell { font-size: 13px; }
  .pre-table .org-cell { padding: 10px 12px; font-size: 15px; }
  .pre-table tbody td { padding: 9px 10px; font-size: 14px; }
  .pre-group-cell { min-width: 60px; font-size: 15px; }
  .pre-project { min-width: 52px; font-size: 13px; }
  .pre-diagnosis { padding: 12px; }
  .pre-diagnosis-org { font-size: 15px; }
  .pre-diagnosis-body { font-size: 14px; }
  .pre-diagnosis-total { font-size: 13px; }
}
