/* === CONTRAST FIX — Sunlight & Arm's Length Readability ===
   Loaded LAST. Overrides everything.
   Created 2026-03-03 — all colors WCAG AA on dark backgrounds.
*/

/* ── Win % — THE hero number, must pop ── */
.pred-prob, .prob-pct, .prob-val, .win-prob,
.sb-pred strong, .num.pred,
.prob-labels .p1, .prob-labels .p2 {
  color: #ffffff !important;
  font-weight: 900 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}

/* ── Badge colors — BRIGHT for sunlight ── */

/* Upset Watch: bright coral-red */
.alert-upset {
  color: #ff6b6b !important;
  background: rgba(255,107,107,0.2) !important;
  border: 1px solid rgba(255,107,107,0.5) !important;
  font-weight: 800 !important;
  text-shadow: 0 0 8px rgba(255,107,107,0.4);
}

/* Toss-Up: bright amber */
.alert-tossup {
  color: #ffd54f !important;
  background: rgba(255,213,79,0.2) !important;
  border: 1px solid rgba(255,213,79,0.5) !important;
  font-weight: 800 !important;
  text-shadow: 0 0 6px rgba(255,213,79,0.3);
}

/* Value: bright pink */
.alert-value {
  color: #f48fb1 !important;
  background: rgba(244,143,177,0.2) !important;
  border: 1px solid rgba(244,143,177,0.5) !important;
  font-weight: 800 !important;
  text-shadow: 0 0 6px rgba(244,143,177,0.3);
}

/* Brick Favorite: bright sky blue (was grey #9e9e9e!) */
.alert-brick {
  color: #64b5f6 !important;
  background: rgba(100,181,246,0.2) !important;
  border: 1px solid rgba(100,181,246,0.5) !important;
  font-weight: 800 !important;
  text-shadow: 0 0 6px rgba(100,181,246,0.3);
}

/* Lean: bright mint green */
.alert-lean {
  color: #69f0ae !important;
  background: rgba(105,240,174,0.2) !important;
  border: 1px solid rgba(105,240,174,0.5) !important;
  font-weight: 800 !important;
  text-shadow: 0 0 6px rgba(105,240,174,0.3);
}

/* Model Edge: neon green with glow */
.model-edge-badge, .edge-badge, .edge-indicator,
.edge-value.edge-positive, .edge-label {
  color: #69f0ae !important;
  text-shadow: 0 0 8px rgba(105,240,174,0.4);
  font-weight: 800 !important;
}

/* Override badge: bright purple */
.override-badge {
  color: #ea80fc !important;
  font-weight: 800 !important;
}

/* Risk badge: bright orange */
.risk-badge {
  color: #ffab40 !important;
  font-weight: 800 !important;
}

/* ── Kill all grey-on-grey text ── */

/* Body/meta text: from #666/#777 → #9e9e9e minimum */
.card p, .gs-item p, .pred-card p, .dp-card p,
.card-event, .card-round, .card-court, .card-time,
.match-info, .match-details, .meta-text,
.sb-round, .sb-court, .sb-status {
  color: #9e9e9e !important;
}

/* Labels and secondary text: from #555/#666 → #b0b0b0 */
.chem-label, .vol-label, .pj-label, .proj-label,
.reason-text, .line-move-detail, .futures-sub,
.mp-accuracy-detail, .mp-stat-label, .mp-match-gap, .mp-nodata {
  color: #b0b0b0 !important;
}

/* Team/player names: must be near-white */
.tname, .team-name, .pred-name, .dp-name, .bb-name,
.gs-item-name, .futures-name {
  color: #f5f5f5 !important;
}

/* Moneylines: brighter + bolder */
.pred-odds, .bb-ml-fav, .bb-ml-und, .moneyline {
  color: #e0e0e0 !important;
  font-weight: 700 !important;
}

/* Bet slip text — from rgba 0.25-0.35 to readable */
.bs-empty-text, .bs-disclaimer {
  color: rgba(255,255,255,0.55) !important;
}
.bs-match-event {
  color: rgba(255,255,255,0.5) !important;
}
.bs-section-label {
  color: rgba(255,255,255,0.6) !important;
}

/* Public picks tabs */
.pp-btn {
  color: #bbb !important;
}
.pp-btn.active, .pp-btn:hover {
  color: #fff !important;
}

/* ── Card backgrounds — bump for definition ── */
.pred-card, .dp-card, .gs-item, .bb-card, .card,
.bettable-match, .futures-division {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* Score projections bg bump */
.match-proj {
  background: rgba(255,255,255,0.05) !important;
}
