:root {
  --bg: #08111f;
  --bg-soft: #101b2d;
  --panel: rgba(16, 27, 45, 0.82);
  --panel-border: rgba(255,255,255,0.08);
  --text: #ecf3ff;
  --muted: #9eb0cd;
  --green: #16c172;
  --green-2: #0ea765;
}
* { box-sizing: border-box; }
body {
  font-family: 'Inter', sans-serif;
  color: var(--text);
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(22,193,114,.17), transparent 25%),
    radial-gradient(circle at top left, rgba(44,102,255,.14), transparent 20%),
    linear-gradient(180deg, #08111f 0%, #091523 100%);
}
a { color: #cfe0ff; text-decoration: none; }
a:hover { color: #fff; }
.glass-nav { background: rgba(8,17,31,.78); backdrop-filter: blur(12px); }
.brand-dot { width: 12px; height: 12px; border-radius: 999px; display: inline-block; background: linear-gradient(135deg, var(--green), #8fffcb); box-shadow: 0 0 18px rgba(22,193,114,.55); }
.hero-surface, .panel-card, .mini-stat, .bet-market-card { background: var(--panel); border: 1px solid var(--panel-border); border-radius: 24px; box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.hero-title { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.02; font-weight: 800; max-width: 10ch; }
.hero-copy, .text-secondary { color: var(--muted)!important; }
.eyebrow { color: #9ce7bf; text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; font-weight: 700; }
.mini-stat { padding: 1.1rem 1.25rem; }
.mini-stat span { display:block; color: var(--muted); font-size: .85rem; margin-bottom: .4rem; }
.mini-stat strong { font-size: 1.45rem; }
.match-title { font-size: 1.25rem; font-weight: 700; }
.match-title span { color: var(--muted); font-weight: 500; }
.odds-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: .75rem; }
.odd-chip { padding: .85rem 1rem; border-radius: 16px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); display:flex; justify-content:space-between; align-items:center; }
.credits-pill { border: 1px solid rgba(255,255,255,.08); border-radius: 999px; padding-inline: .9rem!important; background: rgba(255,255,255,.04); }
.alert-modern { border: 0; border-radius: 18px; margin-top: 1rem; }
.auth-wrap { max-width: 720px; }
.auth-card { max-width: 560px; margin: 2rem auto; }
.form-control, .input-group-text { background: rgba(8,17,31,.75); color: var(--text); border-color: rgba(255,255,255,.08); min-height: 48px; }
.form-control:focus { background: rgba(8,17,31,.9); color: var(--text); border-color: rgba(22,193,114,.6); box-shadow: 0 0 0 .2rem rgba(22,193,114,.14); }
.bet-market-card { padding: 1rem; }
.odd-value { font-weight: 800; color: #a7ffcf; }
.tx-item { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05); border-radius: 16px; padding: .95rem 1rem; }
.sidebar-offset { top: 96px; }
.table-dark { --bs-table-bg: transparent; --bs-table-striped-bg: rgba(255,255,255,.03); --bs-table-border-color: rgba(255,255,255,.06); }
.btn-success { background: linear-gradient(135deg, var(--green), var(--green-2)); border: 0; box-shadow: 0 10px 30px rgba(22,193,114,.22); }
.btn-outline-light { border-color: rgba(255,255,255,.18); }
@media (max-width: 991px) { .hero-title { max-width: unset; } }
