/* ------------------------------------
   Dashboard Specific Styles
------------------------------------ */
.mr-2 { margin-right: 0.5rem; }
.mr-4 { margin-right: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.p-0 { padding: 0 !important; }
.p-md { padding: var(--space-md); }
.px-0 { padding-left: 0; padding-right: 0; }
.gap-xs { gap: var(--space-xs); }
.overflow-hidden { overflow: hidden; }

.border-b { border-bottom: 1px solid var(--border-subtle); }

.border-warning { border-color: rgba(245, 158, 11, 0.3) !important; }

/* Charts */
.chart-container {
  height: 200px;
  width: 100%;
  position: relative;
  background-color: rgba(0,0,0,0.2);
}

.chart-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* Incident Rows */
.incident-row {
  transition: background-color 0.15s;
}

.incident-row.hover\:bg:hover {
  background-color: var(--bg-surface-elevated);
}

/* Badge dot animation for navbar */
.badge-normal {
  background-color: rgba(16, 185, 129, 0.1);
  color: var(--status-normal);
  border-color: rgba(16, 185, 129, 0.2);
}
.pulse-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--status-normal);
  margin-right: 6px;
  box-shadow: 0 0 6px var(--status-normal);
  animation: pulse-dot 2s infinite;
}

@keyframes pulse-dot {
  0% { transform: scale(0.95); opacity: 0.5; }
  50% { transform: scale(1); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.5; }
}

.text-purple { color: #a855f7; }
.text-green { color: #10b981; }
.text-warning { color: #f59e0b; }
