/**
 * THEME: SLATE — the platform's own look (D-091). Neutral cool greys with one
 * deep-blue accent: calm working chrome for the operator console, the agency
 * dashboard (its default) and the platform's sign-up pages. It sits beside any
 * agency's logo and colours without competing, and blue is the colour people
 * already read as "clickable".
 *
 * A theme is a COMPLETE copy of tokens.css's token set — every selector, every
 * custom property, light AND dark — with its own values (test/brand.test.js
 * pins that). Token names keep the word "gold": they name a ROLE (the accent).
 * Generated once from tokens.css's structure; edit values here, never the names.
 *
 * Contrast, measured (WCAG ratio):
 *   Light, on white    ink 17.9 · ink-soft 10.4 · ink-muted 5.8 · accent-as-text 8.2
 *                      button text on accent 5.5 (hover 6.5) · ok 5.9 · warn 5.6 · urgent 5.5
 *   Light, on ground   ink-muted 5.4 · accent-as-text 7.5
 *   Dark, on paper     ink 13.8 · ink-soft 9.9 · ink-muted 5.7 · accent 6.4 · accent-as-text 8.3
 *                      button text on accent 7.3 · ok 9.6 · warn 7.6 · urgent 5.9
 * Display type is Inter, like the UI: the platform has no serif voice.
 */
:root {

  --ink:            #0F172A;
  --ink-soft:       #334155;
  --ink-muted:      #5B6678;
  --ink-faint:      #94A3B8;

  --gold:           #2F5BEA;
  --gold-deep:      #1D44B8;
  --gold-soft:      #DDE6FD;
  --gold-wash:      #F3F6FF;

  --paper:          #FFFFFF;
  --paper-tint:     #F4F6F9;
  --line:           #E3E8EF;
  --line-strong:    #CBD3DE;

  --ok:             #17724A;
  --warn:           #98580F;
  --warn-wash:      #FEF6E7;

  --urgent:         #C4302B;

  --channel-whatsapp:     #25D366;
  --channel-whatsapp-ink: #FFFFFF;
  --channel-mail-1:       #ED2224;
  --channel-mail-2:       #F58220;
  --channel-mail-3:       #FDC500;

  --font-display:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-ui:        'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono:      ui-monospace, SFMono-Regular, 'SF Mono', Menlo, monospace;

  --text-xs:        0.75rem;
  --text-sm:        0.875rem;
  --text-base:      1rem;
  --text-lg:        1.125rem;
  --text-xl:        1.375rem;
  --text-2xl:       1.75rem;
  --text-3xl:       2.5rem;

  --leading-tight:  1.2;
  --leading-normal: 1.55;

  --radius-sm:      6px;
  --radius:         8px;
  --radius-lg:      12px;
  --radius-pill:    999px;

  --shadow-sm:      0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow:         0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-lg:      0 10px 30px rgba(15, 23, 42, 0.12);

  --sp-1: 0.25rem;  --sp-2: 0.5rem;   --sp-3: 0.75rem;  --sp-4: 1rem;
  --sp-5: 1.5rem;   --sp-6: 2rem;     --sp-8: 3rem;     --sp-10: 4rem;

  --content-max:    1180px;
  --header-h:       68px;

  --rail-w:         0px;
}

:root[data-agent='on'] {
  --rail-w: 360px;
}

:root {
  --tap-min: 48px;
}

:root {
  --action-bg:    var(--gold);
  --action-fg:    #FFFFFF;
  --gold-hover:   #2A51D3;
  --gold-rgb:     47, 91, 234;
  --warn-line:    #EACB9C;
}

:root[data-theme='dark'] {

  --ink:            #E7EBF1;
  --ink-soft:       #C1C9D4;
  --ink-muted:      #8E98A8;
  --ink-faint:      #566072;

  --gold:           #7C9DFF;
  --gold-deep:      #9DB6FF;
  --gold-soft:      #1E2B4D;
  --gold-wash:      #131A2B;
  --gold-hover:     #93AEFF;
  --gold-rgb:       124, 157, 255;

  --paper:          #1D2330;
  --paper-tint:     #0E1117;
  --line:           #272E3B;
  --line-strong:    #3A4353;

  --ok:             #4ADE9B;
  --warn:           #E0A458;
  --urgent:         #FF6B5E;
  --warn-wash:      #241B0E;
  --warn-line:      #4A3A22;

  --shadow-sm:      0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow:         0 2px 8px rgba(0, 0, 0, 0.55);
  --shadow-lg:      0 12px 32px rgba(0, 0, 0, 0.65);

  --action-bg:      var(--gold);
  --action-fg:      #0B1020;
}
