/*
====================================================================
ASSET: dashboard_dist/css/dashboard.css
PURPOSE: Custom styles, scrollbars, splitter, and animations for Dashboard.
LINE BUDGET: ~70 lines
====================================================================
*/

/* Custom Slim Smooth Scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #eef2f6;
  border-radius: 4px;
}
.dark ::-webkit-scrollbar-track {
  background: #0f172a;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.dark ::-webkit-scrollbar-thumb {
  background: #334155;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Sticky Data Grid Table Cells */
.sticky-col-header {
  position: sticky;
  left: 0;
  z-index: 25;
  background-color: #f8fafc;
  box-shadow: 2px 0 4px -2px rgba(0,0,0,0.06);
}
.dark .sticky-col-header {
  background-color: #1e293b;
  box-shadow: 2px 0 4px -2px rgba(0,0,0,0.3);
}
.sticky-col-cell {
  position: sticky;
  left: 0;
  z-index: 15;
  background-color: inherit;
  box-shadow: 2px 0 4px -2px rgba(0,0,0,0.06);
}
.dark .sticky-col-cell {
  box-shadow: 2px 0 4px -2px rgba(0,0,0,0.3);
}

/* Draggable Splitter Handle */
.split-resizer {
  width: 8px;
  cursor: col-resize;
  user-select: none;
  transition: background-color 0.2s;
}
.split-resizer:hover, .split-resizer.active {
  background-color: #6366f1;
}

/* Pulse Dot Animation */
@keyframes pulse-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
.pulse-indicator {
  animation: pulse-subtle 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
