/* ═══════════════════════════════════════════════════════════════════
   Ledgersmith Hub , design tokens (the single source)
   ---------------------------------------------------------------------
   This is THE token source for the whole Hub. It is linked from
   public/index.html (so every React app , Chat, Admin,
   Referrals , inherits it) and should be linked by every standalone
   static page so a change here propagates
   everywhere. Do NOT redeclare these values in any app; use var(--…).
   See docs/HUB.md and docs/DESIGN-SYSTEM.md.

   Primary blue #1717e1 is the Ledgersmith website brand blue (the Hub
   moved to it from #0f32de on 07/11/2026). Fonts (Marty, 07/11/2026): Inter for text, UI and numbers,
   Geist for page, section and display headings. Both are self-hosted from
   /fonts (Latin subset, weights 400 to 800, OFL licences beside them), so
   no request ever leaves the Hub. System fonts stay as the fallback.
   ═══════════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'Inter';
  src: url('/fonts/Inter.woff2') format('woff2');
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('/fonts/Geist.woff2') format('woff2');
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --color-primary: #1717e1;
  --color-primary-2: #3a5cf5;
  --color-primary-grad: linear-gradient(135deg, #1717e1 0%, #3a5cf5 100%);
  --color-primary-light: #e9edfc;
  --color-primary-dark: #0c27ac;
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f6f7fb;
  --color-canvas: #f8f8f8;
  /* Icon rail (widened to 104px with visible labels, Marty 22/07/2026).
     Rail palette lives here so the tools and every app read one source. */
  --color-rail: #16236f;
  --color-rail-active: #6b7cf0;
  --color-rail-hover: #505a95;
  --color-rail-text: #f2f2f2;
  /* Chat sidebar: matched to the rail navy 22/07/2026, separated from the
     rail and the canvas by a 1px accent border rather than a colour step. */
  --color-nav: #0a1240;
  --color-nav-border: #6b7cf0;
  --color-text-primary: #14161c;
  --color-text-secondary: #5c6370;
  --color-text-tertiary: #98a0ae;
  --color-border: #e9ecf2;
  /* Flat elevation scale (06/08/2026): hairline shadows only, borders do the
     separating. lg keeps a small lift for floating menus and modals. */
  --shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
  --shadow-md: 0 1px 3px rgba(16, 24, 40, .07);
  --shadow-lg: 0 4px 12px rgba(16, 24, 40, .10);
  --shadow-brand: 0 1px 3px rgba(23, 23, 225, .25);
  --r-sm: 9px;
  --r-md: 13px;
  --r-lg: 18px;
  --ease: cubic-bezier(.22, .8, .26, 1);
  --overshoot: cubic-bezier(.3, 1.16, .45, 1);
  --ring: 0 0 0 4px rgba(23, 23, 225, .10);
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  /* Type scale (Marty, 06/11/2026): seven sizes, nothing below 12px.
     Every font-size in the Hub uses one of these; never hard-code px.
     Hero marks of 36px and over are the only exception. */
  --fs-meta: 12px;     /* notes, axes, timestamps, small caps */
  --fs-label: 13px;    /* labels, secondary lines, table headers */
  --fs-ui: 14px;       /* buttons, table cells, menus */
  --fs-body: 15px;     /* messages, paragraphs */
  --fs-section: 18px;  /* section titles */
  --fs-page: 24px;     /* page and panel titles */
  --fs-display: 30px;  /* KPI numbers */
  /* Brand series colours for charts and capsules (EDM app, Marty 02/11/2026).
     Wealth orange is too light for text, so its capsule text uses the ink. */
  --brand-ls: #1717e1;
  --brand-wealth: #ffa500;
  --brand-wealth-ink: #8a4b00;
  --brand-gill: #0e5dac;
  --brand-atb: #861722;
}
