:root {
  --bg-primary: #0d1117;
  --bg-card: #161b22;
  --bg-card-header: #1c2128;
  --border: #30363d;
  --text-muted: #6e7681;
  --green: #39d353;
  --red: #da3633;
  --yellow: #d29922;
}

body {
  background-color: var(--bg-primary);
  font-size: 0.875rem;
}

.card {
  background-color: var(--bg-card);
  border-color: var(--border);
}

.card-header {
  background-color: var(--bg-card-header);
  border-bottom-color: var(--border);
}

.stat-card {
  transition: transform 0.15s ease;
}

.stat-card:hover {
  transform: translateY(-2px);
}

.table-dark {
  --bs-table-bg: var(--bg-card);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.04);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
}

.table th {
  color: var(--text-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  border-bottom-color: var(--border) !important;
  white-space: nowrap;
}

.table td {
  border-color: var(--border);
  vertical-align: middle;
}

.navbar {
  border-bottom: 1px solid var(--border);
}

.positions-table th,
.positions-table td {
  white-space: nowrap;
  font-size: 0.8rem;
}

.breaker-banner {
  background: #5a1d1d;
  border: none;
  border-radius: 0;
  color: #ffb3b3;
}

.font-monospace {
  font-size: 0.8rem;
}

/* Scrollable tables on small screens */
.table-responsive {
  -webkit-overflow-scrolling: touch;
}

/* Loading spinner integration */
.htmx-indicator {
  display: none;
}
.htmx-request .htmx-indicator {
  display: inline-block;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg-primary); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }

/* Chart area */
canvas {
  background: transparent !important;
}

@media (max-width: 576px) {
  .navbar-brand span { display: none; }
  .fs-5 { font-size: 1rem !important; }
}
