/* jsttalk design tokens, shared by landing, customer, dashboard and print pages.
   Light, high-contrast and font-light on purpose: used outdoors, on mid-range Android phones, on variable data.
   No web fonts are downloaded; the stack falls back to the device's own Indic-capable fonts. */
:root {
  --ink: #10201D;
  --text: #17231F;
  --muted: #4B5B56;
  --paper: #F6F8F7;
  --card: #FFFFFF;
  --line: #D5DEDA;
  --accent: #0B6B5D;
  --accent-ink: #FFFFFF;
  --accent-soft: #E3F1EE;
  --warn: #9A3412;
  --warn-soft: #FDEEE4;
  --ok: #17703F;
  --ok-soft: #E4F4EA;
  --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Devanagari", "Noto Sans Kannada", "Noto Sans Tamil", "Noto Sans Telugu", "Helvetica Neue", Arial, sans-serif;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Noto Serif", "Noto Serif Devanagari", "Noto Serif Kannada", Georgia, serif;
  --r-sm: 10px; --r-md: 14px; --r-lg: 22px;
  --safe-b: env(safe-area-inset-bottom, 0px); --safe-t: env(safe-area-inset-top, 0px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--sans); color: var(--text); background: var(--paper); line-height: 1.5; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
