:root {
  --background-default: oklch(0.985104 0 0); /** Page canvas — the base background behind all content. */
  --background-subtle: oklch(0.970151 0 0); /** Subtly differentiated background for alternating or grouped sections. */
  --surface-default: oklch(1 0 0); /** Default container surface — cards, panels, and inputs on the page. */
  --surface-raised: oklch(1 0 0); /** Raised surface for higher-elevation layers (menus, popovers, dialogs). Higher elevation reads lighter in dark mode. */
  --surface-sunken: oklch(0.970151 0 0); /** Recessed surface for wells and inset regions. */
  --text-default: oklch(0.175228 0.006346 236.981786); /** Primary body and heading text. */
  --text-muted: oklch(0.426427 0.011202 232.617199); /** Secondary text — supporting copy, captions, metadata. */
  --text-subtle: oklch(0.645222 0.009348 225.150438); /** Tertiary text — placeholders and disabled labels. The mid-grey reads in both modes. */
  --text-inverse: oklch(1 0 0); /** Text and icons rendered on an action or solid fill. */
  --text-link: oklch(0.289999 0.117296 259.841938); /** Inline hyperlink text. */
  --border-default: oklch(0.901624 0.003538 219.535738); /** Default border for inputs, cards, and dividers. */
  --border-subtle: oklch(0.94007 0 0); /** Low-emphasis border for subtle separation. */
  --border-strong: oklch(0.645222 0.009348 225.150438); /** High-emphasis border for focus and selected states. */
  --action-default: oklch(0.289999 0.117296 259.841938); /** Primary interactive colour — buttons, links, key accents. NSW navy in light, brightened for contrast in dark. */
  --action-hover: oklch(0.190403 0.080719 260.682766); /** Hover and active state for primary actions. */
  --action-subtle: oklch(0.981046 0.012805 221.42319); /** Tinted background for low-emphasis (ghost) actions. */
  --success-surface: oklch(0.97135 0.019006 140.501237); /** Success (positive outcomes and confirmations) — tinted background. */
  --success-text: oklch(0.40526 0.136911 142.712023); /** Success (positive outcomes and confirmations) — readable text on the tint. */
  --success-border: oklch(0.775209 0.103098 142.532525); /** Success (positive outcomes and confirmations) — border and divider. */
  --success-solid: oklch(0.549041 0.184944 142.800761); /** Success (positive outcomes and confirmations) — solid fill for badges and icons. */
  --warning-surface: oklch(0.971893 0.01526 48.562489); /** Warning (caution and pending states) — tinted background. */
  --warning-text: oklch(0.431173 0.130695 40.89405); /** Warning (caution and pending states) — readable text on the tint. */
  --warning-border: oklch(0.791422 0.092884 44.093664); /** Warning (caution and pending states) — border and divider. */
  --warning-solid: oklch(0.58333 0.169705 43.997259); /** Warning (caution and pending states) — solid fill for badges and icons. */
  --danger-surface: oklch(0.966669 0.016317 22.079707); /** Danger (errors and destructive actions) — tinted background. */
  --danger-text: oklch(0.374388 0.145685 19.336218); /** Danger (errors and destructive actions) — readable text on the tint. */
  --danger-border: oklch(0.75077 0.106785 18.43901); /** Danger (errors and destructive actions) — border and divider. */
  --danger-solid: oklch(0.501996 0.192725 18.079135); /** Danger (errors and destructive actions) — solid fill for badges and icons. */
  --info-surface: oklch(0.947933 0.013249 262.378766); /** Info (neutral information) — tinted background. */
  --info-text: oklch(0.331327 0.095363 262.195822); /** Info (neutral information) — readable text on the tint. */
  --info-border: oklch(0.676764 0.068234 261.470834); /** Info (neutral information) — border and divider. */
  --info-solid: oklch(0.450622 0.123283 262.351496); /** Info (neutral information) — solid fill for badges and icons. */
}
