:root {
  --chart-line: #2d9248;
  --chart-fill-start: rgba(45, 146, 72, 0.12);
  --chart-fill-end: rgba(45, 146, 72, 0.01);
  --chart-grid: rgba(15, 23, 41, 0.06);
  --chart-tick: #8e9bab;
  --chart-tooltip-bg: #0f1729;
  --chart-tooltip-text: #eef1f5;
  --positive: #2d9248;
  --negative: #dc2626;
}

.htmx-indicator {
  opacity: 0;
  transition: opacity 150ms ease-in;
}
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
  opacity: 1;
}
.htmx-request .default-label {
  display: none;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-in {
  animation: fadeIn 200ms ease-out;
}

@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.skeleton {
  background: linear-gradient(90deg, #eef1f5 25%, #e2e7ed 50%, #eef1f5 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: 0.5rem;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: #cdd4de;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #b0bac9;
}
