/* ===========================================================================
   FEDERAL RECOMPETES: ANTICIPATED. Only what forecast.css, ledger.css,
   board.css and the UI kit do not already draw: the examples strip, the
   recognised-concept chips and the disambiguation prompt, the candidate card
   with its three readings, the Why Now and Matched On blocks, the More
   Filters sheet, and the dossier sections on entity.html.
   =========================================================================== */

/* ---- the examples and the recognised concepts -------------------------- */
.rc-examples { margin: -2px 0 10px; padding: 10px 12px; background: var(--panel); border: 1px solid var(--panel-line); border-radius: var(--r-sm); }
.rc-examples p { margin: 0 0 6px; font-size: 12.5px; color: var(--on-navy-soft); line-height: 1.45; }
.rc-examples .rc-eg { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-eg button {
  font: inherit; font-size: 12.5px; color: var(--on-navy); background: var(--panel-2, var(--panel));
  border: 1px solid var(--panel-line); border-radius: 999px; padding: 4px 10px; cursor: pointer;
}
.rc-eg button:hover { border-color: var(--green-400); color: var(--green-400); }

.rc-concepts { margin: -2px 0 10px; padding: 9px 12px; background: var(--panel); border: 1px solid var(--panel-line); border-radius: var(--r-sm); }
.rc-concepts .rc-c-l { font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--on-navy-mute); margin-right: 8px; }
.rc-concepts .rc-c-row { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.rc-chip {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
  font-size: 12.5px; color: var(--on-navy); background: var(--panel-2, var(--panel));
  border: 1px solid var(--panel-line); border-radius: 999px; padding: 3px 10px;
}
.rc-chip .t { font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--green-400); }
.rc-chip .f { font-size: 11.5px; color: var(--on-navy-mute); }
.rc-chip.is-off { border-style: dashed; color: var(--on-navy-mute); }
.rc-chip.is-off .t { color: var(--gold-500); }
.rc-logic { margin: 6px 0 0; font-family: var(--f-mono); font-size: 11.5px; color: var(--on-navy-mute); }
.rc-ask { margin: 8px 0 0; padding: 8px 10px; border: 1px solid var(--gold-500); border-radius: var(--r-sm); background: var(--panel-2, var(--panel)); }
.rc-ask p { margin: 0 0 6px; font-size: 13px; color: var(--on-navy); }
.rc-ask .rc-eg { margin-top: 4px; }
.rc-elsewhere { margin: 6px 0 0; font-size: 12.5px; color: var(--on-navy-soft); }
.rc-elsewhere a { color: var(--green-400); }

/* ---- the summary strip and the results bar ---------------------------- */
.rc-more .fc-fgrid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.rc-note { margin: 0 0 10px; font-size: 12.5px; color: var(--on-navy-mute); line-height: 1.5; }
.rc-note b { color: var(--on-navy-soft); font-weight: 600; }

