/* Every colour the dashboard uses. Pages and injected styles use these
   variables only; `npm run build:assets` fails on a colour literal anywhere
   else in dashboard/ (workers/scripts/check-colors.mjs).

   What each colour means:
   - Greys and black carry the interface. Buttons are --accent (black).
   - Green: on track or done. Amber: needs attention soon. Red: act now or
     overdue. Never decoration. Solid (--ok) for map markers, dots and short
     text; a pill or banner is the tint (--ok-bg) with dark text (--ok-ink).
   - Purple (--ai-*): Sentinel's own read, Ask, actions that run the model
     again, and the work Sentinel does filing documents (the Documents board
     progress bars). Nothing else.
   - Indigo (--link): a text link that is the point of its line. Quieter
     secondary links are grey: use the .link / .link-quiet classes below.
   - Chart colours belong to the Analytics bars and their legend only. */

:root {
  /* neutrals */
  --bg:#f7f7f8;           /* page */
  --panel:#fff;           /* cards, panels, inputs, modals */
  --canvas:#e9eaec;       /* behind a document preview or the map */
  --ink:#18181b;          /* text */
  --muted:#71717a;        /* secondary text */
  --faint:#a1a1aa;        /* placeholders, dashed outlines */
  --line:#e4e4e7;         /* borders */
  --line-strong:#d4d4d8;  /* hover borders */
  --hover:#f4f4f5;        /* hover and selected fills */
  --scrim:rgba(24,24,27,.45);       /* behind a modal */
  --scrim-light:rgba(24,24,27,.25); /* behind a drawer */

  /* actions */
  --accent:#18181b;       /* buttons, active switches */
  --on-dark:#fff;         /* text and icons on --accent, --ink or a solid status */
  --link:#4f46e5;

  /* status */
  --ok:#16a34a;    --ok-bg:#dcfce7;    --ok-ink:#166534;
  --warn:#d97706;  --warn-bg:#fef3c7;  --warn-ink:#92400e;
  --alert:#dc2626; --alert-bg:#fee2e2; --alert-ink:#991b1b; --alert-line:#fecaca;

  /* Sentinel (AI) */
  --ai-from:#8b5cf6; --ai-to:#6366f1;   /* gradient: badge, Ask button */
  --ai-ink:#7c3aed;                     /* AI text and AI actions */
  --ai-bg:#f5f3ff; --ai-line:#ddd6fe;   /* Sentinel's read, Ask replies */
  --ai-glow:rgba(99,102,241,.4);

  /* Analytics bars */
  --chart-sail:#3f3f46;
  --chart-wait:#f59e0b; --chart-wait-ink:#451a03;
  --chart-port:#c4c4cc; --chart-port-ink:#27272a;
  --chart-none-ink:#52525b;
}

/* Links, two kinds (.cursor/rules/dashboard-links.mdc). Never underlined at
   rest; always underlined on hover. The Leaflet selector beats the map's own
   link colour inside popups. */
.link, .leaflet-container a.link { color:var(--link); text-decoration:none; cursor:pointer; }
.link:hover, .leaflet-container a.link:hover { text-decoration:underline; }
.link-quiet, .leaflet-container a.link-quiet { color:var(--muted); text-decoration:none; cursor:pointer; }
.link-quiet:hover, .leaflet-container a.link-quiet:hover { color:var(--ink); text-decoration:underline; }
