/* ============================================================
   report.css — 月度行业报告页面样式
   对应模板：single-research.php
   设计参考：design-reference/monthly-report-template.html
   ============================================================ */

/* ── 面包屑 ──────────────────────────────────────────────── */
.report-breadcrumb {
  max-width: 210mm;
  margin: 0 auto 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 0 4px;
}
.report-breadcrumb a { color: var(--ink-mute); text-decoration: none; }
.report-breadcrumb a:hover { color: var(--accent); }
.report-breadcrumb span:last-child { color: var(--ink-soft); }

/* ── A4 纸张容器 ─────────────────────────────────────────── */
.report-wrap {
  background: var(--bg-alt);
  padding: 32px 16px;
  min-height: 100vh;
}

.report-toolbar {
  position: fixed;
  top: 20px;
  right: 20px;
  display: flex;
  gap: 8px;
  z-index: 1000;
}
.report-toolbar__btn {
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 10px 16px;
  background: var(--ink);
  color: var(--bg);
  border: none;
  cursor: pointer;
  letter-spacing: 0.05em;
  text-decoration: none;
  display: inline-block;
}
.report-toolbar__btn:hover { background: var(--accent); color: var(--bg); }

.report-page {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto 20px;
  background: var(--bg);
  padding: 24mm 22mm;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
  position: relative;
}

/* ── 页眉页脚 ─────────────────────────────────────────────── */
.report-running-head,
.report-running-foot {
  position: absolute;
  left: 22mm;
  right: 22mm;
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.report-running-head {
  top: 12mm;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.report-running-foot {
  bottom: 12mm;
  padding-top: 6px;
  border-top: 1px solid var(--line);
}

/* ── 封面 ─────────────────────────────────────────────────── */
.cover {
  display: flex;
  flex-direction: column;
}
.cover__brand {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 48px;
}
.cover__brand-mark {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 28px;
  letter-spacing: -0.02em;
}
.cover__brand-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.15em;
  color: var(--ink-mute);
  text-transform: uppercase;
}
.cover__meta-top {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--accent);
  text-transform: uppercase;
  margin-bottom: 24px;
}
.cover__title {
  font-family: var(--font-display);
  font-size: 64px;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.04em;
  margin-bottom: 24px;
}
.cover__title em {
  font-style: italic;
  color: var(--accent);
}
.cover__subtitle {
  font-size: 18px;
  color: var(--ink-soft);
  line-height: 1.5;
  max-width: 90%;
  margin-bottom: 48px;
}

.cover__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 2px solid var(--ink);
  border-left: 1px solid var(--line);
}
.cover__stat {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 16px 14px;
}
.cover__stat-label {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 6px;
}
.cover__stat-value {
  font-family: var(--font-display);
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
}
.cover__stat-value--accent { color: var(--accent); }
.cover__stat-unit {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--ink-mute);
  margin-top: 4px;
}
.cover__footer {
  margin-top: 48px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
}

/* ── 章节头 ───────────────────────────────────────────────── */
.section-head {
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--ink);
}
.section-num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--accent);
  margin-bottom: 8px;
}
.section-title {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.section-lead {
  font-size: 16px;
  color: var(--ink-soft);
  line-height: 1.6;
  margin-top: 12px;
}
.report-page h3.sub {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 28px 0 12px;
}
.report-page p { margin-bottom: 14px; }
.report-page p strong { font-weight: 600; color: var(--ink); }

/* ── 摘要框 ───────────────────────────────────────────────── */
.abstract {
  background: var(--bg-paper);
  border-left: 3px solid var(--accent);
  padding: 20px 24px;
  margin-bottom: 28px;
}
.abstract__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 10px;
}
.abstract p { font-size: 15px; margin-bottom: 8px; }
.abstract p:last-child { margin-bottom: 0; }

/* ── 关键发现 ─────────────────────────────────────────────── */
.findings { list-style: none; margin: 20px 0; }
.findings li {
  display: flex;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.findings li:last-child { border-bottom: none; }
.findings__num {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--accent);
  line-height: 1;
  min-width: 40px;
}
.findings__text strong { display: block; margin-bottom: 4px; font-size: 16px; }
.findings__text span   { color: var(--ink-soft); font-size: 14px; }

