
:root { --brand:#0d6efd; --soft-bg: rgba(13,110,253,.06); }
body { background: var(--bs-body-bg); }
.kpi-card { border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); }
.confidence-bar { height: .6rem; border-radius: .4rem; background: var(--bs-secondary-bg); overflow: hidden; }
.confidence-bar > span { display:block; height:100%; background: linear-gradient(90deg, #20c997, #0d6efd); }
.odds-pill { font-weight:600; }
.pick-badge { font-weight:600; }
.sticky-toolbar { position: sticky; top: .75rem; z-index: 1030; }
.prediction-card:hover { border-color: var(--brand); box-shadow: 0 .25rem 1rem rgba(13,110,253,.15); }
.cursor-pointer { cursor: pointer; }
.hero-bg { background: radial-gradient(1200px 400px at 10% -20%, var(--soft-bg), transparent); }
.bet-badge { background: rgba(13,110,253,.1); border:1px dashed var(--brand); }
.btn-icon { display:inline-flex; align-items:center; gap:.4rem; }
.offcanvas-betslip { width: min(420px, 100vw); }
.empty { opacity:.8; }

/* Compact table on md- */
@media (max-width: 768px) {
  .table thead { display:none; }
  .table tr { display:block; margin-bottom: .75rem; border:1px solid var(--bs-border-color); border-radius:.5rem; overflow:hidden; }
  .table td { display:flex; justify-content:space-between; padding:.5rem .75rem; }
  .table td::before { content: attr(data-label); font-weight:600; color: var(--bs-secondary-color); }
}
