/* Research, pipeline and agents pages, plus the demo-mode health pill. Uses the tokens from app.css. */

.small { font-size: 0.82rem; }
.h-sub { font-size: 1rem; font-weight: 400; }
.links-row { margin: -0.4rem 0 1rem; font-size: 0.9rem; }

/* demo mode: neutral, not an alert */
.hb.demo { background: #eef1f5; border-color: var(--line); color: var(--muted); }
.tag-demo { background: var(--info-bg); color: var(--accent); border-radius: 4px; padding: 0 0.4rem; font-weight: 600; }

/* priority pills */
.prio { display: inline-block; font-size: 0.75rem; font-weight: 700; border-radius: 999px; padding: 0.05rem 0.55rem; background: #eef1f5; white-space: nowrap; }
.prio-1 { background: var(--ok-bg); color: var(--ok); }
.prio-2 { background: var(--info-bg); color: var(--accent); }
.prio-3 { background: #eef1f5; color: var(--muted); }

/* findings */
.kind { display: inline-block; font-size: 0.72rem; font-weight: 600; border-radius: 4px; padding: 0 0.35rem; background: #eef1f5; }
.kind-measured { background: var(--ok-bg); color: var(--ok); }
.kind-estimate { background: var(--warn-bg); color: var(--warn); }
.kind-hook { background: var(--info-bg); color: var(--accent); }
table.findings td { font-size: 0.88rem; }
table.findings tr:target td { background: var(--warn-bg); }
a.src { overflow-wrap: anywhere; }
td.company-cell { min-width: 12rem; }
.self-row td { background: var(--info-bg); }
details.reasons-log { margin-top: 0.8rem; }
details.reasons-log summary, details.ids summary { cursor: pointer; color: var(--muted); font-size: 0.88rem; }
ol.plain-list { margin: 0.5rem 0 0; padding-inline-start: 1.3rem; font-size: 0.88rem; }
ol.plain-list li { margin-bottom: 0.4rem; }
details.ids { margin: 0.5rem 0 1rem; font-size: 0.85rem; }
details.ids dl.kv { margin-top: 0.5rem; }

/* report iframe */
.report-frame { width: 100%; height: 900px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }

/* pipeline funnel */
ol.funnel { list-style: none; margin: 0 0 0.6rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.6rem; counter-reset: step; }
.step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 0.7rem 0.8rem; display: flex; flex-direction: column; gap: 0.2rem; position: relative; counter-increment: step; }
.step-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); font-weight: 600; }
.step-label::before { content: counter(step) ". "; }
.step-count { font-size: 1.9rem; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.step-count.none { color: var(--muted); }
.step-detail { font-size: 0.8rem; font-weight: 600; }
.step-note { font-size: 0.78rem; color: var(--muted); }
.step-replied, .step-stop { border-style: dashed; }
.step-stop .step-count:not(.none) { color: var(--crit); }
table.pipeline-table td.num a { font-weight: 600; }

/* agents */
table.agents-table td.num { font-variant-numeric: tabular-nums; }
.src-primary { color: var(--ok); }
.src-not-verified { color: var(--crit); }
tr.totals td { border-top: 2px solid var(--line); }
pre.playbook { white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--mono); font-size: 0.85rem; line-height: 1.55; margin: 0; unicode-bidi: plaintext; }

@media (max-width: 640px) {
  .report-frame { height: 640px; }
  ol.funnel { grid-template-columns: repeat(2, 1fr); }
}
