/* theme.css — page reset and the design tokens (colours, radii, shadows,
   timing) for the light theme (body) and the dark theme (body.dark).
   Every other stylesheet and component reads these variables. */

html, body { margin: 0; padding: 0; height: 100%; }
body {
  /* ============================================================
     v2.0.0 TOKENS — orange for actions, cool neutrals for everything
     else (the user's palette call). The VAR NAMES are unchanged from
     v1: --paper/--paper-2/--surface/--ink/... so all 55 modules take
     the new look without touching a single screen. Renaming any of
     these is how half the app would go unstyled.
     ============================================================ */
  --paper: #F4F6F8;
  --paper-2: #EDF0F4;
  --surface: #FFFFFF;
  --ink: #111827;
  --ink-2: #374151;
  --muted: #6B7280;
  --muted-2: #9CA3AF;
  --line: #E4E8ED;
  --line-2: #CFD5DD;
  /* v4.6.3: Bridgeway green (from the logo) replaces the orange accent */
  --accent: #178A3A;
  --accent-2: #22A84A;
  --accent-soft: #E3F4E8;
  --accent-ink: #FFFFFF;     /* text on an accent fill */
  /* "done / good" is teal so it never reads as the green accent */
  --ok: #0F766E;
  --ok-soft: #CCFBF1;
  --warn: #B45309;
  --warn-soft: #FEF3C7;
  --bad: #B33A3A;
  --bad-soft: #FBE3E3;
  /* Dark red reserved for MISSING MANDATORY fields (v1.260.108). --bad is the
     general error/destructive red; this deeper tone is what the user asked to
     see on a field that blocked the next step, so it reads apart from a
     delete icon or a validation hint. */
  --bad-dark: #991B1B;
  --bad-dark-soft: #FEE2E2;
  --info: #1D4ED8;
  --info-soft: #E0E7FF;
  /* v4.6.3: a strong band (form section headers, table heads, toasts, primary
     buttons) — near-black in light mode, slate in dark mode (never white) */
  --band: #111827;
  --band-ink: #F4F6F8;
  /* Motion + shape system (v2.0.0). --sp is the user's 1.15× speed dial:
     every duration below is expressed as a multiple of it, so the whole
     app slows down or speeds up from ONE number. */
  --sp: 1.15;
  --t-fast: calc(0.18s * var(--sp));
  --t-med: calc(0.3s * var(--sp));
  --t-slow: calc(0.44s * var(--sp));
  --spring: cubic-bezier(.34, 1.32, .64, 1);
  --ease: cubic-bezier(.22, 1, .36, 1);
  /* --r-xs is for chips, swatches and 20px icon squares — the places v1 used
     a 2-3px corner. Every hand-rolled control in the 55 modules was swept
     onto this scale (v2.0.1), which is what makes a stray 3px corner
     impossible: there are no raw pixel radii left in the modules. */
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --shadow-1: 0 1px 3px rgba(17, 24, 39, .05);
  --shadow-2: 0 14px 30px -20px rgba(17, 24, 39, .34);
  --shadow-3: 0 28px 60px -28px rgba(17, 24, 39, .48);
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: background var(--t-med) ease, color var(--t-med) ease;
}
body.dark {
  --paper: #0A0F15;
  --paper-2: #1B2632;
  --surface: #131C26;
  --ink: #F2F5F8;
  --ink-2: #D3DAE2;
  --muted: #8794A3;
  --muted-2: #5B6674;
  --line: #1F2A36;
  --line-2: #2D3A48;
  --accent: #3BE074;
  --accent-2: #6EF09A;
  --accent-soft: rgba(59, 224, 116, .22);
  --accent-ink: #052E14;     /* dark text on the bright green */
  --ok: #2DD4BF;
  --ok-soft: rgba(45, 212, 191, .14);
  --warn: #FBBF24;
  --warn-soft: rgba(251, 191, 36, .14);
  --bad: #F87171;
  --bad-soft: rgba(248, 113, 113, .14);
  --bad-dark: #FCA5A5;
  --bad-dark-soft: rgba(248, 113, 113, .18);
  --info: #60A5FA;
  --info-soft: rgba(96, 165, 250, .14);
  --band: #2A3A50;
  --band-ink: #F2F5F8;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, .3);
  --shadow-2: 0 14px 30px -20px rgba(0, 0, 0, .6);
  --shadow-3: 0 28px 60px -28px rgba(0, 0, 0, .75);
}

/* Native form controls follow the theme (v4.4.6). Without color-scheme the
   browser draws a <select>'s open list, date pickers and scrollbars in LIGHT
   colours even in dark mode — the options then show near-white text on a white
   list (the Lead Open "Company" picker). The option rules cover browsers that
   ignore color-scheme for the list itself. */
body { color-scheme: light; }
body.dark { color-scheme: dark; }
select option, select optgroup { background-color: var(--surface); color: var(--ink); }
select option:disabled { color: var(--muted-2); }
