/* Design tokens: the one place for colours, type and control sizes. Loaded before every other stylesheet. */
/* Semantic tokens */
:root {
  --ink: #20332f;
  --muted: #61736e;
  --paper: #fff;
  --line: #dce3e7;
  --green: #256650;
  --gold: #c9ac65;
  --navigation-width: 252px;
  --canvas: #f4f6f8;
  --control-border: #7a8a85;
  --focus-ring: #1f6f55;
  --focus-ring-on-dark: #9fd6bf;
  --font-ui: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-label: var(--text-sm);
  --control-height: 36px;
  /* Form layout contract (14 October 2026, controls.css): field columns, gaps and the reason field. */
  --field-min-width: 15rem;
  --field-gap-row: 12px;
  --field-gap-column: 16px;
  --label-gap: 4px;
  --reason-input-min: 15rem;
  --reason-select-width: 11rem;

  /* Palette: colours that recur across views */
  --white: #fff;
  --green-deep: #245b46;
  --border-sage: #dce4d8;
  --border-mist: #d6e2df;
  --border-cool: #ccd9dc;
  --border-moss: #dce5d6;
  --border-faint: #edf1f4;
  --border-cloud: #dce5e6;
  --border-strong: #bac9c0;
  --border-accent: #436458;
  --text-sage: #596b61;
  --text-forest: #173c32;
  --text-slate: #5b6b70;
  --text-steel: #526575;
  --text-olive: #58675f;
  --surface-sage: #f4f7f1;
  --surface-moss: #edf2e3;
  --surface-light: #fafcf8;
  --surface-button: #edf1e8;
  --surface-card: #fffefa;
  /* Development mode, guardrails open: one orange for its banner and labels (white text, 5.2:1). */
  --development-orange: #c2410c;
  --development-orange-surface: #fff1e6;
  /* A control that needs action (errors point to the field, 13 October 2026): outline, surface and text. */
  --error: #a3412b;
  --error-surface: #fcefea;
  --error-border: #e2bfb2;
  --warning: #8a5a00;
  --warning-surface: #fff6dc;

  /* Roles added by the visual consistency pass (22 October 2026): menu, status, text and shadow colours. */
  --nav-surface: #19332d;
  --nav-surface-hover: #29463b;
  --nav-rule: #4b6858;
  --nav-control-border: #729687;
  --nav-text: #dce8df;
  --nav-text-muted: #a8beb1;
  --nav-accent: #e0d099;
  --nav-ink: #173d32;
  --surface-mint: #e7f0e9;
  --surface-selected: #e1e9dc;
  --surface-cream: #f8f2e2;
  --surface-mist: #f2f5f2;
  --border-leaf: #ccd9c4;
  --border-accent-soft: #95b291;
  --border-neutral: #d8d8d8;
  --border-sand: #e6dcc3;
  --text-faint: #67786c;
  --text-subtle: #8b978d;
  --text-strong: #1d2b26;
  --text-ochre: #7d6230;
  --text-rust: #8a5128;
  --text-dark-neutral: #4b4b44;
  --green-bright: #417b55;
  --green-soft: #769c80;
  --info-strong: #153b53;
  --info: #277499;
  --info-soft: #65a8cd;
  --info-border: #b6d8e9;
  --info-surface: #eaf2f7;
  --teal-strong: #225f72;
  --teal: #337f8e;
  --slate-strong: #26384d;
  --slate: #3b526e;
  --slate-soft: #8aa0bd;
  --slate-border: #ccd5df;
  --slate-surface: #eef2f8;
  --success-strong: #1f5530;
  --success-soft: #8fb894;
  --success-border: #b9d3c1;
  --success-surface: #e5f2e8;
  --warning-ink: #3d2a0c;
  --warning-strong: #6b3f00;
  --warning-accent: #c98a2b;
  --warning-border: #e6c98e;
  --gold-strong: #a67728;
  --error-strong: #6b1d10;
  --error-accent: #a83b36;
  --error-soft: #b27160;
  --shadow-weak: #20332f0a;
  --shadow: #20332f1a;
  --shadow-strong: #122d3324;
  --backdrop: #19332d66;
  --white-veil: #ffffff20;
  /* Type scale (22 October 2026): every font size is one of these steps; nothing below 11px. */
  --text-2xs: 11px;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-md: 14px;
  --text-body: 15px;
  --text-lg: 16px;
  --text-xl: 18px;
  --text-2xl: 21px;
  --text-3xl: 24px;
  --text-4xl: 27px;
  --text-5xl: 30px;
  --text-6xl: 36px;
  --text-7xl: 42px;
  --text-display: 52px;
}
@media(pointer:coarse) {
  :root {
    --control-height: 44px;
  }
}
