:root{
  --bg:#0f1720;
  --surface:#111827;
  --text:#e6eef6;
  --muted:#9aa6b2;
  --accent:#63b3ff;
  --border: rgba(255,255,255,0.06);
}

html, body {
  background: var(--bg) !important;
  color: var(--text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Links */
a, a:visited { color: var(--accent) !important; }
a:hover { opacity: 0.9; }

/* Common containers */
.card, .jumbotron, main {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

.container, .panel {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: none !important;
  box-shadow: none !important;
}

/* Navbar/header/footer */
.navbar, header, .header, footer, .footer {
  background: #0b1220 !important;
  color: var(--muted) !important;
  border-top: 1px solid rgba(255,255,255,0.02);
}

/* Buttons and inputs */
.btn {
  background-color: rgba(255,255,255,0.04) !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}
input, textarea, select {
  background: #0b1220 !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

/* Tables */
table { border-color: var(--border) !important; }
.table thead th { color: var(--text) !important; border-bottom-color: rgba(255,255,255,0.08) !important; }

/* Images */
img { filter: brightness(0.95) contrast(1.05); }

/* Muted text */
.muted, .text-muted { color: var(--muted) !important; }

/* Ensure form validation and other elements remain visible */
.alert, .badge { color: var(--text) !important; }

/* Small responsive tweaks */
@media (prefers-color-scheme: dark) {
  /* Respect user preference if needed (optional) */
}