/* CS2 Match CMS – Bootstrap dark theme overrides */
:root {
  --bg: #0f0f12;
  --bg-card: #16161c;
  --border: #2a2a32;
  --text: #e8e8ec;
  --text-muted: #8888a0;
  --accent: #00d4aa;
  --accent-hover: #00f0c0;
  --danger: #e05f5f;
  --steam: #1b2838;
}

body { background: var(--bg) !important; color: var(--text) !important; min-height: 100vh; }
a { color: var(--accent); }
a:hover { color: var(--accent-hover); }

/* Navbar */
.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.85) !important; }
.navbar-dark .navbar-nav .nav-link:hover { color: var(--accent) !important; }
.btn-steam { background: var(--steam) !important; color: #fff !important; border: none; }
.btn-steam:hover { background: #2a475e !important; color: #fff !important; }

/* Cards */
.card { background: var(--bg-card); border-color: var(--border) !important; color: var(--text); }
.card-header { background: rgba(0,0,0,.2); border-color: var(--border) !important; color: var(--text); }
.card-body { color: var(--text); }

/* Buttons */
.btn-primary { background: var(--accent) !important; border-color: var(--accent) !important; color: #0f0f12 !important; }
.btn-primary:hover { background: var(--accent-hover) !important; border-color: var(--accent-hover) !important; color: #0f0f12 !important; }
.btn-outline-primary { border-color: var(--accent); color: var(--accent); }
.btn-outline-primary:hover { background: var(--accent); color: #0f0f12; }
.btn-danger { background: var(--danger) !important; border-color: var(--danger) !important; }
.btn-secondary { background: #495057; border-color: #495057; }

/* Forms */
.form-control, .form-select { background: var(--bg); border-color: var(--border); color: var(--text); }
.form-control:focus, .form-select:focus { background: var(--bg); border-color: var(--accent); color: var(--text); box-shadow: 0 0 0 0.2rem rgba(0,212,170,.25); }
.form-control::placeholder { color: var(--text-muted); }
.form-label { color: var(--text-muted); }

/* Tables */
.table { color: var(--text); }
.table-dark { background: transparent; --bs-table-bg: var(--bg-card); --bs-table-border-color: var(--border); --bs-table-striped-bg: rgba(0,0,0,.1); }
.table > :not(caption) > * > * { border-color: var(--border); color: var(--text); }
.table thead th { color: var(--text-muted); border-color: var(--border); }

/* Badges */
.badge.bg-secondary.text-accent { color: var(--accent) !important; background: rgba(0,212,170,.15) !important; }

/* List group */
.list-group-item { background: var(--bg-card); border-color: var(--border); color: var(--text); }
.list-group-item-action:hover { background: rgba(255,255,255,.05); color: var(--text); }

/* Alerts */
.alert-success { background: rgba(34, 80, 50, .5); border-color: #2d5a2d; color: #90ee90; }
.alert-danger, .alert-error { background: rgba(80, 30, 30, .5); border-color: #5a2a2a; color: #e05f5f; }

/* Status badges */
.status-pending { background: #3a3a45; }
.status-waiting_server { background: #5a5a6a; }
.status-live { background: #2d5a2d; }
.status-finished { background: #2a2a32; }
.status-cancelled { background: #4a2a2a; }

/* Utilities */
.text-accent { color: var(--accent) !important; }

/* ELO */
.elo-num { color: var(--accent); font-weight: 600; }
.elo-gain { color: #70d090; font-weight: 600; }
.elo-loss { color: #e05f5f; font-weight: 600; }

/* Member chips */
.member-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(255,255,255,.06);
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  font-size: 0.9rem;
  margin: 0.15rem;
}
.member-chip img { width: 24px; height: 24px; border-radius: 4px; }

/* Copy link */
.copy-link { font-size: 0.85rem; color: var(--text-muted); word-break: break-all; }
