/* ============================================================================
   Bid Board — shared brand layer (Brand Guidelines Book 5.15.2025)

   Card/table operational pages in CommOps. Pair with:
     ../css/standard-brand-banner.css  (header only)
   Do NOT link full jrco-brand.css here — these pages support optional
   body.theme-dark for ops viewing without fighting !important body overrides.
   ============================================================================ */

:root {
  --bb-font: "neue-haas-grotesk-text", Arial, Helvetica, sans-serif;
  --bb-font-black: "neue-haas-grotesk-display", "Arial Black", Arial, Helvetica, sans-serif;
  --bb-font-mono: "Courier New", Courier, monospace;
}

/* ── Typography (replaces Bebas / DM Sans / DM Mono) ── */
body {
  font-family: var(--bb-font);
}

.kpi-label,
.kpi-subl,
.alert-chip,
.hchip,
.results-count,
.chip,
.dh-sub,
.dact-lbl,
.drev-state,
.exp-k,
.expand-hint,
.footer-time,
.attom-item,
.nb-modal .nb-k,
.dpf-title,
.df-key,
.nb-mono,
.count-lbl,
.state-msg,
.nb-table th {
  font-family: var(--bb-font-mono);
}

.kpi-value,
.gb-letter,
.gsh-grade,
.card-grade,
.card-title,
.exp-edit-title,
.exp-sect-title,
.dh-title,
.nb-modal h3,
.loc-val,
.grade-pill,
.group-btn,
.period-lbl {
  font-family: var(--bb-font-black);
  letter-spacing: -0.03em;
}

/* ── No blue chrome — secondary metrics & links ── */
.kv-blue {
  color: var(--muted);
}

.card-src-link,
.nb-src-link {
  color: var(--red-dark);
}

.card-src-link:hover,
.nb-src-link:hover {
  color: var(--red);
}

.card-src-link:hover {
  border-color: var(--red);
}

/* Grade C — neutral gray, not blue */
.g-c,
.grade-btn.g-c {
  background: rgba(64, 64, 64, 0.08);
  color: var(--muted);
}

body.theme-dark .g-c,
body.dark .g-c {
  background: rgba(230, 230, 230, 0.08);
  color: var(--muted);
}

/* Interactive focus / active — brand red */
.search-input:focus,
.filter-select:focus,
.dloc-input:focus,
.st-btn.st-active {
  border-color: var(--red);
}

.st-btn.st-active {
  background: rgba(233, 42, 44, 0.08);
}

.kpi-clickable:hover {
  background: rgba(233, 42, 44, 0.06);
}

body.theme-dark .kpi-clickable:hover,
body.dark .kpi-clickable:hover {
  background: rgba(233, 42, 44, 0.1);
}

.kpi-clickable.kpi-filter-on {
  background: rgba(186, 117, 23, 0.12);
  box-shadow: inset 0 0 0 1px rgba(186, 117, 23, 0.35);
}

.loc-val {
  color: var(--text);
}

/* Table row hover — subtle red tint */
.nb-table tr:hover td {
  background: rgba(233, 42, 44, 0.04);
}

body.theme-dark .nb-table tr:hover td,
body.dark .nb-table tr:hover td {
  background: rgba(233, 42, 44, 0.06);
}

/* Sticky filter rail below standard banner */
.filter-rail {
  top: 64px;
}

/* Card grid — brand paper surfaces */
.opp-card {
  box-shadow: var(--shadow);
}

.opp-card:hover {
  border-color: rgba(233, 42, 44, 0.35);
}

body.theme-dark .opp-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.grade-section-head::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 1em;
  margin-right: 8px;
  vertical-align: -0.1em;
  background: linear-gradient(160deg, #E92A2C, #A71F23);
}

.exp-save-pipeline-btn {
  background: linear-gradient(135deg, #E92A2C, #A71F23) !important;
  border-color: transparent !important;
  color: #fff !important;
}

.exp-save-pipeline-btn:hover:not(:disabled) {
  filter: brightness(0.96);
}
