:root{
/* LOCKED palette — red, cream, ink + one muted tone. No other hues, no pastels, no gradients. */
--red:#C8102E;
--red-press:#9A0C23; /* red darkened for press states only */
--cream:#F2EAD3; /* page background */
--cream-bright:#FAF5E6; /* card surface */
--cream-deep:#E4D9BE; /* soft dividers */
--black:#0D0D0D; /* ink — all borders, text, shadows */
--muted:#6B6456; /* the ONE de-emphasized text tone */
/* Grey aliases collapse onto ink/muted (no soft grays) */
--grey-900:#0D0D0D;
--grey-700:#6B6456;
--grey-500:#6B6456;
--grey-300:#6B6456;
--grey-200:#E4D9BE;
--grey-100:#E4D9BE;
/* Semantic aliases */
--surface-page:var(--cream);
--surface-card:var(--cream-bright);
--surface-inverse:var(--black);
--surface-accent:var(--red);
--text-body:var(--black);
--text-muted:var(--muted);
--text-faint:var(--muted);
--text-on-accent:var(--cream);
--text-on-inverse:var(--cream);
--text-link:var(--red);
--border-strong:var(--black);
--border-soft:var(--cream-deep);
--focus-ring:var(--red);
/* Booking statuses — red keeps meaning: live/urgent only */
--status-waiting:var(--red);
--status-confirmed:var(--black);
--status-cancelled:var(--muted);
--status-booked:var(--black);
/* DEPRECATED aliases (kept for compiled components) */
--red-dark:var(--red-press);
--red-light:var(--red);
--red-tint:var(--cream-bright);
--cream-light:var(--cream-bright);
--cream-dark:var(--cream-deep);
--ink-2:var(--muted);
--ink-3:var(--muted);
--white:var(--cream-bright);
--green:var(--black);
--green-tint:var(--cream-bright);
--amber:var(--red);
--amber-tint:var(--cream-bright);
--blue:var(--muted);
--blue-tint:var(--cream-bright);
--success:var(--status-confirmed);
--warning:var(--status-waiting);
--danger:var(--red);
--info:var(--muted);
}
