/**
 * BetDNA Football Intelligence — semantic presentation tokens (PDS-004)
 * Maps to existing cockpit colours — semantic consistency only.
 */
:root {
  /* Intelligence quality */
  --fi-color-full: #86efac;
  --fi-color-partial: #fcd34d;
  --fi-color-proxy: #fdba74;
  --fi-color-missing: #94a3b8;

  /* Probability scale */
  --fi-prob-track: var(--surface2);
  --fi-prob-fill: var(--accent2);
  --fi-prob-fill-high: #22c55e;
  --fi-prob-fill-mid: #3b82f6;
  --fi-prob-fill-low: #64748b;
  --fi-prob-text: var(--text);

  /* Confidence */
  --fi-conf-high: #86efac;
  --fi-conf-mid: #fcd34d;
  --fi-conf-low: #fca5a5;

  /* Tier / risk bands */
  --fi-tier-platinum: #e5e4e2;
  --fi-tier-gold: #fbbf24;
  --fi-tier-silver: #94a3b8;
  --fi-tier-bronze: #b45309;
  --fi-tier-punt: #64748b;

  /* Traffic light outcomes */
  --fi-outcome-hit: #86efac;
  --fi-outcome-miss: #fca5a5;
  --fi-outcome-draw: #94a3b8;
  --fi-outcome-pending: #64748b;

  /* Validation states */
  --fi-valid-ok: #166534;
  --fi-valid-warn: #78350f;
  --fi-valid-error: #7f1d1d;
  --fi-valid-info: #1e3a8a;
  --fi-valid-diag: #334155;

  /* Typography & spacing (football intelligence rhythm) */
  --fi-layer-gap: var(--bdna-space-sm, 8px);
  --fi-bar-height: 8px;
  --fi-label-size: var(--bdna-font-sm, 0.7rem);
  --fi-value-size: var(--bdna-font-base, 0.85rem);
  --fi-title-size: var(--bdna-font-lg, 0.95rem);
}

/* ─── Layer shells (match intelligence) ─── */
.fi-layer {
  margin-bottom: var(--fi-layer-gap);
}
.fi-layer-title,
.fi-layer .cockpit-layer-title {
  font-size: var(--fi-title-size);
  font-weight: var(--bdna-font-weight-semibold, 600);
  margin-bottom: var(--bdna-space-xs, 4px);
  display: flex;
  align-items: center;
  gap: 6px;
}
.fi-layer-title::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 1em;
  background: var(--accent2);
  border-radius: 2px;
}

