:root{
/* Brand mark — the four ribbon strokes. Reserved for the logo, brand
   moments and data accents. Never all four inside one UI component. */
--brand-green:#1E7A3C;
--brand-yellow:#EDB61F;
--brand-red:#E0241B;
--brand-blue:#86B9E8;

/* Accent scale, derived from the green ribbon */
--green-50:#EEF7F1;
--green-100:#D5EBDE;
--green-200:#A9D6BC;
--green-300:#71BC93;
--green-400:#3D9C68;
--green-500:#1E7A3C;
--green-600:#186331;
--green-700:#134E27;
--green-800:#0D361B;

/* Neutrals — slightly cool, printed-catalogue grey */
--neutral-0:#FFFFFF;
--neutral-25:#FAFAF9;
--neutral-50:#F4F4F2;
--neutral-100:#EAEAE7;
--neutral-200:#DCDCD8;
--neutral-300:#C2C2BD;
--neutral-400:#9B9B96;
--neutral-500:#75756F;
--neutral-600:#57574F;
--neutral-700:#3B3B35;
--neutral-800:#26261F;
--neutral-900:#14140F;

/* Semantic status */
--status-success:#1E7A3C;
--status-warning:#EDB61F;
--status-danger:#E0241B;
--status-info:#3E7FB5;

/* Semantic aliases — use these in components */
--text-strong:var(--neutral-900);
--text-body:var(--neutral-700);
--text-muted:var(--neutral-500);
--text-inverse:var(--neutral-0);
--text-accent:var(--green-600);
--text-link:var(--green-600);
--text-link-hover:var(--green-700);

--surface-page:var(--neutral-0);
--surface-sunken:var(--neutral-50);
--surface-card:var(--neutral-0);
--surface-inverse:var(--neutral-900);
--surface-accent:var(--green-500);
--surface-accent-soft:var(--green-50);

--border-subtle:var(--neutral-100);
--border-default:var(--neutral-200);
--border-strong:var(--neutral-400);
--border-accent:var(--green-500);

--focus-ring:var(--green-500);
--overlay-scrim:rgba(20,20,15,.55);
}
