/* signalhealth.css — 选股信号体检视图 (2026-06-29). 仅用 CSS 变量, 跟随主题。 */
#sighealth-view { max-width: none; padding: var(--sp-4, 12px) 0; }
/* 2026-07-01: 宽屏优化 — 外层不设阅读宽度上限 (与 curves-view/other-view 同款满宽), 但正文长段解释
   (指标词典/流程总览的 通俗/专业 说明) 单独收窄, 防止行长失控影响阅读; 数据卡片/表格仍随容器铺满宽屏. */
.sh-flow-step .sh-flow-pop, .sh-flow-step .sh-flow-tech,
.sh-gloss-body .sh-gloss-row { max-width: 68ch; }
.sh-head h2 { font-size: var(--fs-title, 18px); color: var(--text-1); margin: 0 0 4px; display: flex; align-items: center; gap: 8px; }
.sh-shadow { font-size: 11px; font-weight: 400; color: var(--text-3); border: 1px solid var(--border); border-radius: 4px; padding: 1px 6px; }
.sh-meta { font-size: var(--fs-meta, 11px); color: var(--text-3); margin-bottom: var(--sp-4, 12px); }
.sh-panel { background: var(--card); border: 1px solid var(--border); border-radius: var(--r-lg, 6px); padding: var(--sp-4, 14px); margin-bottom: var(--sp-4, 14px); }
.sh-panel h3 { font-size: var(--fs-body, 14px); color: var(--text-1); margin: 0 0 10px; }
.sh-hint { font-size: 11px; font-weight: 400; color: var(--text-3); margin-left: 6px; }
.sh-cards { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.sh-card { flex: 1 1 130px; min-width: 120px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--r-lg, 6px); padding: 8px 10px; }
.sh-card-v { font-size: 18px; font-weight: 600; line-height: 1.1; }
.sh-card-l { font-size: 11px; color: var(--text-2); margin-top: 2px; }
.sh-card-s { font-size: 10px; color: var(--text-3); margin-top: 1px; }
.sh-chart-title { font-size: 11px; color: var(--text-2); margin: 10px 0 4px; }
.sh-svg { width: 100%; height: auto; display: block; }
.sh-svg-sq { width: 240px; max-width: 100%; height: auto; }
.sh-two { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.sh-empty { font-size: 12px; color: var(--text-3); padding: 12px; }
.sh-alarm { font-size: 12px; color: var(--dn); background: color-mix(in srgb, var(--dn) 8%, transparent); border-left: 3px solid var(--dn); padding: 4px 8px; margin-top: 6px; border-radius: 3px; }
.sh-tbl { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 4px; }
.sh-tbl th, .sh-tbl td { text-align: right; padding: 3px 8px; border-bottom: 1px solid var(--border); }
.sh-tbl th:first-child, .sh-tbl td:first-child { text-align: left; }
.sh-tbl th { color: var(--text-3); font-weight: 500; }
.sh-warn-row td { color: var(--accent-orange); }

/* 2026-07-01: RSI流程 5 区扩展 (流程总览/指标词典/维护文档/对标SOTA — 量化体检沿用上面已有 .sh-* 基础类) */
#sh-subnav { margin-bottom: var(--sp-4, 12px); }

.sh-flow { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin: 10px 0 16px; }
.sh-flow-step { flex: 1 1 190px; min-width: 170px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--r-lg, 6px); padding: 10px 12px; }
.sh-flow-step h4 { margin: 0 0 6px; font-size: var(--fs-body, 13px); color: var(--text-1); }
.sh-flow-step .sh-flow-pop { font-size: var(--fs-meta, 12px); color: var(--text-2); margin-bottom: 4px; line-height: 1.5; }
.sh-flow-step .sh-flow-tech { font-size: 11px; color: var(--text-3); line-height: 1.5; }
.sh-flow-step .sh-flow-artifact { font-size: 10px; color: var(--accent-orange); margin-top: 6px; }
.sh-flow-arrow { align-self: center; color: var(--text-3); font-size: 18px; flex: 0 0 auto; }
.sh-principles { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.sh-principle { flex: 1 1 220px; background: var(--bg); border-left: 3px solid var(--accent); border-radius: 4px; padding: 6px 10px; font-size: var(--fs-meta, 12px); color: var(--text-2); }
.sh-principle b { color: var(--text-1); }

.sh-gloss-panel-title { font-size: var(--fs-body, 13px); font-weight: 600; color: var(--text-1); margin: 16px 0 8px; }
.sh-gloss-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--r-lg, 6px); padding: 10px 12px; margin-bottom: 8px; }
.sh-gloss-card summary { cursor: pointer; font-size: var(--fs-body, 13px); color: var(--text-1); font-weight: 500; }
.sh-gloss-card summary .sh-gloss-live { float: right; font-size: 11px; color: var(--accent-orange); font-weight: 400; }
.sh-gloss-body { margin-top: 8px; font-size: var(--fs-meta, 12px); color: var(--text-2); line-height: 1.65; }
.sh-gloss-body .sh-gloss-row { margin-bottom: 4px; }
.sh-gloss-body .sh-gloss-row b { color: var(--text-1); }

.sh-doc-cat { margin-bottom: 14px; }
.sh-doc-cat-title { font-size: var(--fs-body, 13px); font-weight: 600; color: var(--text-1); margin-bottom: 6px; }
.sh-doc-item { background: var(--card); border: 1px solid var(--border); border-radius: var(--r-lg, 6px); padding: 8px 12px; margin-bottom: 6px; }
.sh-doc-item summary { cursor: pointer; font-size: var(--fs-meta, 12px); color: var(--text-2); display: flex; justify-content: space-between; gap: 8px; }
.sh-doc-item summary .sh-doc-date { color: var(--text-3); font-size: 11px; white-space: nowrap; }
.sh-doc-body { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border); font-size: var(--fs-meta, 12px); max-height: 520px; overflow: auto; }

.sh-sota-summary { font-size: var(--fs-meta, 12px); color: var(--text-2); background: var(--bg); border-radius: var(--r-lg, 6px); padding: 10px 12px; margin-bottom: 12px; line-height: 1.65; }
.sh-sota-tbl-wrap { overflow-x: auto; }
.sh-sota-tbl { width: 100%; min-width: 640px; border-collapse: collapse; font-size: var(--fs-meta, 12px); }
.sh-sota-tbl th, .sh-sota-tbl td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--border); vertical-align: top; }
.sh-sota-tbl th { color: var(--text-3); font-weight: 500; }
.sh-badge { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 10px; white-space: nowrap; }
.sh-badge-lead { background: color-mix(in srgb, var(--up) 15%, transparent); color: var(--up); }
.sh-badge-align { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); }
.sh-badge-gap { background: color-mix(in srgb, var(--accent-orange) 15%, transparent); color: var(--accent-orange); }
