/* Custom Mobile-Optimized Dashboard Enhancements */

:root {
  --color-primary: #3b82f6;
  --color-primary-dark: #1d4ed8;
  --color-bg-dark: #0f172a;
  --color-card-dark: #1e293b;
  --color-border-dark: #334155;
}

/* Smooth scrolling and native feel */
html {
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: smooth;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

/* Custom sleek dark scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #0f172a;
}
::-webkit-scrollbar-thumb {
  background: #334155;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #475569;
}

/* Sticky table header support with glass blur */
.sticky-header th {
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Pulse animation for live edge status */
@keyframes pulse-dot {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

.live-indicator {
  animation: pulse-dot 2s infinite;
}

/* Mobile Safe-Area padding for notched devices (iPhone X/12/14/16) */
.safe-pb {
  padding-bottom: env(safe-area-inset-bottom, 1rem);
}
.safe-pt {
  padding-top: env(safe-area-inset-top, 1rem);
}

/* Skeleton Loading Animation */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.skeleton {
  background: linear-gradient(90deg, #1e293b 25%, #334155 50%, #1e293b 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 0.375rem;
}
