/* ===== Sidebar ===== */
.sidebar {
  width: 230px;
  min-width: 230px;
  background: #161b22;
  border-right: 1px solid #30363d;
}

.sidebar-brand {
  font-size: 1.1rem;
  font-weight: 700;
  color: #58a6ff;
  text-decoration: none;
  display: flex;
  align-items: center;
}
.sidebar-brand:hover { color: #79b8ff; }

.sidebar .nav-link {
  color: #8b949e;
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  font-size: 0.9rem;
  transition: all .15s;
}
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
  color: #e6edf3;
  background: #21262d;
}
.sidebar .nav-link.active {
  color: #58a6ff;
  font-weight: 600;
}
.sidebar-footer { margin-top: auto; }

/* ===== Main content ===== */
main {
  background: #0d1117;
  min-height: 100vh;
}

/* ===== Cards ===== */
.card {
  background: #161b22;
  border: 1px solid #30363d;
  border-radius: 12px;
}

/* ===== Stat cards ===== */
.stat-card {
  background: #161b22;
  border: 1px solid #30363d;
  border-radius: 12px;
  padding: 1.25rem;
}
.stat-card.accent {
  border-color: #388bfd;
  background: #0c2031;
}
.stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: #e6edf3;
  line-height: 1;
}
.stat-card.accent .stat-value { color: #58a6ff; }
.stat-label {
  color: #8b949e;
  font-size: 0.85rem;
  margin-top: 0.25rem;
}
.stat-sub {
  color: #6e7681;
  font-size: 0.75rem;
}

/* ===== Campaign cards ===== */
.campaign-card {
  transition: border-color .15s, transform .15s;
}
.campaign-card:hover {
  border-color: #388bfd;
  transform: translateY(-2px);
}

/* ===== Tables ===== */
.table {
  --bs-table-bg: transparent;
  --bs-table-hover-bg: #21262d;
}

/* ===== Login ===== */
.login-card {
  width: 100%;
  max-width: 380px;
  background: #161b22;
  border: 1px solid #30363d;
  border-radius: 16px;
}

/* ===== Opacity ===== */
.opacity-60 { opacity: .6; }

/* ===== Post type buttons ===== */
.type-btn {
  font-size: 0.8rem;
  border-radius: 8px;
  border-color: #30363d;
  color: #8b949e;
}
.btn-check:checked + .type-btn {
  border-color: #388bfd;
  background: #0c2031;
  color: #58a6ff;
}

/* ===== Drag handle ===== */
.drag-handle:hover { color: #58a6ff !important; }

/* ===== Badges ===== */
.badge { font-weight: 500; }

/* ===== Alerts ===== */
.alert { border-radius: 10px; }

/* ===== Post item ===== */
.post-item {
  cursor: default;
  transition: border-color .1s;
}
.post-item:hover { border-color: #388bfd; }

/* ===== Scrollbar ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0d1117; }
::-webkit-scrollbar-thumb { background: #30363d; border-radius: 3px; }