/* Profile summary / validation quality */
.fi-profile-summary {
  border-left: 3px solid var(--fi-color-full);
  padding: var(--bdna-space-sm, 8px) var(--bdna-panel-padding, 14px);
  border-radius: var(--bdna-radius-sm, 8px);
  background: var(--surface);
}
.fi-profile-summary.fi-quality-partial { border-left-color: var(--fi-color-partial); }
.fi-profile-summary.fi-quality-proxy { border-left-color: var(--fi-color-proxy); }
.fi-profile-summary.fi-quality-missing { border-left-color: var(--fi-color-missing); }
.fi-quality-pill {
  display: inline-block;
  font-size: var(--fi-label-size);
  font-weight: var(--bdna-font-weight-bold, 700);
  padding: 2px 8px;
  border-radius: var(--bdna-radius-pill, 999px);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.fi-quality-pill.fi-quality-full { background: #166534; color: var(--fi-color-full); }
.fi-quality-pill.fi-quality-partial { background: #78350f; color: var(--fi-color-partial); }
.fi-quality-pill.fi-quality-proxy { background: #7c2d12; color: var(--fi-color-proxy); }
.fi-quality-pill.fi-quality-missing { background: var(--surface2); color: var(--fi-color-missing); }

/* Team comparison bars */
.fi-compare-row,
.split-compare-row { margin-bottom: 6px; }
.fi-compare-bars,
.split-compare-bars {
  display: flex;
  height: var(--fi-bar-height);
  border-radius: 4px;
  overflow: hidden;
  background: var(--fi-prob-track);
  margin: 4px 0;
}
.fi-bar-home, .split-bar-home { background: var(--accent2); height: 100%; }
.fi-bar-away, .split-bar-away { background: var(--warn); height: 100%; margin-left: auto; }

/* Probability bars */
.fi-probability-bar,
.intel-prob-row {
  display: grid;
  grid-template-columns: 88px 1fr 48px;
  gap: 8px;
  align-items: center;
  margin-bottom: 4px;
}
.fi-prob-track, .intel-prob-track {
  height: var(--fi-bar-height);
  background: var(--fi-prob-track);
  border-radius: 4px;
  overflow: hidden;
}
.fi-prob-fill, .intel-prob-fill {
  height: 100%;
  background: var(--fi-prob-fill);
  border-radius: 4px;
  transition: width var(--bdna-duration-normal, 250ms) var(--bdna-ease-standard, ease);
}
.fi-prob-fill.fi-prob-high { background: var(--fi-prob-fill-high); }
.fi-prob-fill.fi-prob-mid { background: var(--fi-prob-fill-mid); }
.fi-prob-val, .intel-prob-val {
  font-size: var(--fi-value-size);
  font-weight: var(--bdna-font-weight-semibold, 600);
  text-align: right;
}

/* Expected goals */
.fi-expected-goals {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bdna-space-md, 12px);
  align-items: baseline;
}
.fi-lambda {
  font-size: var(--fi-value-size);
}
.fi-lambda strong {
  color: var(--accent);
  font-size: var(--bdna-font-xl, 1.25rem);
}

/* Scoreline matrix */
.fi-scoreline-row,
.score-land-row {
  display: grid;
  grid-template-columns: 52px 1fr 48px;
  gap: 8px;
  align-items: center;
  margin-bottom: 3px;
}
.fi-scoreline-track, .score-land-track {
  height: var(--fi-bar-height);
  background: var(--fi-prob-track);
  border-radius: 4px;
  overflow: hidden;
}
.fi-scoreline-fill, .score-land-fill {
  height: 100%;
  background: var(--fi-prob-fill-mid);
  border-radius: 4px;
}
.fi-scoreline-row.fi-scoreline-top .fi-scoreline-fill,
.score-land-row.score-land-top .score-land-fill {
  background: var(--fi-prob-fill-high);
}

/* Goal distribution / histogram */
.fi-hist-col, .cockpit-hist-col { min-width: 0; }
.fi-hist-row, .cockpit-hist-row {
  display: grid;
  grid-template-columns: 24px 1fr 40px;
  gap: 6px;
  align-items: center;
  margin-bottom: 2px;
}
.fi-hist-fill, .cockpit-hist-fill {
  height: var(--fi-bar-height);
  background: var(--fi-prob-fill);
  border-radius: 3px;
}

/* Confidence */
.fi-confidence {
  font-size: var(--fi-label-size);
  color: var(--muted);
}
.fi-confidence strong {
  color: var(--fi-conf-mid);
  font-weight: var(--bdna-font-weight-bold, 700);
}
.fi-confidence.fi-conf-high strong { color: var(--fi-conf-high); }
.fi-confidence.fi-conf-low strong { color: var(--fi-conf-low); }

/* Tier / risk band */
.fi-tier,
.tier-badge.fi-tier {
  display: inline-block;
  font-size: var(--fi-label-size);
  font-weight: var(--bdna-font-weight-bold, 700);
  padding: 2px 8px;
  border-radius: var(--bdna-radius-pill, 999px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.fi-tier-platinum, .tier-platinum.fi-tier { background: rgba(229, 228, 226, 0.2); color: var(--fi-tier-platinum); }
.fi-tier-gold, .tier-gold.fi-tier { background: rgba(251, 191, 36, 0.15); color: var(--fi-tier-gold); }
.fi-tier-silver, .tier-silver.fi-tier { background: rgba(148, 163, 184, 0.15); color: var(--fi-tier-silver); }
.fi-tier-bronze, .tier-bronze.fi-tier { background: rgba(180, 83, 9, 0.15); color: var(--fi-tier-bronze); }
.fi-tier-punt, .tier-punt.fi-tier { background: rgba(100, 116, 139, 0.15); color: var(--fi-tier-punt); }

/* Traffic light outcomes */
.fi-traffic-light,
.result-badge.fi-traffic-light {
  display: inline-block;
  font-size: var(--fi-label-size);
  font-weight: var(--bdna-font-weight-bold, 700);
  padding: 2px 8px;
  border-radius: var(--bdna-radius-pill, 999px);
  letter-spacing: 0.04em;
}
.fi-traffic-hit, .result-badge.hit.fi-traffic-light { background: #166534; color: var(--fi-outcome-hit); }
.fi-traffic-miss, .result-badge.miss.fi-traffic-light { background: #7f1d1d; color: var(--fi-outcome-miss); }
.fi-traffic-draw, .result-badge.draw.fi-traffic-light { background: var(--surface2); color: var(--fi-outcome-draw); }

/* Formula analyst */
.fi-formula-table { width: 100%; border-collapse: collapse; font-size: var(--fi-label-size); }
.fi-formula-table th { text-align: left; color: var(--muted); padding: 4px 6px; border-bottom: 1px solid var(--surface2); }
.fi-formula-table td { padding: 4px 6px; border-bottom: 1px solid rgba(51, 65, 85, 0.5); }
.fi-formula-consensus { font-size: var(--fi-value-size); margin: 4px 0; }
.fi-formula-disagree { color: var(--warn); font-size: var(--fi-label-size); }

/* Validation / feed status */
.fi-validation-banner {
  padding: var(--bdna-space-sm, 8px) var(--bdna-panel-padding, 14px);
  border-radius: var(--bdna-radius-sm, 8px);
  font-size: var(--fi-label-size);
  margin-bottom: var(--fi-layer-gap);
}
.fi-validation-warn { background: rgba(245, 158, 11, 0.12); border: 1px solid var(--warn); }
.fi-validation-info { background: rgba(59, 130, 246, 0.12); border: 1px solid var(--accent2); }
.fi-validation-error { background: rgba(239, 68, 68, 0.12); border: 1px solid #ef4444; }
.fi-validation-success { background: rgba(34, 197, 94, 0.12); border: 1px solid var(--accent); }
.fi-validation-diagnostic { background: rgba(51, 65, 85, 0.5); border: 1px solid var(--surface2); }
.fi-feed-pill {
  display: inline-block;
  font-size: var(--fi-label-size);
  font-weight: var(--bdna-font-weight-bold, 700);
  padding: 2px 8px;
  border-radius: var(--bdna-radius-pill, 999px);
}
.fi-feed-ok, .feed-status-ok { background: #166534; color: #86efac; }
.fi-feed-stale, .feed-status-stale { background: #78350f; color: #fcd34d; }
.fi-feed-disabled, .feed-status-disabled { background: var(--surface2); color: var(--muted); }
.fi-feed-error, .feed-status-error { background: #7f1d1d; color: #fca5a5; }

/* Team comparison panel */
.fi-team-compare {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--bdna-space-sm, 8px);
  align-items: start;
}
@media (max-width: 480px) {
  .fi-probability-bar, .intel-prob-row,
  .fi-scoreline-row, .score-land-row {
    grid-template-columns: 72px 1fr 44px;
  }
  .fi-team-compare { grid-template-columns: 1fr; }
  .fi-team-compare .fi-vs { display: none; }
}
