/* NirmanCore design tokens: maintain once for every page. */
:root {
  --navy: #062849;
  --navy-dark: #031b33;
  --orange: #ff7417;
  --white: #fff;
  --text: #172b45;
  --muted: #64748b;
  --border: #e2e8f0;
  --success: #16a34a;
  --danger: #b42318;
  --surface: #fff;
  --background: #f4f7fb;
  --font-ui: Inter, "Segoe UI", sans-serif;
  --radius-sm: 6px;
  --radius-md: 12px;
  --shadow-card: 0 8px 28px #0628490a;
  --focus-ring: 0 0 0 3px #ff741733;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --login-card-max-width: 440px;
  --layout-max-width: 1600px;
  /* Compatibility names used by the dashboard layout. */
  --deep: var(--navy-dark);
  --bg: var(--background);
  --ink: var(--text);
  --line: var(--border);
  --green: var(--success);
  --radius: var(--radius-md);
}
*, *::before, *::after { box-sizing: border-box; }
.nc-app { font-family: var(--font-ui); color: var(--text); }
.nc-app button, .nc-app input, .nc-app select { font-family: inherit; }
.nc-app :is(a, button, input, select, summary):focus-visible {
  outline: 3px solid #ffa45e;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
