/* Semantic aliases. Author UI against these, not the raw ramps. */
:root{
  /* Text */
  --text-strong:var(--navy-900);
  --text-body-color:var(--steel-800);
  --text-muted:var(--steel-600);
  --text-subtle:var(--steel-500);
  --text-inverse:var(--white);
  --text-inverse-muted:rgba(255,255,255,.76);
  --text-brand:var(--navy-700);
  --text-link:var(--navy-700);
  --text-link-hover:var(--navy-500);
  --text-accent:var(--amber-700);

  /* Surfaces */
  --surface-page:var(--white);
  --surface-sunken:var(--steel-50);
  --surface-card:var(--white);
  --surface-card-hover:var(--steel-50);
  --surface-brand:var(--navy-700);
  --surface-brand-deep:var(--navy-900);
  --surface-brand-tint:var(--navy-50);
  --surface-accent-tint:var(--amber-50);
  --surface-overlay:rgba(10,21,38,.55);

  /* Borders */
  --border-subtle:var(--steel-200);
  --border-default:var(--steel-300);
  --border-strong-color:var(--steel-400);
  --border-brand:var(--navy-700);
  --border-focus:var(--navy-600);

  /* Interactive — primary (navy) */
  --action-primary-bg:var(--navy-700);
  --action-primary-bg-hover:var(--navy-800);
  --action-primary-bg-active:var(--navy-900);
  --action-primary-fg:var(--white);
  /* Interactive — accent (amber). Reserved for the single most important CTA. */
  --action-accent-bg:var(--amber-500);
  --action-accent-bg-hover:var(--amber-600);
  --action-accent-bg-active:var(--amber-700);
  --action-accent-fg:var(--navy-950);
  /* Interactive — quiet */
  --action-quiet-fg:var(--navy-700);
  --action-quiet-bg-hover:var(--navy-50);
  --action-disabled-bg:var(--steel-200);
  --action-disabled-fg:var(--steel-500);

  /* Status — the three outcomes of a Sachmangel case + neutral info */
  --status-approved-fg:var(--green-700);--status-approved-bg:var(--green-50);--status-approved-border:var(--green-200);
  --status-review-fg:var(--amber-800);--status-review-bg:var(--amber-50);--status-review-border:var(--amber-200);
  --status-declined-fg:var(--red-700);--status-declined-bg:var(--red-50);--status-declined-border:var(--red-200);
  --status-info-fg:var(--navy-700);--status-info-bg:var(--navy-50);--status-info-border:var(--navy-200);
}
