/* Bonsen AI palette. Brand values are exact, taken from
   assets/brandmark-variations.svg: rgb(69,101,96) / rgb(132,202,170) / rgb(232,202,136) / rgb(236,247,248).
   Scales are interpolated around those four anchors. */
:root{
  /* --- brand anchors --- */
  --brand-green:#456560;
  --brand-mint:#84caaa;
  --brand-sand:#e8ca88;
  --brand-ice:#ecf7f8;

  /* --- green (primary) --- */
  --green-50:#eff5f3;--green-100:#dae7e4;--green-200:#b6cdc7;--green-300:#8bada6;
  --green-400:#628a83;--green-500:#456560;--green-600:#385450;--green-700:#2c4240;
  --green-800:#1f302e;--green-900:#14201e;--green-950:#0c1514;

  /* --- mint (accent) --- */
  --mint-50:#f0f9f5;--mint-100:#dbf2e7;--mint-200:#b8e5cf;--mint-300:#84caaa;
  --mint-400:#5cb28d;--mint-500:#3f9873;--mint-600:#2f7b5c;--mint-700:#265f48;

  /* --- sand (highlight) --- */
  --sand-50:#fdf9ee;--sand-100:#faefd4;--sand-200:#f3dfae;--sand-300:#e8ca88;
  --sand-400:#d7b061;--sand-500:#b98f3f;--sand-600:#8f6d2d;--sand-700:#6b5121;

  /* --- ice (cool neutral) --- */
  --ice-50:#f7fcfc;--ice-100:#ecf7f8;--ice-200:#dcedef;--ice-300:#c3dfe1;

  /* --- neutral (green-tinted grey) --- */
  --neutral-0:#ffffff;--neutral-50:#f7faf9;--neutral-100:#f1f5f4;--neutral-200:#e4ebe9;
  --neutral-300:#cfdad7;--neutral-400:#a9b8b4;--neutral-500:#7e8f8b;--neutral-600:#5d6d69;
  --neutral-700:#43514e;--neutral-800:#2b3735;--neutral-900:#171f1e;

  /* --- status --- */
  --success-100:#dbf2e7;--success-500:#3f9873;--success-700:#265f48;
  --warning-100:#faefd4;--warning-500:#b98f3f;--warning-700:#6b5121;
  --danger-100:#fbe6e2;--danger-500:#b8483a;--danger-700:#8a3227;
  --info-100:#dff0f2;--info-500:#3d7d88;--info-700:#2a5a63;

  /* --- semantic: text --- */
  --text-strong:var(--green-900);
  --text-body:var(--green-700);
  --text-muted:var(--neutral-600);
  --text-subtle:var(--neutral-500);
  --text-disabled:var(--neutral-400);
  --text-inverse:var(--brand-ice);
  --text-inverse-muted:rgba(236,247,248,.72);
  --text-brand:var(--brand-green);
  --text-link:var(--green-600);
  --text-link-hover:var(--green-800);

  /* --- semantic: surfaces --- */
  --surface-page:var(--neutral-0);
  --surface-subtle:var(--neutral-50);
  --surface-sunken:var(--neutral-100);
  --surface-cool:var(--brand-ice);
  --surface-card:var(--neutral-0);
  --surface-inverse:var(--green-800);
  --surface-brand:var(--brand-green);
  --surface-accent:var(--mint-100);
  --surface-highlight:var(--sand-100);
  --surface-overlay:rgba(20,32,30,.48);

  /* --- semantic: borders --- */
  --border-subtle:var(--neutral-200);
  --border-default:var(--neutral-300);
  --border-strong:var(--neutral-400);
  --border-brand:var(--brand-green);
  --border-inverse:rgba(236,247,248,.22);

  /* --- semantic: interaction --- */
  --action-primary-bg:var(--brand-green);
  --action-primary-bg-hover:var(--green-600);
  --action-primary-bg-active:var(--green-700);
  --action-primary-fg:var(--brand-ice);
  --action-secondary-bg:var(--neutral-0);
  --action-secondary-bg-hover:var(--neutral-100);
  --action-secondary-fg:var(--green-700);
  --action-ghost-bg-hover:var(--neutral-100);
  --focus-ring:0 0 0 3px rgba(132,202,170,.5);
  --focus-ring-inverse:0 0 0 3px rgba(232,202,136,.55);
}
