:root {
  --cwi-bg: #0f1420;
  --cwi-surface: #161d2e;
  --cwi-surface-2: #1c2438;
  --cwi-border: #262f45;
  --cwi-text: #e6e9f0;
  --cwi-text-muted: #8891a7;
  --cwi-primary: #3b82f6;
  --cwi-green: #22c55e;
  --cwi-red: #ef4444;
  --cwi-yellow: #eab308;
  --cwi-orange: #f97316;
}

body {
  background: var(--cwi-bg);
  color: var(--cwi-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 0.92rem;
}

.app-navbar {
  background: var(--cwi-surface);
  border-bottom: 1px solid var(--cwi-border);
  padding: 0.6rem 0;
}

.navbar-brand {
  color: var(--cwi-text) !important;
  font-weight: 700;
  letter-spacing: 0.03em;
  font-size: 1rem;
}

.nav-link {
  color: var(--cwi-text-muted) !important;
  font-size: 0.88rem;
}

.nav-link.active, .nav-link:hover {
  color: var(--cwi-text) !important;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}

.status-active { background: var(--cwi-green); }
.status-inactive { background: var(--cwi-text-muted); }

.card {
  background: var(--cwi-surface);
  border: 1px solid var(--cwi-border);
  border-radius: 10px;
  color: var(--cwi-text);
}

.card .card-body { padding: 1rem 1.1rem; }

.stat-card .stat-label {
  color: var(--cwi-text-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.stat-card .stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 0.15rem;
}

.text-positive { color: var(--cwi-green) !important; }
.text-negative { color: var(--cwi-red) !important; }

.table {
  color: var(--cwi-text);
  font-size: 0.86rem;
}

.table > :not(caption) > * > * {
  background: transparent;
  border-bottom-color: var(--cwi-border);
}

.table thead th {
  color: var(--cwi-text-muted);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  border-bottom: 1px solid var(--cwi-border);
}

.table-hover tbody tr:hover {
  background: var(--cwi-surface-2);
}

a { color: var(--cwi-primary); text-decoration: none; }
a:hover { color: #60a5fa; }

.badge-type {
  font-size: 0.7rem;
  padding: 0.3em 0.55em;
  border-radius: 5px;
  font-weight: 600;
}

.badge-BUY, .badge-TRANSFER_IN { background: rgba(34,197,94,0.15); color: var(--cwi-green); }
.badge-SELL, .badge-TRANSFER_OUT { background: rgba(239,68,68,0.15); color: var(--cwi-red); }
.badge-SWAP { background: rgba(59,130,246,0.15); color: var(--cwi-primary); }
.badge-APPROVE { background: rgba(234,179,8,0.15); color: var(--cwi-yellow); }
.badge-UNKNOWN { background: rgba(136,145,167,0.15); color: var(--cwi-text-muted); }

.badge-level-INFO { background: rgba(59,130,246,0.15); color: var(--cwi-primary); }
.badge-level-WARNING { background: rgba(234,179,8,0.15); color: var(--cwi-yellow); }
.badge-level-HIGH { background: rgba(249,115,22,0.15); color: var(--cwi-orange); }
.badge-level-CRITICAL { background: rgba(239,68,68,0.18); color: var(--cwi-red); }

.badge-cat-MEME { background: rgba(249,115,22,0.15); color: var(--cwi-orange); }
.badge-cat-ALTCOIN { background: rgba(59,130,246,0.15); color: var(--cwi-primary); }
.badge-cat-STABLECOIN { background: rgba(34,197,94,0.15); color: var(--cwi-green); }
.badge-cat-UNCATEGORIZED { background: rgba(136,145,167,0.15); color: var(--cwi-text-muted); }

.activity-feed-item {
  border-left: 2px solid var(--cwi-border);
  padding: 0.5rem 0.8rem;
  margin-bottom: 0.4rem;
}

.activity-feed-item .time { color: var(--cwi-text-muted); font-size: 0.75rem; }

.form-control, .form-select {
  background: var(--cwi-surface-2);
  border: 1px solid var(--cwi-border);
  color: var(--cwi-text);
}

.form-control:focus, .form-select:focus {
  background: var(--cwi-surface-2);
  color: var(--cwi-text);
  border-color: var(--cwi-primary);
  box-shadow: 0 0 0 0.2rem rgba(59,130,246,0.2);
}

.btn-primary { background: var(--cwi-primary); border-color: var(--cwi-primary); }

.section-title {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  color: var(--cwi-text);
}

.text-muted-2 { color: var(--cwi-text-muted); }

.chain-badge {
  font-size: 0.7rem;
  background: var(--cwi-surface-2);
  border: 1px solid var(--cwi-border);
  padding: 0.15em 0.5em;
  border-radius: 5px;
  color: var(--cwi-text-muted);
}
