/* Rapid Football Odds public styles */
.rfo-light { --rfo-bg:#f8fafc; --rfo-card:#ffffff; --rfo-text:#0f172a; --rfo-sub:#475569; --rfo-accent:#0ea5e9; --rfo-odd:#e2e8f0; }
.rfo-dark  { --rfo-bg:#0b1220; --rfo-card:#0f172a; --rfo-text:#e2e8f0; --rfo-sub:#94a3b8; --rfo-accent:#38bdf8; --rfo-odd:#1f2937; }

.rfo-wrapper { background:var(--rfo-bg); color:var(--rfo-text); border-radius:1rem; padding:1rem; box-shadow:0 10px 30px rgba(0,0,0,.08); }
.rfo-header { display:flex; align-items:center; gap:1rem; justify-content:space-between; margin-bottom:1rem; }
.rfo-title { font-size:1.25rem; font-weight:700; letter-spacing:.3px; }
.rfo-search { background:var(--rfo-card); border:1px solid rgba(148,163,184,.2); border-radius:.75rem; padding:.5rem .75rem; color:var(--rfo-text); width:260px; outline:none; }
.rfo-grid-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.rfo-card-item { background:linear-gradient(180deg, var(--rfo-card), transparent) padding-box, radial-gradient(1200px circle at 0 0, rgba(56,189,248,.15), rgba(56,189,248,0)) border-box; border:1px solid rgba(148,163,184,.15); border-radius:1rem; padding:14px; display:flex; flex-direction:column; gap:10px; }
.rfo-match { display:flex; flex-direction:column; gap:4px; }
.rfo-teams { font-weight:700; font-size:1rem; }
.rfo-teams span { opacity:.7; padding:0 .25rem; }
.rfo-date { font-size:.85rem; color:var(--rfo-sub); }
.rfo-bookmaker { font-size:.8rem; color:var(--rfo-accent); font-weight:600; }
.rfo-odds { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.rfo-odd { background:var(--rfo-odd); border-radius:.75rem; padding:.5rem; display:flex; align-items:center; justify-content:space-between; }
.rfo-odd-label { font-size:.85rem; opacity:.85; }
.rfo-odd-num { font-weight:800; }
.rfo-no-odds, .rfo-empty, .rfo-error { background:rgba(239,68,68,.1); color:#ef4444; border:1px dashed rgba(239,68,68,.4); border-radius:.75rem; padding:.75rem; }

/* Admin */
.rfo-settings .rfo-card { background:#fff; border:1px solid #e5e7eb; border-radius:1rem; padding:1rem; margin:1rem 0; }
.rfo-settings .rfo-title { margin-bottom:.75rem; }
.rfo-settings .rfo-grid { display:grid; grid-template-columns:180px 1fr; gap:10px 16px; align-items:center; }
@media (max-width: 640px){
  .rfo-settings .rfo-grid { grid-template-columns:1fr; }
  .rfo-settings .rfo-grid label { margin-top:.5rem; font-weight:600; }
}
