/* Global reset. LIGHT is the default first paint (matching ThemeProvider's
   default when nothing is stored); the inline pre-paint script in index.html
   adds `html.dark` from the persisted choice BEFORE this renders, so a stored
   dark/auto-dark choice never flashes white — and a fresh visit never flashes
   dark. ThemeProvider then owns the theme from mount onward. */
html,
body,
#root {
  margin: 0;
  height: 100%;
}

body {
  background: rgb(255, 255, 255);
  color: #111827;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

html.dark body {
  background: rgb(19, 20, 22); /* dark graphite (govhub color code) */
  color: #f3f4f6;
}

/* HugeIcons is the system icon library (rendered via the @zarv/ui Icon
   component). Stroke width is set on the component; no global override needed. */

/* Kill CSS transitions for the frame in which the theme swaps, so every surface
   (Sider, tooltips, cards, antd's `transition: all 0.2s`) flips together
   instead of drifting. The class is added/removed by ThemeProvider. */
html.theme-transitioning,
html.theme-transitioning *,
html.theme-transitioning *::before,
html.theme-transitioning *::after {
  transition: none !important;
  animation-duration: 0s !important;
  animation-delay: 0s !important;
}
/*$vite$:1*/