/* one.lucente.au/brand/tokens.css — SINGLE SOURCE OF TRUTH for brand primitives.
   Consumed by the 365 dashboard and the AI receptionist console: each <link>s this
   same-origin file and reads values via hsl(var(--brand-*)). Change a value here +
   redeploy lucente-one → those apps update with no rebuild.

   Values are byte-faithful to lucente-one's theme.css DS v2 tokens (this file is a
   MOVE of the primitives, not a redesign). NOTE: lucente-one's own theme.css does
   not yet consume this file — that de-dup (handover step 1B, incl. the --c-* Tailwind
   ramps) is a separate migration owned by the lucente-one maintainer. */
:root {
  /* Brand palette — HSL triplets; consume as hsl(var(--brand-navy)). */
  --brand-navy: 220 79% 30%;      /* #103889 — primary action */
  --brand-sky:  199 83% 49%;      /* #15a2e3 — secondary action, focus ring */
  --brand-ink:  220 35% 7%;       /* #0b0f17 — primary text */
  --brand-ink-2:222 21% 21%;      /* #2b3242 — secondary text */
  --brand-ink-3:220 10% 40%;      /* #5b6270 — tertiary text */
  --brand-ink-4:220 8% 57%;       /* #8a909b — labels, overlines */
  --brand-panel:210 17% 98%;      /* #f8f9fa — page surface */
  --brand-ok:   142 76% 36%;      /* #16a34a */
  --brand-warn: 25 82% 31%;       /* #92400e */
  --brand-err:  4 76% 40%;        /* #b42318 */

  /* Type — only the family name is shared; each app loads Poppins its own way. */
  --brand-font: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --brand-font-display: "Cal Sans", "Poppins", sans-serif;

  /* Radius / shadow / motion (mirror theme.css DS v2; for future consumers). */
  --radius-card: 12px; --radius-input: 10px; --radius-button: 10px;
  --shadow-sm: 0 1px 3px rgba(12,18,30,.04);
  --shadow-md: 0 4px 12px rgba(12,18,30,.06);
  --shadow-lg: 0 40px 100px rgba(12,18,30,.25);
  --motion-fast: .12s ease; --motion: .15s ease; --motion-mod: .18s ease-out; --motion-slow: .28s ease-out;
}

/* Dark-mode primitive flips that are genuinely shared (surfaces). lucente-one keys
   dark on html.dark; the 365 / receptionist consumers use [data-theme="dark"] — cover
   both. App-specific dark semantics stay in each app. */
html.dark, :root[data-theme="dark"] {
  --brand-panel: 222 21% 12%;
}
