body { background: #0d1117; color: #e6edf3; }

/* ── Regime banner ─────────────────────────────────────────── */
.regime-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  border-radius: 10px;
  border: 1px solid;
}
.regime-banner.regime-success  { background: rgba(63,185,80,.10); border-color: #3fb950 !important; }
.regime-banner.regime-danger   { background: rgba(248,81,73,.10);  border-color: #f85149 !important; }
.regime-banner.regime-warning  { background: rgba(210,153,34,.10); border-color: #d29922 !important; }
.regime-banner.regime-secondary{ background: rgba(139,148,158,.08);border-color: #8b949e !important; }
.regime-icon { font-size: 2rem; }
.regime-banner.regime-success  .regime-icon { color: #3fb950; }
.regime-banner.regime-danger   .regime-icon { color: #f85149; }
.regime-banner.regime-warning  .regime-icon { color: #d29922; }
.regime-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: .08em; color: #8b949e; }
.regime-name  { font-size: 1.4rem; font-weight: 700; letter-spacing: .04em; line-height: 1.1; }
.regime-banner.regime-success  .regime-name { color: #3fb950; }
.regime-banner.regime-danger   .regime-name { color: #f85149; }
.regime-banner.regime-warning  .regime-name { color: #d29922; }
.regime-desc  { font-size: 0.8rem; color: #8b949e; }

/* ── Active-position card pulse ────────────────────────────── */
@keyframes position-pulse {
  0%, 100% { box-shadow: 0 0 0 0   rgba(63,185,80,.5); }
  50%       { box-shadow: 0 0 0 8px rgba(63,185,80,.0); }
}
.card-position-active {
  border-color: #3fb950 !important;
  animation: position-pulse 2.5s ease-in-out infinite;
}

/* Live dot next to coin name */
@keyframes dot-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .3; }
}
.live-dot {
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #3fb950;
  animation: dot-pulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}

/* ── Win-rate bar ───────────────────────────────────────────── */
.win-bar-track {
  height: 4px;
  background: #21262d;
  border-radius: 2px;
  overflow: hidden;
}
.win-bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width .4s ease;
}

/* ── P&L spark bar ──────────────────────────────────────────── */
.pnl-spark {
  height: 6px;
  background: #21262d;
  border-radius: 3px;
  overflow: hidden;
  min-width: 60px;
}
.pnl-spark-fill {
  height: 100%;
  border-radius: 3px;
}

/* ── Round-trip row tints ───────────────────────────────────── */
.trip-win  { background: rgba(63,185,80,.05)  !important; }
.trip-loss { background: rgba(248,81,73,.05)  !important; }
.trip-open { background: rgba(210,153,34,.05) !important; }

.navbar { border-bottom: 1px solid #30363d !important; }

.card {
  background: #161b22;
  border-color: #30363d !important;
}
.card-header {
  background: #1c2128;
  border-bottom-color: #30363d;
}
.card-footer {
  background: #1c2128;
  border-top-color: #30363d;
}

.stat-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8b949e;
}
.stat-value {
  font-size: 1.15rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.position-block {
  background: #1c2128;
  border: 1px solid #30363d;
}

.letter-spacing { letter-spacing: 0.08em; }

.table { --bs-table-bg: transparent; }
.table-hover tbody tr:hover { background: #1c2128; }
.table th { border-bottom-color: #30363d; font-size: 0.75rem; text-transform: uppercase; }
.table td { border-bottom-color: #21262d; vertical-align: middle; }

.badge { font-size: 0.7rem; font-weight: 500; }

.form-control, .form-select {
  background: #161b22;
  border-color: #30363d;
  color: #e6edf3;
}
.form-control:focus, .form-select:focus {
  background: #161b22;
  border-color: #58a6ff;
  color: #e6edf3;
  box-shadow: 0 0 0 0.2rem rgba(88,166,255,.25);
}

.btn-outline-primary { border-color: #388bfd; color: #58a6ff; }
.btn-outline-primary:hover { background: #388bfd22; }
.btn-outline-secondary { border-color: #30363d; color: #8b949e; }
.btn-outline-secondary:hover { background: #21262d; }
