body { background: #0f1117; color: #e6e8ee; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.card { background: #1a1d24; border: 1px solid #232838; }
.card-sub { background: #0f1117; border: 1px solid #232838; }
.field { background: #0b0d13; border: 1px solid #2a3046; color: #e6e8ee; }
.field:focus { outline: none; border-color: #5b8def; box-shadow: 0 0 0 2px rgba(91,141,239,.15); }
.btn-primary { background: #5b8def; }
.btn-primary:hover { background: #4577de; }
.btn-primary:disabled { background: #2a3046; cursor: not-allowed; }
.err { background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.35); color: #fca5a5; }

.dot { width: 10px; height: 10px; border-radius: 9999px; display: inline-block; }
.badge-live { background: rgba(16,185,129,.15); color: #34d399; border: 1px solid rgba(16,185,129,.35); }
.badge-offline { background: rgba(239,68,68,.12); color: #fca5a5; border: 1px solid rgba(239,68,68,.35); }
.badge-mode { background: rgba(91,141,239,.10); color: #93b4ff; border: 1px solid rgba(91,141,239,.30); }
.pnl-pos { color: #34d399; }
.pnl-neg { color: #fca5a5; }
.pnl-zero { color: #94a3b8; }

.skeleton { background: linear-gradient(90deg, #1a1d24 0%, #232838 50%, #1a1d24 100%); background-size: 200% 100%; animation: shimmer 1.4s linear infinite; }
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

@media (max-width: 640px) {
  .bots-grid { grid-template-columns: 1fr !important; }
}
