/* ============================================================
   Daily Report 工具专属样式(公共外观在 shared/base.css)
   颜色一律引用 tokens.css 变量 —— 契约禁止硬编码色值。
   ============================================================ */

/* ---------- 拖拽区下方的操作行 ---------- */
.under-drop {
  display: flex; align-items: center; gap: var(--s3);
  margin-top: var(--s3);
  flex-wrap: wrap;
}

/* ---------- 来源卡片 ---------- */
#sources { display: flex; flex-direction: column; gap: var(--s3); }

.source-card .sc-head {
  display: flex; align-items: center; gap: var(--s3);
  margin-bottom: var(--s3);
  flex-wrap: wrap;
}
.source-card .sc-label { max-width: 180px; font-weight: 650; }
.source-card .sc-label-fixed { font-weight: 650; }
.source-card .sc-remove { margin-left: auto; padding: var(--s1) var(--s2); }
.source-card .sc-status { margin-top: var(--s2); display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }

/* ---------- 控制区 ---------- */
.controls-row {
  display: flex; align-items: flex-end; gap: var(--s4);
  flex-wrap: wrap;
}
.controls-row .field { min-width: 160px; }
#threshold { max-width: 120px; }

/* ---------- 报告预览 ---------- */
.rp-head { margin-bottom: var(--s4); }

.ov-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--s3);
  margin: var(--s4) 0;
}
.ov-card { display: flex; flex-direction: column; gap: var(--s1); }
.ov-label { font-size: var(--fs-sm); font-weight: 600; color: var(--text-muted); }
.ov-value { font-size: var(--fs-xl); font-weight: 700; font-family: var(--font-mono); }
.ov-deltas { display: flex; gap: var(--s3); font-size: var(--fs-xs); flex-wrap: wrap; }
.ov-spark { width: 100%; height: 28px; margin-top: var(--s1); }
.ov-note { font-size: var(--fs-xs); }

/* delta 颜色:方向性由 render.js 按指标类型判定,这里只管展示 */
.delta { font-weight: 700; white-space: nowrap; }
.delta-good    { color: var(--ok); }
.delta-bad     { color: var(--error); }
.delta-neutral { color: var(--text-muted); }
.delta-na      { color: var(--text-faint); font-weight: 400; }

/* 一句话摘要:老板只看这一句,视觉上要立得住 */
.rp-summary {
  border-left: 3px solid var(--info);
  background: var(--info-bg);
  color: var(--text);
  padding: var(--s3) var(--s4);
  border-radius: var(--radius);
  margin: var(--s4) 0;
  font-size: var(--fs-base);
}

/* 异常列表 */
.anom-list { display: flex; flex-direction: column; gap: var(--s2); }
.anom-row { display: flex; align-items: baseline; gap: var(--s2); flex-wrap: wrap; }

.rp-foot { margin-top: var(--s5); font-size: var(--fs-xs); }

/* 导出栏 */
.export-bar { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