/* ---- the candidate card ------------------------------------------------ */
.rc-cards { display: grid; gap: 10px; }
.rc-card {
  background: var(--panel); border: 1px solid var(--panel-line); border-radius: var(--r);
  padding: 12px 14px 10px; transition: border-color .15s ease;
}
.rc-card:hover { border-color: var(--panel-line-strong, var(--panel-line)); }
.rc-card.is-new { border-left: 3px solid var(--green-400); }
.rc-card.is-changed { border-left: 3px solid var(--gold-500); }
.rc-head { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; justify-content: space-between; }
.rc-kind { font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--on-navy-mute); }
.rc-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-badge {
  display: inline-flex; align-items: center; gap: 5px; font-size: 11px; letter-spacing: .03em; text-transform: uppercase;
  border-radius: 999px; padding: 2px 9px; border: 1px solid var(--panel-line); color: var(--on-navy-soft); background: var(--panel-2, var(--panel));
}
.rc-badge .k { color: var(--on-navy-mute); text-transform: none; letter-spacing: 0; font-size: 10.5px; }
.rc-badge.high, .rc-badge.capture_now { border-color: var(--green-400); color: var(--green-400); }
.rc-badge.medium, .rc-badge.prepare, .rc-badge.solicitation_expected, .rc-badge.market_research, .rc-badge.solicitation_posted { border-color: var(--gold-500); color: var(--gold-500); }
.rc-badge.low, .rc-badge.awarded { border-color: var(--panel-line); color: var(--on-navy-mute); }
.rc-badge.watch { border-color: var(--panel-line); color: var(--on-navy-soft); }
.rc-title { margin: 6px 0 0; font-size: 15.5px; line-height: 1.3; font-weight: 600; }
.rc-title a { color: var(--on-navy); text-decoration: none; }
.rc-title a:hover { color: var(--green-400); }
.rc-inc { margin: 4px 0 0; font-size: 13px; color: var(--on-navy-soft); }
.rc-inc b { color: var(--on-navy); font-weight: 600; }
.rc-inc a { color: inherit; }
.rc-strip {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px 10px;
  margin: 9px 0 0; padding: 9px 0; border-top: 1px solid var(--hairline, var(--panel-line)); border-bottom: 1px solid var(--hairline, var(--panel-line));
}
.rc-strip > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rc-strip .k { font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--on-navy-mute); }
.rc-strip .v { font-family: var(--f-mono); font-size: 12.5px; color: var(--on-navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-strip .v.soon { color: var(--gold-500); }
.rc-strip .v.none { color: var(--on-navy-mute); font-style: italic; font-family: inherit; }
.rc-strip .v small { font-family: inherit; font-size: 11px; color: var(--on-navy-mute); }
.rc-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; margin: 8px 0 0; }
.rc-why, .rc-matched { font-size: 12.5px; line-height: 1.45; color: var(--on-navy-soft); }
.rc-why h4, .rc-matched h4 { margin: 0 0 3px; font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--on-navy-mute); font-weight: 600; }
.rc-why ul, .rc-matched ul { margin: 0; padding-left: 16px; }
.rc-why li, .rc-matched li { margin: 0 0 2px; }
.rc-matched li b { color: var(--on-navy); font-weight: 600; }
.rc-signal { margin: 8px 0 0; font-size: 12.5px; color: var(--on-navy-soft); }
.rc-signal b { color: var(--on-navy); font-weight: 600; }
.rc-acts { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 9px 0 0; }
.rc-acts .btn { font-size: 12px; }
.rc-rule { font-size: 11.5px; color: var(--on-navy-mute); font-style: italic; }
.rc-unknown { color: var(--on-navy-mute); }

/* ---- the table twin ---------------------------------------------------- */
.rc-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.rc-table th, .rc-table td { text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--hairline, var(--panel-line)); vertical-align: top; }
.rc-table th { font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--on-navy-mute); font-weight: 600; }
.rc-table td.n { font-family: var(--f-mono); white-space: nowrap; }
.rc-tablewrap { overflow-x: auto; }

/* ---- the detail panel ------------------------------------------------- */
.rc-panel-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.rc-panel-h h2 { margin: 0; font-size: 17px; line-height: 1.3; }
.rc-sec { margin: 14px 0 0; }
.rc-sec h3 { margin: 0 0 6px; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--on-navy-mute); }
.rc-kv { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; font-size: 13px; margin: 0; }
.rc-kv dt { color: var(--on-navy-mute); }
.rc-kv dd { margin: 0; color: var(--on-navy); }
.rc-known { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.rc-known ul { margin: 0; padding-left: 16px; font-size: 12.5px; line-height: 1.5; }
.rc-known .miss li { color: var(--on-navy-mute); }

/* ---- the dossier on entity.html ---------------------------------------- */
.ep-timeline { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--panel-line); }
.ep-timeline li { position: relative; margin: 0 0 10px; padding-left: 12px; font-size: 13px; line-height: 1.45; }
.ep-timeline li::before { content: ""; position: absolute; left: -19px; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--panel-line-strong, var(--on-navy-mute)); }
.ep-timeline li.is-now::before { background: var(--gold-500); }
.ep-timeline li.is-future::before { background: transparent; border: 2px solid var(--green-400); width: 6px; height: 6px; }
.ep-timeline li.is-missing { color: var(--on-navy-mute); font-style: italic; }
.ep-timeline .d { font-family: var(--f-mono); font-size: 11.5px; color: var(--on-navy-mute); margin-right: 8px; }
.ep-readings { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.ep-reading { padding: 10px 12px; border: 1px solid var(--panel-line); border-radius: var(--r-sm); background: var(--panel); }
.ep-reading .k { font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--on-navy-mute); }
.ep-reading .v { font-size: 18px; font-weight: 700; margin: 2px 0; }
.ep-reading .v.high, .ep-reading .v.capture_now { color: var(--green-400); }
.ep-reading .v.medium, .ep-reading .v.prepare, .ep-reading .v.market_research, .ep-reading .v.solicitation_expected, .ep-reading .v.solicitation_posted { color: var(--gold-500); }
.ep-reading .v.low, .ep-reading .v.awarded, .ep-reading .v.watch, .ep-reading .v.unknown { color: var(--on-navy-soft); }
.ep-reading .r { font-size: 12px; color: var(--on-navy-soft); line-height: 1.45; }

@media (max-width: 720px) {
  .rc-cols, .rc-known { grid-template-columns: 1fr; }
  .rc-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