/* ── 目录 ─────────────────────────────────────────────────── */
.toc { list-style: none; }
.toc li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.toc__title { font-family: var(--font-display); font-size: 18px; font-weight: 500; }
.toc__num   { font-family: var(--font-mono); font-size: 12px; color: var(--ink-mute); }
.toc__page  { font-family: var(--font-mono); font-size: 13px; color: var(--accent); }

/* ── 数据表格 ─────────────────────────────────────────────── */
.data-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 14px;
}
.data-table th {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute);
  text-align: left;
  padding: 10px 12px;
  border-bottom: 2px solid var(--ink);
}
.data-table th.num,
.data-table td.num  { text-align: right; }
.data-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}
.data-table td.mono { font-family: var(--font-mono); }
.data-table tr:hover { background: var(--bg-paper); }
.data-table .highlight { color: var(--accent); font-weight: 600; }

/* ── 条形图（纯 CSS）─────────────────────────────────────── */
.bar-chart { margin: 20px 0; }
.bar-row {
  display: grid;
  grid-template-columns: 120px 1fr 60px;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
  font-size: 13px;
}
.bar-label { font-family: var(--font-mono); color: var(--ink-soft); }
.bar-track {
  height: 18px;
  background: var(--bg-alt);
  position: relative;
  border: 1px solid var(--line);
}
.bar-fill { height: 100%; background: var(--ink); position: absolute; left: 0; }
.bar-fill--accent { background: var(--accent); }
.bar-value { font-family: var(--font-mono); text-align: right; font-weight: 500; }

/* ── 风险标签 ─────────────────────────────────────────────── */
.risk-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 2px 8px;
  letter-spacing: 0.05em;
}
.risk-tag--high { background: var(--danger);   color: white; }
.risk-tag--mid  { background: var(--warning);  color: white; }
.risk-tag--low  { background: var(--positive); color: white; }

/* ── 引用框（GEO 引用锚点）──────────────────────────────── */
.citation-box {
  background: var(--ink);
  color: var(--bg);
  padding: 24px;
  margin: 28px 0;
}
.citation-box__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
}
.citation-box__text {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255,255,255,0.9);
}
.citation-box__text .q { color: var(--accent); }

/* ── 方法论框 ─────────────────────────────────────────────── */
.method-box {
  border: 1px solid var(--line);
  background: var(--bg-paper);
  padding: 20px 24px;
  margin: 20px 0;
}
.method-box__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 12px;
}
.method-box ol  { margin-left: 18px; font-size: 14px; color: var(--ink-soft); }
.method-box li  { margin-bottom: 6px; }

/* ── 信源列表 ─────────────────────────────────────────────── */
.sources-list { list-style: none; font-family: var(--font-mono); font-size: 12px; }
.sources-list li {
  padding: 8px 0;
  border-bottom: 1px dashed var(--line);
  display: flex;
  justify-content: space-between;
  color: var(--ink-soft);
}
.sources-list a { color: var(--accent); text-decoration: none; }

/* ── 局限性声明 ───────────────────────────────────────────── */
.report-disclaimer {
  font-size: 13px;
  color: var(--ink-soft);
}

/* ── 打印（A4 PDF 导出）─────────────────────────────────── */
@media print {
  body { background: white; }
  .report-wrap { padding: 0; background: white; }
  .report-toolbar { display: none; }
  .report-page {
    margin: 0;
    box-shadow: none;
    page-break-after: always;
    width: 100%;
    min-height: auto;
    padding: 18mm 16mm;
  }
  .cover { min-height: 249mm; }
  .cover__brand { margin-bottom: auto; }
}

/* ── 移动端：A4 宽度固定，允许横向滚动 ────────────────────── */
@media (max-width: 800px) {
  .report-wrap { padding: 16px 0; overflow-x: auto; }
  .report-toolbar { position: static; margin: 12px 16px; }
}
