/*
 * client-portal-tokens.css — single canonical token source for the client
 * portal surface (base_portal.html + base_portal_app.html).
 *
 * mc-50mh Phase A (2026-08-08 operator ruling): MECHANICAL consolidation
 * only. Every value below is TODAY'S LIVE value, carried over as-is from
 * whichever shell already used it — no design-reference values are
 * adopted here (that reconciliation, if any, is Phase B / mc-fm99).
 *
 * The two shells previously disagreed with EACH OTHER:
 *   base_portal.html      --coral #8B2E1F (dark)   --cream #FAF4E6
 *   base_portal_app.html  --coral #C36B5A (light)  --cream #FAF6EE
 * Both conflicts are resolved in favor of base_portal_app.html: it's the
 * app shell that ~13 client templates actually render against, and its
 * --coral is the light accent those templates' unread / is-house /
 * is-self chips already reference. On base_portal.html's auth pages this
 * means the flash-message accent lightens and the background cools
 * slightly -- that shift is the intended fix, not a regression.
 *
 * All other names below are pure renames of base_portal.html-only
 * aliases (--navy -> --ink, --line -> --line-soft) that already carried
 * the identical value under a different name -- zero visual change.
 *
 * --mono is deliberately NOT defined here: vendors.html references
 * var(--mono) with nothing backing it today, a pre-existing gap. Adding
 * it would visibly change an app-shell page's rendering, which breaks
 * this phase's pixel-empty-on-app-shell-pages invariant. Left for a
 * follow-up that can treat it as the visible behavior change it is.
 */
:root {
  --ink: #1F1B18;
  --ink-soft: #6B5F54;
  --line-soft: #D7CCB9;

  --cream: #FAF6EE;
  --paper: #FFFDF8;
  --paper-2: #FAF4E6;

  --sage: #4A8590;
  --sage-deep: #2F6670;
  --terra: #C97A5C;

  --coral: #C36B5A;
  --coral-deep: #8B2E1F;

  --tint: #EEF5F6;
  --green: #3E7D52;
  --gold: #B59556;
  /* q-0301 — caution/warning token, added because none existed. Bright
     yellow-orange for an "this bill is coming up" status pill; #1F1B18
     (--ink) text on it measures 8.8:1 contrast (WCAG AAA for normal text,
     AA needs 4.5:1). Named here rather than inlined so any future
     caution-state pill reuses the same value. */
  --caution: #FFA726;
  /* q-0341 — budget-pie Entertainment bucket (DJs, live musicians),
     added because every other non-warning token was already spoken for
     by one of the pie's six original buckets and --caution already
     means "bill due soon" elsewhere (client_read.py's _CATEGORY_COLORS
     comment has the full reasoning). Muted plum, distinct from the
     pie's existing warm terracotta/gold/coral and teal sage tones. */
  --plum: #6B4E8E;

  --display: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --r-sm: 4px;
  --r-md: 12px;
  --r-btn: 8px;
}
