/* Official palette — Brand Guide 2026. Do NOT add hues without designer sign-off.
   QUARANTINED: #00BC72 appears in the guide but in no brand surface. Never use it. */
:root{
  /* Base palette */
  --rese-cream:#FFFAF5;
  --rese-olive:#72744E;
  --rese-black:#000000;
  --rese-white:#FFFFFF;
  --rese-sage-tint:#E9ECDD; /* derived, UI-only — confirm with designer */

  /* Derived olive ramp (tints/shades of #72744E only — no new hues) */
  --olive-900:#3E3F2A;
  --olive-800:#4F5136;
  --olive-700:#5C5E3E;
  --olive-600:#72744E; /* brand olive */
  --olive-500:#868862;
  --olive-400:#A3A585;
  --olive-300:#C4C6AE;
  --olive-200:#DCDDCB;
  --olive-100:#E9ECDD; /* = sage tint */
  --olive-050:#F4F5EC;

  /* Warm neutral ramp (cream-derived ink & lines) */
  --ink-900:#000000;
  --ink-800:#1A1815;
  --ink-700:#33302B;
  --ink-600:#4D4842;
  --ink-500:#6E675F;
  --ink-400:#918A80;
  --ink-300:#BDB6AC;
  --ink-200:#E2DCD3;
  --ink-100:#F1ECE5;
  --ink-050:#FFFAF5; /* = cream */

  /* Semantic — surfaces */
  --surface-page:var(--rese-cream);
  --surface-card:var(--rese-white);
  --surface-raised:var(--rese-white);
  --surface-sunken:var(--olive-050);
  --surface-accent:var(--olive-100);
  --surface-brand:var(--rese-olive);
  --surface-inverse:var(--rese-black);
  --surface-scrim:rgba(0,0,0,.42);
  --surface-veil:rgba(255,250,245,.72);

  /* Semantic — text */
  --text-body:var(--ink-900);
  --text-heading:var(--ink-900);
  --text-muted:var(--ink-500);
  --text-subtle:var(--ink-400);
  --text-accent:var(--rese-olive);
  --text-on-brand:var(--rese-white);
  --text-on-inverse:var(--rese-cream);
  --text-link:var(--rese-olive);
  --text-link-hover:var(--olive-800);

  /* Semantic — lines */
  --border-hairline:var(--ink-200);
  --border-default:var(--ink-300);
  --border-strong:var(--ink-800);
  --border-accent:var(--olive-300);
  --border-focus:var(--rese-olive);

  /* Semantic — interactive */
  --action-primary:var(--rese-olive);
  --action-primary-hover:var(--olive-700);
  --action-primary-active:var(--olive-800);
  --action-secondary:var(--rese-black);
  --action-secondary-hover:var(--ink-700);
  --action-quiet-hover:var(--olive-050);
  --action-disabled:var(--ink-200);
  --text-disabled:var(--ink-400);

  /* Semantic — status. Deliberately narrow: the brand has no red/amber/blue.
     Status is carried by olive (positive/neutral) and ink (caution), plus a single
     restrained error red for form validation and accessibility only. */
  --status-positive:var(--olive-600);
  --status-positive-surface:var(--olive-100);
  --status-info:var(--ink-700);
  --status-info-surface:var(--ink-100);
  --status-caution:#8A6A38;
  --status-caution-surface:#F5EDE0;
  --status-error:#9B3B2E;
  --status-error-surface:#F7E7E3;
}
