body {
  background: #111521;
}

.kpi-card {
  text-align: center;
  border-top: 4px solid var(--accent, #3498db);
}

.kpi-value {
  font-weight: 700;
  font-size: 1.8rem;
}

.kpi-label {
  opacity: 0.75;
  font-size: 0.85rem;
}

.login-card {
  background: #1b2030;
}

#map-graph, #cluster-graph, #risk-graph, #project-graph {
  width: 100%;
  min-height: 560px;
}

.role-badge-admin { background-color: #e74c3c !important; }
.role-badge-editor { background-color: #f39c12 !important; }
.role-badge-viewer { background-color: #6c757d !important; }

.table-sm td, .table-sm th { font-size: 0.85rem; }
