:root{
  /* ---- Brand base palette ---- */
  --sivz-green:#99C21E;        /* primary — brand green */
  --sivz-green-600:#88AD1A;    /* hover / pressed */
  --sivz-green-700:#6F8E15;    /* active, text-on-light accent */
  --sivz-green-050:#F2F7E2;    /* tint surface */
  --sivz-green-100:#E5EFCB;    /* tint surface, stronger */

  --sivz-ink:#474746;          /* primary text — donker-grijs */
  --sivz-ink-800:#3C3C3B;      /* logo dark / strong headings */
  --sivz-ink-600:#6B6B6A;      /* secondary text */
  --sivz-ink-400:#9A9A99;      /* muted / placeholder */
  --sivz-ink-200:#C9C9C8;      /* disabled text, hairlines */

  --sivz-white:#FFFFFF;
  --sivz-paper:#FAFAF8;        /* app background, warm off-white */
  --sivz-mist:#F1F2ED;         /* alt section / table zebra */
  --sivz-line:#E3E4DE;         /* borders / dividers */

  /* ---- Semantic status ---- */
  --sivz-info:#2E6FB0;
  --sivz-info-050:#EAF2FA;
  --sivz-success:#4B8B1E;
  --sivz-success-050:#EDF4E4;
  --sivz-warning:#C9922A;
  --sivz-warning-050:#FBF3E2;
  --sivz-danger:#C0392B;
  --sivz-danger-050:#FBECEA;

  /* ---- Semantic aliases ---- */
  --color-primary:var(--sivz-green);
  --color-primary-hover:var(--sivz-green-600);
  --color-primary-active:var(--sivz-green-700);
  --color-on-primary:var(--sivz-white);

  --text-strong:var(--sivz-ink-800);
  --text-body:var(--sivz-ink);
  --text-muted:var(--sivz-ink-600);
  --text-subtle:var(--sivz-ink-400);
  --text-on-brand:var(--sivz-white);
  --text-link:var(--sivz-green-700);
  --text-link-hover:var(--sivz-ink-800);

  --surface-page:var(--sivz-paper);
  --surface-card:var(--sivz-white);
  --surface-alt:var(--sivz-mist);
  --surface-tint:var(--sivz-green-050);

  --border-default:var(--sivz-line);
  --border-strong:var(--sivz-ink-200);
  --border-focus:var(--sivz-green);
}
