/* ============================================================
   报告 · 区域与商户排行（图表 + 筛选）
   仅报告页（详情 / 打印）使用。整块深色底沿用 --panel，
   图表用内联 SVG，这里只负责排版、配色与打印降墨。

   字号体系里的角色：报告页图表的刻度 / 图例 / 数值标签。
   ⚠️ SVG 里的 font-size 单位是「用户单位」，会跟着 viewBox 缩放倍数一起放大：
   图表曾经是 width:100%，viewBox 880 在 1262px 宽的卡片里被放大 1.43 倍，
   写在 CSS 里的 16px 实际渲染成 23px，比 19px 的正文还大 —— 这就是
   「图表内文字字号过大」的根因。v2.6.0 起由 xz_rk_box() 给每张图钉住
   max-width = viewBox 宽度，缩放倍数恒等于 1，这里写 14px 屏幕上就是 14px，
   所以全图统一取 --fs-chart（14px），不再借用正文那几档令牌。
   ============================================================ */

.rk .rk-head { flex-wrap: wrap; align-items: flex-start; }
.rk .rk-title { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }

/* ---------- 筛选控件 ---------- */
.rk-filter { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rk-chips { gap: 6px; }
.rk-chips .chip { padding: 4px 10px; font-size: var(--fs-xs, 13px); text-decoration: none; }
.rk-form { display: flex; align-items: center; gap: 6px; }
.rk-form select {
  background: #0d141e; color: var(--text-2); border: 1px solid var(--line);
  border-radius: 7px; padding: 5px 8px; font-size: var(--fs-base, 15px); max-width: 170px;
  font-family: inherit; outline: none;
}
.rk-form select:focus { border-color: rgba(47, 129, 247, .55); }
.rk-apply {
  background: var(--brand-soft); color: #7db6ff; border: 1px solid rgba(47, 129, 247, .4);
  border-radius: 7px; padding: 5px 10px; font-size: var(--fs-xs, 13px); cursor: pointer; font-family: inherit;
}
.rk-apply:hover { border-color: rgba(47, 129, 247, .7); }

/* ---------- 当前筛选 ---------- */
.rk-active {
  margin: -4px 0 16px; padding: 9px 12px; font-size: var(--fs-xs, 13px); line-height: var(--lh-base, 1.7);
  background: rgba(47, 129, 247, .08); border: 1px solid rgba(47, 129, 247, .22);
  border-radius: var(--radius-sm); color: var(--text-2);
}
.rk-active b { color: #7db6ff; }
.rk-warn { background: rgba(240, 169, 46, .08); border-color: rgba(240, 169, 46, .26); color: #e0c48a; }
.rk-clear { margin-left: 8px; color: var(--brand); text-decoration: none; }
.rk-clear:hover { text-decoration: underline; }

/* ---------- 分块 ---------- */
.rk-sec { margin-top: 18px; }
.rk-sec:first-of-type { margin-top: 0; }
.rk-h { display: flex; align-items: baseline; gap: 9px; margin-bottom: 10px; flex-wrap: wrap; }
.rk-h b { font-size: var(--fs-sm, 14px); color: var(--text); font-weight: 600; }
.rk-h small { font-size: var(--fs-xs, 13px); color: var(--muted); }

.rk-two { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 18px; align-items: start; }
/* 图宽已由 _report_charts.php 的 xz_rk_box() 内联钉在 viewBox 宽度上（缩放倍数 = 1）。
   窄屏放不下时这里横向滚动，而不是把 14px 的字压成 5px —— 与榜单表 .rb-table 同一套做法。 */
.rk-chart-wrap { min-width: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }

.rk-chart { display: block; width: 100%; height: auto; margin: 0 auto; overflow: visible; }
.rk-chart text { fill: #8b98a9; font-size: var(--fs-chart, 14px); font-family: inherit; }
.rk-chart .rk-tick { font-size: var(--fs-chart, 14px); fill: #7d8a9b; }
.rk-chart .rk-axis-title { font-size: var(--fs-chart, 14px); fill: #6f7c8d; }
.rk-chart .rk-legend { font-size: var(--fs-chart, 14px); fill: #8b98a9; }
.rk-chart .rk-label { font-size: var(--fs-chart, 14px); fill: #b6c2d1; }
.rk-chart .rk-value { font-size: var(--fs-chart, 14px); fill: #9fb0c3; font-family: var(--mono); }
.rk-chart .rk-xlab { font-size: var(--fs-chart, 14px); fill: #8b98a9; }
/* 数字列：等宽 + 表格数字对齐，扫一列时不会因为位数差左右抖动 */
.rk-chart .rk-num { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.rk-chart .rk-gl { stroke: rgba(139, 152, 169, .13); stroke-width: 1; }
.rk-chart .rk-ring { fill: none; stroke: rgba(139, 152, 169, .26); stroke-width: 1; stroke-dasharray: 4 4; }
.rk-chart .rk-cell { stroke: #0b0f14; stroke-width: 1; }
.rk-chart .rk-cell-0 { stroke: rgba(139, 152, 169, .08); }
.rk-chart .rk-center { fill: #f0a92e; }
.rk-chart .rk-center-line { stroke: #f0a92e; stroke-width: 1.2; }
.rk-chart .rk-bar { fill: rgba(47, 129, 247, .42); stroke: rgba(47, 129, 247, .85); stroke-width: 1; }
.rk-chart .rk-bar:hover { fill: rgba(47, 129, 247, .72); }
.rk-chart .rk-line { fill: none; stroke: #17b8a6; stroke-width: 1.8; stroke-linejoin: round; }
.rk-chart .rk-dot { stroke-width: 1.1; }
.rk-chart .rk-dot-chain { stroke: rgba(23, 184, 166, .95); }
.rk-chart .rk-dot-solo { stroke: rgba(240, 169, 46, .9); }
.rk-chart .rk-dot-cost { fill: #17b8a6; stroke: #0b0f14; }
.rk-chart rect, .rk-chart circle { transition: fill-opacity .12s; }
.rk-chart circle:hover { fill-opacity: .85; }

/* ---------- 区域 Top8 列表 ---------- */
/* 这张清单从「左图右表」的两栏里独立出来了：热力图交给「区域热度分布」，
   清单独占整行。8 行铺满 1080px 会拉成一条长带，宽屏拆两栏更好扫。 */
.rk-list-wide { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }
.rk-list-wide .rk-list-h { grid-column: 1 / -1; }
@media (max-width: 860px) { .rk-list-wide { grid-template-columns: 1fr; } }
.rk-list-h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: var(--fs-xs, 13px); color: var(--muted); margin-bottom: 8px; }
.rk-list-h small { font-size: var(--fs-xs, 13px); color: #64707f; }
.rk-area {
  display: grid; grid-template-columns: 18px 74px minmax(40px, 1fr) 44px; gap: 8px;
  align-items: center; padding: 5px 0; border-bottom: 1px dashed rgba(139, 152, 169, .12);
  font-size: var(--fs-xs, 13px);
}
.rk-area:last-child { border-bottom: none; }
.rk-a-idx { font-family: var(--mono); font-size: var(--fs-xs, 13px); color: #64707f; }
.rk-a-lb { color: var(--text-2); white-space: nowrap; }
.rk-a-bar { height: 6px; border-radius: 4px; background: rgba(47, 129, 247, .12); overflow: hidden; }
.rk-a-bar i { display: block; height: 100%; background: linear-gradient(90deg, rgba(47, 129, 247, .45), #2f81f7); }
.rk-a-n { font-family: var(--mono); font-size: var(--fs-xs, 13px); text-align: right; color: var(--text); }
.rk-a-n small { font-size: var(--fs-xs, 13px); color: var(--muted); margin-left: 1px; }
.rk-a-sub { grid-column: 2 / -1; font-size: var(--fs-xs, 13px); color: #6f7c8d; margin-top: -2px; }

/* ---------- 点位表 ---------- */
.rk-table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: var(--fs-sm, 14px); }
.rk-table th {
  text-align: left; font-weight: 500; font-size: var(--fs-xs, 13px); color: #6f7c8d;
  padding: 5px 6px; border-bottom: 1px solid rgba(139, 152, 169, .14); white-space: nowrap;
}
.rk-table td { padding: 6px; border-bottom: 1px dashed rgba(139, 152, 169, .1); vertical-align: middle; }
.rk-table tr:last-child td { border-bottom: none; }
.rk-table .r { text-align: right; }
.rk-td-idx { font-family: var(--mono); color: #64707f; font-size: var(--fs-xs, 13px); }
.rk-td-brand { font-size: var(--fs-xs, 13px); color: #8b98a9; margin-left: 6px; }
.rk-td-chain {
  font-size: var(--fs-xs, 13px); color: var(--accent-teal-text); background: rgba(23, 184, 166, .12);
  border-radius: 4px; padding: 1px 5px; margin-left: 5px;
}

.rk-note { font-size: var(--fs-xs, 13px); color: #64707f; line-height: var(--lh-loose, 1.9); margin-top: 14px; }
.rk-empty { font-size: var(--fs-xs, 13px); color: var(--muted); padding: 18px 0; }

@media (max-width: 820px) {
  .rk-two { grid-template-columns: minmax(0, 1fr); }
  .rk-filter { width: 100%; }
}

/* ---------- 打印页（/report/{no}/print）整页是白底 ----------
   打印页在屏幕上就已经是白底（report_print.php 里写死了 body 背景），
   所以不能只靠 @media print —— 预览时也得用浅色，否则浅灰字铺在白纸上看不清。
   规则与下面的 @media print 一一对应：一处改了，另一处要跟着改。 */
.rk-light .rk-filter { display: none; }
/* 打印预览页也是一张「纸」：屏幕宽度常常小于图的 viewBox 宽（880），
   这时不该出现横向滚动条，按纸宽等比缩小即可（14px → 约 11px，A4 上仍是可读的）。 */
.rk-light .rk-chart-wrap { overflow: visible; }
.rk-light .rk-chart { min-width: 0 !important; }
.rk-light .rk-active { background: #f4f7fb; border-color: #d7e0ea; color: #34404e; }
.rk-light .rk-active b, .rk-light .rk-clear { color: #1f4f8f; }
.rk-light .rk-chart text { fill: #5c6a7a; }
.rk-light .rk-chart .rk-tick,
.rk-light .rk-chart .rk-axis-title,
.rk-light .rk-chart .rk-legend { fill: #6b7887; }
.rk-light .rk-chart .rk-label,
.rk-light .rk-chart .rk-value,
.rk-light .rk-chart .rk-xlab { fill: #34404e; }
.rk-light .rk-chart .rk-gl { stroke: #dfe4ea; }
.rk-light .rk-chart .rk-ring { stroke: #b8c2ce; }
.rk-light .rk-chart .rk-cell { stroke: #ffffff; }
.rk-light .rk-chart .rk-cell-0 { stroke: #eef1f5; }
.rk-light .rk-chart .rk-center,
.rk-light .rk-chart .rk-center-line { fill: #b5761a; stroke: #b5761a; }
.rk-light .rk-chart .rk-bar { fill: rgba(47, 129, 247, .22); stroke: #2f6bbd; }
.rk-light .rk-chart .rk-line { stroke: #0f8f81; }
.rk-light .rk-chart .rk-dot-chain { fill: #0f8f81; fill-opacity: .45; stroke: #0f8f81; }
.rk-light .rk-chart .rk-dot-solo { fill: #b5761a; fill-opacity: .16; stroke: #b5761a; }
.rk-light .rk-chart .rk-dot-cost { fill: #ffffff; stroke: #0f8f81; }
.rk-light .rk-a-bar { background: #e6ebf1; }
.rk-light .rk-a-bar i { background: #2f6bbd; }
.rk-light .rk-table th { color: #5c6a7a; border-bottom-color: #dfe4ea; }
.rk-light .rk-table td { border-bottom-color: #eef1f5; }
.rk-light .rk-note,
.rk-light .rk-empty,
.rk-light .rk-list-h,
.rk-light .rk-list-h small { color: #5c6a7a; }
.rk-light .rk-td-brand, .rk-light .rk-a-idx, .rk-light .rk-a-lb { color: #5c6a7a; }
.rk-light .rk-h b { color: #16202e; }

/* ---------- 打印：白底、描边为主，别把整页刷成墨块 ---------- */
@media print {
  .rk-filter { display: none !important; }
  /* 纸宽是固定的（A4 纵向约 700px 内容宽），图必须压进纸里：
     横向滚动在纸上不存在，留 min-width 只会把右侧半张图裁掉。 */
  .rk-chart-wrap { overflow: visible !important; }
  .rk-chart { max-width: 100% !important; min-width: 0 !important; }
  .rk .rk-head { margin-bottom: 10px; }
  .rk-active { background: #f4f7fb !important; border-color: #d7e0ea !important; color: #34404e !important; }
  .rk-active b, .rk-clear { color: #1f4f8f !important; }
  .rk-chart text { fill: #5c6a7a !important; }
  .rk-chart .rk-tick, .rk-chart .rk-axis-title, .rk-chart .rk-legend { fill: #6b7887 !important; }
  .rk-chart .rk-label, .rk-chart .rk-value, .rk-chart .rk-xlab { fill: #34404e !important; }
  .rk-chart .rk-gl { stroke: #dfe4ea !important; }
  .rk-chart .rk-ring { stroke: #b8c2ce !important; }
  .rk-chart .rk-cell { stroke: #ffffff !important; }
  .rk-chart .rk-cell-0 { stroke: #eef1f5 !important; }
  .rk-chart .rk-center, .rk-chart .rk-center-line { fill: #b5761a !important; stroke: #b5761a !important; }
  .rk-chart .rk-bar { fill: rgba(47, 129, 247, .22) !important; stroke: #2f6bbd !important; }
  .rk-chart .rk-line { stroke: #0f8f81 !important; }
  .rk-chart .rk-dot-chain { fill: #0f8f81 !important; fill-opacity: .45 !important; stroke: #0f8f81 !important; }
  .rk-chart .rk-dot-solo { fill: #b5761a !important; fill-opacity: .16 !important; stroke: #b5761a !important; }
  .rk-chart .rk-dot-cost { fill: #ffffff !important; stroke: #0f8f81 !important; }
  .rk-a-bar { background: #e6ebf1 !important; }
  .rk-a-bar i { background: #2f6bbd !important; }
  .rk-table th { color: #5c6a7a !important; border-bottom-color: #dfe4ea !important; }
  .rk-table td { border-bottom-color: #eef1f5 !important; }
  .rk-note, .rk-empty, .rk-list-h, .rk-list-h small { color: #5c6a7a !important; }
  .rk-sec { break-inside: avoid; page-break-inside: avoid; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ============================================================
   报告正文 · 指标口径 / 品类明细 / 环形图 / 雷达图
   ------------------------------------------------------------
   与上面的 .rk-* 榜单共用同一套深色卡片语言（卡片 #111927、内嵌表头 #0d141e、
   边线 #1e2733、正文 #e6ecf5、次要文字 #a3b1c6），但用 .rep-* / .cat-* 独立命名：
   榜单那套配色是「排行」语境，正文这些是「解读」语境，混用会让后续改动互相牵连。
   ============================================================ */

/* ---------- 指标口径小字（需求强度/竞争/机会/综合/租金/成本 底部） ----------
   11px / #7d8899 是打印与投屏都能读的下限：再小在 A4 上会糊成一条灰线，
   再亮会跟正文数字抢注意力。 */
.rep-note {
  font-size: var(--fs-xs, 13px); line-height: 1.75; color: #7d8899; margin-top: 8px;
  padding-top: 7px; border-top: 1px dashed rgba(139, 152, 169, .14);
}
.rep-note b { color: #9aa8ba; font-weight: 600; }
.sc-note {
  font-size: var(--fs-xs, 13px); line-height: 1.6; color: #7d8899; margin-top: 7px;
  padding-top: 6px; border-top: 1px dashed rgba(139, 152, 169, .14);
}
/* 投资测算里挂在单行下面的口径（grid 里占满一行，不挤开左右两列） */
.kv-note {
  grid-column: 1 / -1; font-size: var(--fs-xs, 13px); line-height: 1.75; color: #7d8899;
  margin-top: -2px; padding-left: 1px;
}
.kv-hint { font-size: var(--fs-xs, 13px); color: #64707f; margin-left: 8px; font-weight: 400; }
.kv-total b { color: #e6ecf5; }
.kv-total { padding-top: 8px; border-top: 1px solid #1e2733; }

/* ---------- 环形图 + 品类明细 ---------- */
/* 环形图在上、明细表在下：表拿满卡片宽度，9 列才不用横向拖；
   环和图例一条横排，环按 1:1 显示（viewBox 260），图例走 HTML 不被缩放。 */
.cat-blk { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; }
.cat-chart { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 22px; align-items: center; }
.cat-pie { min-width: 0; max-width: 240px; }
.cat-legend { min-width: 0; }
.pie-legend {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 26px; margin: 0; padding: 0; list-style: none; max-width: 470px;
}
.pie-legend li { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: var(--fs-xs, 13px); color: #c3ccd9; }
.pie-legend i { flex: none; width: 9px; height: 9px; border-radius: 2px; }
.pie-legend .pie-lb { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pie-legend .pie-pct { flex: none; font-family: var(--mono); font-size: var(--fs-xs, 13px); color: #a3b1c6; }
.cat-tbl-wrap { overflow-x: auto; min-width: 0; }
.cat-tbl {
  width: 100%; min-width: 660px; table-layout: fixed;
  border-collapse: collapse; font-size: var(--fs-xs, 13px); color: #e6ecf5;
}
.cat-tbl th {
  text-align: left; font-weight: 500; font-size: var(--fs-xs, 13px); color: #a3b1c6;
  background: #0d141e; padding: 9px 10px; border-bottom: 1px solid #1e2733; white-space: nowrap;
}
.cat-tbl td { padding: 9px 10px; border-bottom: 1px dashed rgba(139, 152, 169, .12); vertical-align: middle; }
.cat-tbl tbody tr:last-child td { border-bottom: none; }
.cat-tbl tbody tr:hover { background: var(--hover-veil-soft); }
.cat-tbl .r { text-align: right; font-family: var(--mono); }
.cat-tbl .cat-name { color: #dbe4ef; }
.cat-share { display: flex; align-items: center; gap: 8px; }
.cat-share-bar { flex: 1 1 auto; min-width: 40px; height: 6px; border-radius: 4px; background: rgba(47, 129, 247, .12); overflow: hidden; }
.cat-share-bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, rgba(47, 129, 247, .45), #2f81f7); }
.cat-share-n { flex: none; width: 44px; text-align: right; font-family: var(--mono); font-size: var(--fs-xs, 13px); color: #a8b6c8; }
.cat-more { margin-top: 4px; }
.cat-more summary {
  cursor: pointer; user-select: none; font-size: var(--fs-xs, 13px); color: #7db6ff;
  padding: 8px 2px; list-style: none;
}
.cat-more summary::-webkit-details-marker { display: none; }
.cat-more summary::before { content: "▸ "; }
.cat-more[open] summary::before { content: "▾ "; }
.cat-cap { font-size: var(--fs-xs, 13px); line-height: var(--lh-loose, 1.9); color: #64707f; margin-top: 12px; }
.cat-cap b { color: #8b98a9; font-weight: 600; }

/* ---------- 雷达图 ---------- */
.radar-blk { display: grid; grid-template-columns: minmax(0, 430px) minmax(0, 1fr); gap: 20px; align-items: center; }
.radar-side { min-width: 0; }
.radar-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 8px 0; border-bottom: 1px dashed rgba(139, 152, 169, .12); font-size: var(--fs-xs, 13px);
}
.radar-row:last-child { border-bottom: none; }
.radar-row .rl { color: #a3b1c6; display: flex; align-items: center; gap: 7px; }
.radar-row .rl i { width: 7px; height: 7px; border-radius: 2px; background: #17b8a6; flex: none; }
.radar-row .rv { font-family: var(--mono); color: #e6ecf5; }
.radar-row .rv small { color: #64707f; margin-left: 3px; font-family: inherit; }
.radar-src { font-size: var(--fs-xs, 13px); color: #7d8899; line-height: 1.8; margin-top: 10px; }

@media (max-width: 980px) {
  .cat-blk { grid-template-columns: minmax(0, 1fr); }
  .cat-chart { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .cat-pie { max-width: 220px; margin: 0 auto; }
  .radar-blk { grid-template-columns: minmax(0, 1fr); }
}

/* 打印页（report_print.php 白底）：上面这些深色件切成浅色，
   否则打印出来是一块块墨饼，口径小字也会因为 #7d8899 在深底上看不见而消失。 */
.print-wrap .cat-tbl th { background: #f3f6fa; color: #5c6a7a; border-bottom-color: #dfe4ea; }
.print-wrap .cat-tbl td { color: #16202e; border-bottom-color: #eef1f5; }
.print-wrap .cat-tbl .cat-name { color: #16202e; }
.print-wrap .cat-share-bar { background: #e6ebf1; }
.print-wrap .cat-share-bar i { background: #2f6bbd; }
.print-wrap .cat-cap, .print-wrap .cat-more summary { color: #5c6a7a; }
.print-wrap .pie-legend li { color: #34404e; }
.print-wrap .pie-legend .pie-pct { color: #5c6a7a; }
.print-wrap .rep-note, .print-wrap .sc-note, .print-wrap .kv-note, .print-wrap .radar-src { color: #5c6a7a; }
.print-wrap .radar-row { border-bottom-color: #eef1f5; }
.print-wrap .radar-row .rl { color: #5c6a7a; }
.print-wrap .radar-row .rv { color: #16202e; }
@media print {
  .cat-more { display: block; }
  .cat-more > summary { display: none; }
  .cat-more[open] .cat-more-body { display: block; }
  .cat-blk, .radar-blk { break-inside: avoid; page-break-inside: avoid; }
}

/* ---------- 商户榜（固定列宽表） ---------- */
.rk-tbl-wrap { overflow-x: auto; }
.rk-tbl-fixed { width: 100%; min-width: 620px; table-layout: fixed; border-collapse: collapse; font-size: var(--fs-xs, 13px); }
.rk-tbl-fixed th {
  text-align: left; font-weight: 500; font-size: var(--fs-xs, 13px); color: #a3b1c6;
  background: #0d141e; padding: 8px 10px; border-bottom: 1px solid #1e2733; white-space: nowrap;
}
.rk-tbl-fixed td {
  padding: 9px 10px; border-bottom: 1px dashed rgba(139, 152, 169, .12);
  vertical-align: middle; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.rk-tbl-fixed tbody tr:last-child td { border-bottom: none; }
.rk-tbl-fixed tbody tr:hover { background: var(--hover-veil-soft); }
.rk-tbl-fixed th.r, .rk-tbl-fixed td.r { text-align: right; font-family: var(--mono); }
.rk-tbl-fixed .muted { color: #8b98a9; }

/* ---------- 环形图 / 雷达图文字 ----------
   .rk-chart text 的通用规则是 14px / #8b98a9，这两张图有各自的信息层级：
   中心总数要压得住，图例要读得清，轴标签只做定位。 */
.rk-chart .pie-total { font-size: var(--fs-lg, 20px); font-weight: 800; fill: #e6ecf5; font-family: var(--mono); letter-spacing: -.5px; }
.rk-chart .pie-sub { font-size: var(--fs-chart, 14px); fill: #7d8899; }
.rk-chart .radar-ax { font-size: var(--fs-chart, 14px); fill: #a3b1c6; }

/* 打印页：图表文字跟着正文走浅色 */
.print-wrap .rk-chart .pie-total { fill: #16202e; }
.print-wrap .rk-chart .pie-sub { fill: #5c6a7a; }
.print-wrap .rk-chart .radar-ax { fill: #5c6a7a; }
/* 白纸上环心必须翻成白色，否则中心总数（#16202e）压在深色圆片上等于看不见 */
.print-wrap .rk-chart .pie-hole { fill: #ffffff; }
.print-wrap .rk-chart .rd-grid { stroke: #e2e7ee; }
.print-wrap .rk-chart .rd-dot { stroke: #ffffff; }
.print-wrap .rk-tbl-fixed th { background: #f3f6fa; color: #5c6a7a; border-bottom-color: #dfe4ea; }
.print-wrap .rk-tbl-fixed td { color: #16202e; border-bottom-color: #eef1f5; }
.print-wrap .rk-tbl-fixed .muted { color: #5c6a7a; }

/* ---- v2.4.0 点位散点图图例（从 SVG 内部移到外面，靠 flex 排版，不会再叠字） ---- */
.rk-legend-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    margin: 0 0 6px;
    font-size: var(--fs-xs, 12px);
    line-height: 1.4;
    color: var(--muted);
}
.rk-legend-row span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}
.rk-lg {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex: none;
    display: inline-block;
}
.rk-lg-chain { background: #17b8a6; opacity: .8; }
.rk-lg-solo { background: #f0a92e; opacity: .55; }
.rk-lg-size {
    width: 13px;
    height: 13px;
    background: transparent;
    border: 1.5px solid var(--muted);
    opacity: .85;
}
.radar-val {
    fill: #9cc5ff;
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
}
