[x-cloak] { display: none !important; }

html.dark { color-scheme: dark; }

.scrollbar-thin::-webkit-scrollbar { height: 6px; width: 6px; }
.scrollbar-thin::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
.scrollbar-thin::-webkit-scrollbar-track { background: transparent; }
html.dark .scrollbar-thin::-webkit-scrollbar-thumb { background: #334155; }

.kanban-col { scrollbar-gutter: stable; }

@keyframes toast-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.toast-in { animation: toast-in .18s ease-out; }

/* ---- Analytics / data-viz tokens ---- */
.viz {
  --viz-track: #eeece7;
  --viz-grid: #e1e0d9;
  --viz-series-standard: #2a78d6;
  --viz-series-hearing: #e34948;
  --viz-ord-1: #86b6ef;
  --viz-ord-2: #5598e7;
  --viz-ord-3: #2a78d6;
  --viz-ord-4: #1c5cab;
  --viz-ord-5: #104281;
  --viz-meter-track: #cde2fb;
  --viz-meter-fill: #2a78d6;
  --viz-good: #0ca30c;
}
html.dark .viz {
  --viz-track: #26251f;
  --viz-grid: #2c2c2a;
  --viz-series-standard: #3987e5;
  --viz-series-hearing: #e66767;
  --viz-ord-1: #86b6ef;
  --viz-ord-2: #6da7ec;
  --viz-ord-3: #3987e5;
  --viz-ord-4: #256abf;
  --viz-ord-5: #184f95;
  --viz-meter-track: #0d366b;
  --viz-meter-fill: #3987e5;
  --viz-good: #0ca30c;
}

.viz-rail { position: relative; height: 12px; border-radius: 2px; background: var(--viz-track); overflow: hidden; }
.viz-fill { height: 100%; border-radius: 0 4px 4px 0; transition: width .5s cubic-bezier(.22,1,.36,1); }
.viz-row { border-radius: 8px; padding: 6px 6px 6px 4px; margin: 0 -6px 0 -4px; cursor: default; transition: background-color .15s ease; }
.viz-row:hover, .viz-row:focus-visible { background: rgba(99,102,241,0.06); }
html.dark .viz-row:hover, html.dark .viz-row:focus-visible { background: rgba(99,102,241,0.10); }
.viz-row:focus { outline: none; }
.viz-row:focus-visible { outline: 2px solid #6366f1; outline-offset: 1px; }

.viz-meter-track { position: relative; height: 14px; border-radius: 9999px; background: var(--viz-meter-track); overflow: hidden; }
.viz-meter-fill { height: 100%; border-radius: 9999px; background: var(--viz-meter-fill); transition: width .6s cubic-bezier(.22,1,.36,1); }

.viz-legend-dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px; }

.viz-tooltip {
  position: fixed; z-index: 60; pointer-events: none;
  background: #0b0b0b; color: #fff; border-radius: 8px; padding: 7px 10px;
  font-size: 12px; line-height: 1.35; box-shadow: 0 4px 16px rgba(0,0,0,.18);
  opacity: 0; transform: translateY(2px); transition: opacity .1s ease, transform .1s ease;
  max-width: 240px;
}
html.dark .viz-tooltip { background: #f4f4f2; color: #0b0b0b; }
.viz-tooltip.visible { opacity: 1; transform: translateY(0); }
.viz-tooltip-value { font-weight: 700; font-variant-numeric: tabular-nums; }
.viz-tooltip-label { color: #c3c2b7; margin-top: 1px; }
html.dark .viz-tooltip-label { color: #52514e; }

.viz-sparkline-dot { transition: r .15s ease; }
