/**
 * design-tokens.css — the design system's colours, radii and one width.
 *
 * ⚠️ THIS IS THE ONLY DEFINITION. It was the `:root` block at the top of
 * app-shell.css, lifted out on 2026-09-11 so a SECOND page could have the tokens
 * without taking 97KB of app chrome with them.
 *
 * 🔻 Alex, 2026-09-11, on the coach's plan as it appears on the Onboarding Desk:
 * *"I want it to represent the exact pixel-perfect version of what they see in
 * their dashboard, not this ugly thing that is completely poorly formatted."*
 *
 * It was not a styling mistake. `maya-hq.css` was loaded on admin.html and reads
 * --text-2/3/4, --surface-2/3, --accent-soft, --border-soft and --warn, and EVERY
 * one of those was defined only in app-shell.css, which admin.html does not load.
 * Measured in the browser: --text-3 was `#8a8fa6` on the coach's page and
 * `(undefined)` on the desk. Half the sheet resolved to nothing.
 *
 * ⚠️ TWO SCOPES, ONE DEFINITION, AND THE SECOND ONE IS THE WHOLE POINT.
 *
 *   :root      the app. app.html links this before app-shell.css; nothing changes.
 *
 *   .mhq-gl    the coach's plan wherever it is rendered, INCLUDING inside a page
 *              with a different palette of its own. admin.html has its own
 *              --surface / --border / --accent for the admin chrome, and must
 *              keep them: this file is linked BEFORE admin's own <style>, so
 *              admin's `:root` still wins on <html>, while `.mhq-gl` carries the
 *              app's tokens for its own subtree. Custom properties inherit from
 *              the nearest ancestor that sets them, so the panel resolves exactly
 *              as it does on the coach's page and one pixel outside it nothing
 *              has moved.
 *
 * Copying these values into a second file instead is the drift this exists to
 * prevent. Add a token here and both scopes get it.
 */

:root, .mhq-gl {
  --bg: #f6f4ee;
  --surface: #ffffff;
  --surface-2: #faf9f4;
  --surface-3: #f1eee5;
  --border: #e8e4d8;
  --border-soft: #efece2;
  --border-strong: #d8d3c2;

  --text: #15172b;
  --text-2: #4d5168;
  --text-3: #8a8fa6;
  --text-4: #b3b6c4;

  --accent: #6a4cf1;
  --accent-2: #8b6dff;
  --accent-soft: #efeaff;
  --accent-softer: #f5f1ff;
  --accent-deep: #4a32b8;

  --good: #1c8e5a;
  --good-soft: #e2f3ea;
  --warn: #b87410;
  --warn-soft: #fbf0d9;
  --danger: #c0423a;
  --danger-soft: #fbe5e3;

  --rose: #e85a8a;
  --rose-2: #f5a3b6;   /* light end of the rose gradient, as --accent-2 is to --accent */
  --salmon: #f17d6e;
  --plum: #b15dde;

  --radius: 12px;
  --radius-lg: 18px;
  --radius-xl: 22px;

  --sidebar-w: 248px;
}
