/*
 * 95 CELSIUS design tokens.
 * GENERATED FILE - do not edit.
 * Source: brand/tokens/tokens.json
 * Regenerate: python brand/scripts/build_palette.py && python brand/scripts/build_tokens.py
 */

:root {
  color-scheme: light;
  --c95-background: 250 246 241;
  --c95-surface: 255 255 255;
  --c95-surface-sunken: 246 236 224;
  --c95-surface-raised: 255 255 255;
  --c95-surface-brand: 246 236 224;
  --c95-surface-inverse: 46 49 40;
  --c95-border: 229 218 205;
  --c95-border-strong: 209 197 183;
  --c95-border-focus: 98 104 89;
  --c95-content-primary: 46 49 40;
  --c95-content-secondary: 78 83 69;
  --c95-content-muted: 98 104 89;
  --c95-content-on-brand: 255 255 255;
  --c95-content-on-inverse: 250 246 241;
  --c95-brand: 121 127 111;
  --c95-brand-subtle: 233 236 230;
  --c95-primary: 98 104 89;
  --c95-primary-hover: 78 83 69;
  --c95-primary-active: 60 64 53;
  --c95-primary-subtle: 233 236 230;
  --c95-overlay-raw: rgba(34, 37, 29, 0.55);
  --c95-order-new-bg: 255 245 231;
  --c95-order-new-fg: 119 82 0;
  --c95-order-new-border: 249 214 158;
  --c95-order-new-solid: 153 107 0;
  --c95-order-new-on-solid: 255 255 255;
  --c95-order-received-by-branch-bg: 240 248 255;
  --c95-order-received-by-branch-fg: 47 94 133;
  --c95-order-received-by-branch-border: 193 224 251;
  --c95-order-received-by-branch-solid: 69 122 165;
  --c95-order-received-by-branch-on-solid: 255 255 255;
  --c95-order-preparing-bg: 255 244 240;
  --c95-order-preparing-fg: 143 63 19;
  --c95-order-preparing-border: 255 208 187;
  --c95-order-preparing-solid: 178 87 41;
  --c95-order-preparing-on-solid: 255 255 255;
  --c95-order-ready-for-pickup-bg: 246 247 243;
  --c95-order-ready-for-pickup-fg: 78 83 69;
  --c95-order-ready-for-pickup-border: 212 215 206;
  --c95-order-ready-for-pickup-solid: 98 104 89;
  --c95-order-ready-for-pickup-on-solid: 255 255 255;
  --c95-order-completed-bg: 250 246 241;
  --c95-order-completed-fg: 97 89 80;
  --c95-order-completed-border: 229 218 205;
  --c95-order-completed-solid: 124 115 104;
  --c95-order-completed-on-solid: 255 255 255;
  --c95-order-cancelled-bg: 255 244 243;
  --c95-order-cancelled-fg: 151 50 59;
  --c95-order-cancelled-border: 255 205 205;
  --c95-order-cancelled-solid: 187 73 81;
  --c95-order-cancelled-on-solid: 255 255 255;
  --c95-reservation-pending-bg: 255 245 231;
  --c95-reservation-pending-fg: 119 82 0;
  --c95-reservation-pending-border: 249 214 158;
  --c95-reservation-pending-solid: 153 107 0;
  --c95-reservation-pending-on-solid: 255 255 255;
  --c95-reservation-confirmed-bg: 246 247 243;
  --c95-reservation-confirmed-fg: 78 83 69;
  --c95-reservation-confirmed-border: 212 215 206;
  --c95-reservation-confirmed-solid: 98 104 89;
  --c95-reservation-confirmed-on-solid: 255 255 255;
  --c95-reservation-seated-bg: 240 248 255;
  --c95-reservation-seated-fg: 47 94 133;
  --c95-reservation-seated-border: 193 224 251;
  --c95-reservation-seated-solid: 69 122 165;
  --c95-reservation-seated-on-solid: 255 255 255;
  --c95-reservation-completed-bg: 250 246 241;
  --c95-reservation-completed-fg: 97 89 80;
  --c95-reservation-completed-border: 229 218 205;
  --c95-reservation-completed-solid: 124 115 104;
  --c95-reservation-completed-on-solid: 255 255 255;
  --c95-reservation-cancelled-bg: 255 244 243;
  --c95-reservation-cancelled-fg: 151 50 59;
  --c95-reservation-cancelled-border: 255 205 205;
  --c95-reservation-cancelled-solid: 187 73 81;
  --c95-reservation-cancelled-on-solid: 255 255 255;
  --c95-reservation-no-show-bg: 255 244 240;
  --c95-reservation-no-show-fg: 143 63 19;
  --c95-reservation-no-show-border: 255 208 187;
  --c95-reservation-no-show-solid: 178 87 41;
  --c95-reservation-no-show-on-solid: 255 255 255;
  --c95-feedback-new-bg: 255 245 231;
  --c95-feedback-new-fg: 119 82 0;
  --c95-feedback-new-border: 249 214 158;
  --c95-feedback-new-solid: 153 107 0;
  --c95-feedback-new-on-solid: 255 255 255;
  --c95-feedback-in-review-bg: 240 248 255;
  --c95-feedback-in-review-fg: 47 94 133;
  --c95-feedback-in-review-border: 193 224 251;
  --c95-feedback-in-review-solid: 69 122 165;
  --c95-feedback-in-review-on-solid: 255 255 255;
  --c95-feedback-resolved-bg: 246 247 243;
  --c95-feedback-resolved-fg: 78 83 69;
  --c95-feedback-resolved-border: 212 215 206;
  --c95-feedback-resolved-solid: 98 104 89;
  --c95-feedback-resolved-on-solid: 255 255 255;
  --c95-feedback-closed-bg: 250 246 241;
  --c95-feedback-closed-fg: 97 89 80;
  --c95-feedback-closed-border: 229 218 205;
  --c95-feedback-closed-solid: 124 115 104;
  --c95-feedback-closed-on-solid: 255 255 255;
  --c95-intent-success-bg: 246 247 243;
  --c95-intent-success-fg: 78 83 69;
  --c95-intent-success-border: 212 215 206;
  --c95-intent-success-solid: 98 104 89;
  --c95-intent-success-on-solid: 255 255 255;
  --c95-intent-warning-bg: 255 245 231;
  --c95-intent-warning-fg: 119 82 0;
  --c95-intent-warning-border: 249 214 158;
  --c95-intent-warning-solid: 153 107 0;
  --c95-intent-warning-on-solid: 255 255 255;
  --c95-intent-danger-bg: 255 244 243;
  --c95-intent-danger-fg: 151 50 59;
  --c95-intent-danger-border: 255 205 205;
  --c95-intent-danger-solid: 187 73 81;
  --c95-intent-danger-on-solid: 255 255 255;
  --c95-intent-info-bg: 240 248 255;
  --c95-intent-info-fg: 47 94 133;
  --c95-intent-info-border: 193 224 251;
  --c95-intent-info-solid: 69 122 165;
  --c95-intent-info-on-solid: 255 255 255;

  /* Static palette ramps - identical in both themes. */
  --c95-sage-50: 246 247 243;
  --c95-sage-100: 233 236 230;
  --c95-sage-200: 212 215 206;
  --c95-sage-300: 186 191 178;
  --c95-sage-400: 155 161 146;
  --c95-sage-500: 121 127 111;
  --c95-sage-600: 98 104 89;
  --c95-sage-700: 78 83 69;
  --c95-sage-800: 60 64 53;
  --c95-sage-900: 46 49 40;
  --c95-sage-950: 34 37 29;
  --c95-sand-50: 250 246 241;
  --c95-sand-100: 246 236 224;
  --c95-sand-200: 229 218 205;
  --c95-sand-300: 209 197 183;
  --c95-sand-400: 184 172 158;
  --c95-sand-500: 154 143 131;
  --c95-sand-600: 124 115 104;
  --c95-sand-700: 97 89 80;
  --c95-sand-800: 74 67 59;
  --c95-sand-900: 55 49 43;
  --c95-sand-950: 39 35 29;
  --c95-saffron-50: 255 245 231;
  --c95-saffron-100: 255 234 201;
  --c95-saffron-200: 249 214 158;
  --c95-saffron-300: 237 190 112;
  --c95-saffron-400: 219 162 55;
  --c95-saffron-500: 189 133 0;
  --c95-saffron-600: 153 107 0;
  --c95-saffron-700: 119 82 0;
  --c95-saffron-800: 91 62 0;
  --c95-saffron-900: 68 46 0;
  --c95-saffron-950: 49 32 0;
  --c95-clay-50: 255 244 240;
  --c95-clay-100: 255 231 221;
  --c95-clay-200: 255 208 187;
  --c95-clay-300: 254 178 144;
  --c95-clay-400: 238 147 105;
  --c95-clay-500: 211 115 69;
  --c95-clay-600: 178 87 41;
  --c95-clay-700: 143 63 19;
  --c95-clay-800: 112 45 7;
  --c95-clay-900: 85 31 1;
  --c95-clay-950: 63 21 0;
  --c95-steel-50: 240 248 255;
  --c95-steel-100: 222 239 255;
  --c95-steel-200: 193 224 251;
  --c95-steel-300: 162 204 240;
  --c95-steel-400: 128 179 223;
  --c95-steel-500: 96 150 196;
  --c95-steel-600: 69 122 165;
  --c95-steel-700: 47 94 133;
  --c95-steel-800: 32 72 103;
  --c95-steel-900: 21 53 78;
  --c95-steel-950: 11 38 58;
  --c95-rose-50: 255 244 243;
  --c95-rose-100: 255 230 229;
  --c95-rose-200: 255 205 205;
  --c95-rose-300: 255 174 174;
  --c95-rose-400: 248 135 138;
  --c95-rose-500: 221 101 108;
  --c95-rose-600: 187 73 81;
  --c95-rose-700: 151 50 59;
  --c95-rose-800: 118 34 42;
  --c95-rose-900: 90 22 29;
  --c95-rose-950: 68 12 19;

  /* Typography */
  --c95-font-display: "Jost", "Poppins", system-ui, sans-serif;
  --c95-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --c95-font-arabic: "Cairo", "IBM Plex Sans Arabic", Tahoma, sans-serif;
  --c95-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  --c95-text-display-xl-size: 3.5rem;
  --c95-text-display-xl-line: 1.05;
  --c95-text-display-lg-size: 2.75rem;
  --c95-text-display-lg-line: 1.10;
  --c95-text-display-md-size: 2.25rem;
  --c95-text-display-md-line: 1.15;
  --c95-text-h1-size: 1.875rem;
  --c95-text-h1-line: 1.20;
  --c95-text-h2-size: 1.5rem;
  --c95-text-h2-line: 1.25;
  --c95-text-h3-size: 1.25rem;
  --c95-text-h3-line: 1.30;
  --c95-text-body-lg-size: 1.125rem;
  --c95-text-body-lg-line: 1.60;
  --c95-text-body-size: 1rem;
  --c95-text-body-line: 1.60;
  --c95-text-body-sm-size: 0.875rem;
  --c95-text-body-sm-line: 1.55;
  --c95-text-caption-size: 0.8125rem;
  --c95-text-caption-line: 1.45;
  --c95-text-overline-size: 0.75rem;
  --c95-text-overline-line: 1.40;
  --c95-text-numeric-size: 1rem;
  --c95-text-numeric-line: 1.40;
  --c95-text-countdown-size: 2.5rem;
  --c95-text-countdown-line: 1.05;

  /* Radius, shadow, motion */
  --c95-radius-none: 0;
  --c95-radius-sm: 0.375rem;
  --c95-radius-md: 0.625rem;
  --c95-radius-lg: 0.875rem;
  --c95-radius-xl: 1.25rem;
  --c95-radius-2xl: 1.75rem;
  --c95-radius-full: 9999px;
  --c95-shadow-xs: 0 1px 2px 0 rgba(46, 49, 40, 0.05);
  --c95-shadow-sm: 0 1px 3px 0 rgba(46, 49, 40, 0.08), 0 1px 2px -1px rgba(46, 49, 40, 0.06);
  --c95-shadow-md: 0 4px 12px -2px rgba(46, 49, 40, 0.10), 0 2px 6px -2px rgba(46, 49, 40, 0.06);
  --c95-shadow-lg: 0 12px 24px -6px rgba(46, 49, 40, 0.12), 0 4px 10px -4px rgba(46, 49, 40, 0.07);
  --c95-shadow-xl: 0 24px 48px -12px rgba(46, 49, 40, 0.18);
  --c95-shadow-focus: 0 0 0 3px rgba(121, 127, 111, 0.35);
  --c95-duration-instant: 80ms;
  --c95-duration-fast: 140ms;
  --c95-duration-normal: 220ms;
  --c95-duration-slow: 360ms;
  --c95-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --c95-ease-decelerate: cubic-bezier(0, 0, 0, 1);
  --c95-ease-accelerate: cubic-bezier(0.3, 0, 1, 1);
}

/* Follow the OS by default ... */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --c95-background: 34 37 29;
    --c95-surface: 46 49 40;
    --c95-surface-sunken: 27 30 23;
    --c95-surface-raised: 60 64 53;
    --c95-surface-brand: 60 64 53;
    --c95-surface-inverse: 250 246 241;
    --c95-border: 60 64 53;
    --c95-border-strong: 78 83 69;
    --c95-border-focus: 186 191 178;
    --c95-content-primary: 250 246 241;
    --c95-content-secondary: 212 215 206;
    --c95-content-muted: 186 191 178;
    --c95-content-on-brand: 34 37 29;
    --c95-content-on-inverse: 46 49 40;
    --c95-brand: 186 191 178;
    --c95-brand-subtle: 60 64 53;
    --c95-primary: 186 191 178;
    --c95-primary-hover: 212 215 206;
    --c95-primary-active: 233 236 230;
    --c95-primary-subtle: 60 64 53;
    --c95-overlay-raw: rgba(10, 12, 8, 0.65);
    --c95-order-new-bg: 68 46 0;
    --c95-order-new-fg: 249 214 158;
    --c95-order-new-border: 119 82 0;
    --c95-order-new-solid: 219 162 55;
    --c95-order-new-on-solid: 49 32 0;
    --c95-order-received-by-branch-bg: 21 53 78;
    --c95-order-received-by-branch-fg: 193 224 251;
    --c95-order-received-by-branch-border: 47 94 133;
    --c95-order-received-by-branch-solid: 128 179 223;
    --c95-order-received-by-branch-on-solid: 11 38 58;
    --c95-order-preparing-bg: 85 31 1;
    --c95-order-preparing-fg: 255 208 187;
    --c95-order-preparing-border: 143 63 19;
    --c95-order-preparing-solid: 238 147 105;
    --c95-order-preparing-on-solid: 63 21 0;
    --c95-order-ready-for-pickup-bg: 46 49 40;
    --c95-order-ready-for-pickup-fg: 212 215 206;
    --c95-order-ready-for-pickup-border: 78 83 69;
    --c95-order-ready-for-pickup-solid: 155 161 146;
    --c95-order-ready-for-pickup-on-solid: 34 37 29;
    --c95-order-completed-bg: 55 49 43;
    --c95-order-completed-fg: 229 218 205;
    --c95-order-completed-border: 97 89 80;
    --c95-order-completed-solid: 184 172 158;
    --c95-order-completed-on-solid: 39 35 29;
    --c95-order-cancelled-bg: 90 22 29;
    --c95-order-cancelled-fg: 255 205 205;
    --c95-order-cancelled-border: 151 50 59;
    --c95-order-cancelled-solid: 248 135 138;
    --c95-order-cancelled-on-solid: 68 12 19;
    --c95-reservation-pending-bg: 68 46 0;
    --c95-reservation-pending-fg: 249 214 158;
    --c95-reservation-pending-border: 119 82 0;
    --c95-reservation-pending-solid: 219 162 55;
    --c95-reservation-pending-on-solid: 49 32 0;
    --c95-reservation-confirmed-bg: 46 49 40;
    --c95-reservation-confirmed-fg: 212 215 206;
    --c95-reservation-confirmed-border: 78 83 69;
    --c95-reservation-confirmed-solid: 155 161 146;
    --c95-reservation-confirmed-on-solid: 34 37 29;
    --c95-reservation-seated-bg: 21 53 78;
    --c95-reservation-seated-fg: 193 224 251;
    --c95-reservation-seated-border: 47 94 133;
    --c95-reservation-seated-solid: 128 179 223;
    --c95-reservation-seated-on-solid: 11 38 58;
    --c95-reservation-completed-bg: 55 49 43;
    --c95-reservation-completed-fg: 229 218 205;
    --c95-reservation-completed-border: 97 89 80;
    --c95-reservation-completed-solid: 184 172 158;
    --c95-reservation-completed-on-solid: 39 35 29;
    --c95-reservation-cancelled-bg: 90 22 29;
    --c95-reservation-cancelled-fg: 255 205 205;
    --c95-reservation-cancelled-border: 151 50 59;
    --c95-reservation-cancelled-solid: 248 135 138;
    --c95-reservation-cancelled-on-solid: 68 12 19;
    --c95-reservation-no-show-bg: 85 31 1;
    --c95-reservation-no-show-fg: 255 208 187;
    --c95-reservation-no-show-border: 143 63 19;
    --c95-reservation-no-show-solid: 238 147 105;
    --c95-reservation-no-show-on-solid: 63 21 0;
    --c95-feedback-new-bg: 68 46 0;
    --c95-feedback-new-fg: 249 214 158;
    --c95-feedback-new-border: 119 82 0;
    --c95-feedback-new-solid: 219 162 55;
    --c95-feedback-new-on-solid: 49 32 0;
    --c95-feedback-in-review-bg: 21 53 78;
    --c95-feedback-in-review-fg: 193 224 251;
    --c95-feedback-in-review-border: 47 94 133;
    --c95-feedback-in-review-solid: 128 179 223;
    --c95-feedback-in-review-on-solid: 11 38 58;
    --c95-feedback-resolved-bg: 46 49 40;
    --c95-feedback-resolved-fg: 212 215 206;
    --c95-feedback-resolved-border: 78 83 69;
    --c95-feedback-resolved-solid: 155 161 146;
    --c95-feedback-resolved-on-solid: 34 37 29;
    --c95-feedback-closed-bg: 55 49 43;
    --c95-feedback-closed-fg: 229 218 205;
    --c95-feedback-closed-border: 97 89 80;
    --c95-feedback-closed-solid: 184 172 158;
    --c95-feedback-closed-on-solid: 39 35 29;
    --c95-intent-success-bg: 46 49 40;
    --c95-intent-success-fg: 212 215 206;
    --c95-intent-success-border: 78 83 69;
    --c95-intent-success-solid: 155 161 146;
    --c95-intent-success-on-solid: 34 37 29;
    --c95-intent-warning-bg: 68 46 0;
    --c95-intent-warning-fg: 249 214 158;
    --c95-intent-warning-border: 119 82 0;
    --c95-intent-warning-solid: 219 162 55;
    --c95-intent-warning-on-solid: 49 32 0;
    --c95-intent-danger-bg: 90 22 29;
    --c95-intent-danger-fg: 255 205 205;
    --c95-intent-danger-border: 151 50 59;
    --c95-intent-danger-solid: 248 135 138;
    --c95-intent-danger-on-solid: 68 12 19;
    --c95-intent-info-bg: 21 53 78;
    --c95-intent-info-fg: 193 224 251;
    --c95-intent-info-border: 47 94 133;
    --c95-intent-info-solid: 128 179 223;
    --c95-intent-info-on-solid: 11 38 58;
  }
}

/* ... but an explicit choice always wins. */
[data-theme="dark"], .dark {
  color-scheme: dark;
  --c95-background: 34 37 29;
  --c95-surface: 46 49 40;
  --c95-surface-sunken: 27 30 23;
  --c95-surface-raised: 60 64 53;
  --c95-surface-brand: 60 64 53;
  --c95-surface-inverse: 250 246 241;
  --c95-border: 60 64 53;
  --c95-border-strong: 78 83 69;
  --c95-border-focus: 186 191 178;
  --c95-content-primary: 250 246 241;
  --c95-content-secondary: 212 215 206;
  --c95-content-muted: 186 191 178;
  --c95-content-on-brand: 34 37 29;
  --c95-content-on-inverse: 46 49 40;
  --c95-brand: 186 191 178;
  --c95-brand-subtle: 60 64 53;
  --c95-primary: 186 191 178;
  --c95-primary-hover: 212 215 206;
  --c95-primary-active: 233 236 230;
  --c95-primary-subtle: 60 64 53;
  --c95-overlay-raw: rgba(10, 12, 8, 0.65);
  --c95-order-new-bg: 68 46 0;
  --c95-order-new-fg: 249 214 158;
  --c95-order-new-border: 119 82 0;
  --c95-order-new-solid: 219 162 55;
  --c95-order-new-on-solid: 49 32 0;
  --c95-order-received-by-branch-bg: 21 53 78;
  --c95-order-received-by-branch-fg: 193 224 251;
  --c95-order-received-by-branch-border: 47 94 133;
  --c95-order-received-by-branch-solid: 128 179 223;
  --c95-order-received-by-branch-on-solid: 11 38 58;
  --c95-order-preparing-bg: 85 31 1;
  --c95-order-preparing-fg: 255 208 187;
  --c95-order-preparing-border: 143 63 19;
  --c95-order-preparing-solid: 238 147 105;
  --c95-order-preparing-on-solid: 63 21 0;
  --c95-order-ready-for-pickup-bg: 46 49 40;
  --c95-order-ready-for-pickup-fg: 212 215 206;
  --c95-order-ready-for-pickup-border: 78 83 69;
  --c95-order-ready-for-pickup-solid: 155 161 146;
  --c95-order-ready-for-pickup-on-solid: 34 37 29;
  --c95-order-completed-bg: 55 49 43;
  --c95-order-completed-fg: 229 218 205;
  --c95-order-completed-border: 97 89 80;
  --c95-order-completed-solid: 184 172 158;
  --c95-order-completed-on-solid: 39 35 29;
  --c95-order-cancelled-bg: 90 22 29;
  --c95-order-cancelled-fg: 255 205 205;
  --c95-order-cancelled-border: 151 50 59;
  --c95-order-cancelled-solid: 248 135 138;
  --c95-order-cancelled-on-solid: 68 12 19;
  --c95-reservation-pending-bg: 68 46 0;
  --c95-reservation-pending-fg: 249 214 158;
  --c95-reservation-pending-border: 119 82 0;
  --c95-reservation-pending-solid: 219 162 55;
  --c95-reservation-pending-on-solid: 49 32 0;
  --c95-reservation-confirmed-bg: 46 49 40;
  --c95-reservation-confirmed-fg: 212 215 206;
  --c95-reservation-confirmed-border: 78 83 69;
  --c95-reservation-confirmed-solid: 155 161 146;
  --c95-reservation-confirmed-on-solid: 34 37 29;
  --c95-reservation-seated-bg: 21 53 78;
  --c95-reservation-seated-fg: 193 224 251;
  --c95-reservation-seated-border: 47 94 133;
  --c95-reservation-seated-solid: 128 179 223;
  --c95-reservation-seated-on-solid: 11 38 58;
  --c95-reservation-completed-bg: 55 49 43;
  --c95-reservation-completed-fg: 229 218 205;
  --c95-reservation-completed-border: 97 89 80;
  --c95-reservation-completed-solid: 184 172 158;
  --c95-reservation-completed-on-solid: 39 35 29;
  --c95-reservation-cancelled-bg: 90 22 29;
  --c95-reservation-cancelled-fg: 255 205 205;
  --c95-reservation-cancelled-border: 151 50 59;
  --c95-reservation-cancelled-solid: 248 135 138;
  --c95-reservation-cancelled-on-solid: 68 12 19;
  --c95-reservation-no-show-bg: 85 31 1;
  --c95-reservation-no-show-fg: 255 208 187;
  --c95-reservation-no-show-border: 143 63 19;
  --c95-reservation-no-show-solid: 238 147 105;
  --c95-reservation-no-show-on-solid: 63 21 0;
  --c95-feedback-new-bg: 68 46 0;
  --c95-feedback-new-fg: 249 214 158;
  --c95-feedback-new-border: 119 82 0;
  --c95-feedback-new-solid: 219 162 55;
  --c95-feedback-new-on-solid: 49 32 0;
  --c95-feedback-in-review-bg: 21 53 78;
  --c95-feedback-in-review-fg: 193 224 251;
  --c95-feedback-in-review-border: 47 94 133;
  --c95-feedback-in-review-solid: 128 179 223;
  --c95-feedback-in-review-on-solid: 11 38 58;
  --c95-feedback-resolved-bg: 46 49 40;
  --c95-feedback-resolved-fg: 212 215 206;
  --c95-feedback-resolved-border: 78 83 69;
  --c95-feedback-resolved-solid: 155 161 146;
  --c95-feedback-resolved-on-solid: 34 37 29;
  --c95-feedback-closed-bg: 55 49 43;
  --c95-feedback-closed-fg: 229 218 205;
  --c95-feedback-closed-border: 97 89 80;
  --c95-feedback-closed-solid: 184 172 158;
  --c95-feedback-closed-on-solid: 39 35 29;
  --c95-intent-success-bg: 46 49 40;
  --c95-intent-success-fg: 212 215 206;
  --c95-intent-success-border: 78 83 69;
  --c95-intent-success-solid: 155 161 146;
  --c95-intent-success-on-solid: 34 37 29;
  --c95-intent-warning-bg: 68 46 0;
  --c95-intent-warning-fg: 249 214 158;
  --c95-intent-warning-border: 119 82 0;
  --c95-intent-warning-solid: 219 162 55;
  --c95-intent-warning-on-solid: 49 32 0;
  --c95-intent-danger-bg: 90 22 29;
  --c95-intent-danger-fg: 255 205 205;
  --c95-intent-danger-border: 151 50 59;
  --c95-intent-danger-solid: 248 135 138;
  --c95-intent-danger-on-solid: 68 12 19;
  --c95-intent-info-bg: 21 53 78;
  --c95-intent-info-fg: 193 224 251;
  --c95-intent-info-border: 47 94 133;
  --c95-intent-info-solid: 128 179 223;
  --c95-intent-info-on-solid: 11 38 58;
}

/* Status chips. Colour is never the only signal - pair these
   with the status icon and its text label (spec 74, 77). */
.c95-chip {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  border-radius: var(--c95-radius-full);
  border: 1px solid;
  font-size: var(--c95-text-caption-size);
  font-weight: 600;
  white-space: nowrap;
}
.c95-chip--order-new {
  background: rgb(var(--c95-order-new-bg));
  color: rgb(var(--c95-order-new-fg));
  border-color: rgb(var(--c95-order-new-border));
}
.c95-chip--order-new.is-solid {
  background: rgb(var(--c95-order-new-solid));
  color: rgb(var(--c95-order-new-on-solid));
  border-color: rgb(var(--c95-order-new-solid));
}
.c95-chip--order-received-by-branch {
  background: rgb(var(--c95-order-received-by-branch-bg));
  color: rgb(var(--c95-order-received-by-branch-fg));
  border-color: rgb(var(--c95-order-received-by-branch-border));
}
.c95-chip--order-received-by-branch.is-solid {
  background: rgb(var(--c95-order-received-by-branch-solid));
  color: rgb(var(--c95-order-received-by-branch-on-solid));
  border-color: rgb(var(--c95-order-received-by-branch-solid));
}
.c95-chip--order-preparing {
  background: rgb(var(--c95-order-preparing-bg));
  color: rgb(var(--c95-order-preparing-fg));
  border-color: rgb(var(--c95-order-preparing-border));
}
.c95-chip--order-preparing.is-solid {
  background: rgb(var(--c95-order-preparing-solid));
  color: rgb(var(--c95-order-preparing-on-solid));
  border-color: rgb(var(--c95-order-preparing-solid));
}
.c95-chip--order-ready-for-pickup {
  background: rgb(var(--c95-order-ready-for-pickup-bg));
  color: rgb(var(--c95-order-ready-for-pickup-fg));
  border-color: rgb(var(--c95-order-ready-for-pickup-border));
}
.c95-chip--order-ready-for-pickup.is-solid {
  background: rgb(var(--c95-order-ready-for-pickup-solid));
  color: rgb(var(--c95-order-ready-for-pickup-on-solid));
  border-color: rgb(var(--c95-order-ready-for-pickup-solid));
}
.c95-chip--order-completed {
  background: rgb(var(--c95-order-completed-bg));
  color: rgb(var(--c95-order-completed-fg));
  border-color: rgb(var(--c95-order-completed-border));
}
.c95-chip--order-completed.is-solid {
  background: rgb(var(--c95-order-completed-solid));
  color: rgb(var(--c95-order-completed-on-solid));
  border-color: rgb(var(--c95-order-completed-solid));
}
.c95-chip--order-cancelled {
  background: rgb(var(--c95-order-cancelled-bg));
  color: rgb(var(--c95-order-cancelled-fg));
  border-color: rgb(var(--c95-order-cancelled-border));
}
.c95-chip--order-cancelled.is-solid {
  background: rgb(var(--c95-order-cancelled-solid));
  color: rgb(var(--c95-order-cancelled-on-solid));
  border-color: rgb(var(--c95-order-cancelled-solid));
}
.c95-chip--reservation-pending {
  background: rgb(var(--c95-reservation-pending-bg));
  color: rgb(var(--c95-reservation-pending-fg));
  border-color: rgb(var(--c95-reservation-pending-border));
}
.c95-chip--reservation-pending.is-solid {
  background: rgb(var(--c95-reservation-pending-solid));
  color: rgb(var(--c95-reservation-pending-on-solid));
  border-color: rgb(var(--c95-reservation-pending-solid));
}
.c95-chip--reservation-confirmed {
  background: rgb(var(--c95-reservation-confirmed-bg));
  color: rgb(var(--c95-reservation-confirmed-fg));
  border-color: rgb(var(--c95-reservation-confirmed-border));
}
.c95-chip--reservation-confirmed.is-solid {
  background: rgb(var(--c95-reservation-confirmed-solid));
  color: rgb(var(--c95-reservation-confirmed-on-solid));
  border-color: rgb(var(--c95-reservation-confirmed-solid));
}
.c95-chip--reservation-seated {
  background: rgb(var(--c95-reservation-seated-bg));
  color: rgb(var(--c95-reservation-seated-fg));
  border-color: rgb(var(--c95-reservation-seated-border));
}
.c95-chip--reservation-seated.is-solid {
  background: rgb(var(--c95-reservation-seated-solid));
  color: rgb(var(--c95-reservation-seated-on-solid));
  border-color: rgb(var(--c95-reservation-seated-solid));
}
.c95-chip--reservation-completed {
  background: rgb(var(--c95-reservation-completed-bg));
  color: rgb(var(--c95-reservation-completed-fg));
  border-color: rgb(var(--c95-reservation-completed-border));
}
.c95-chip--reservation-completed.is-solid {
  background: rgb(var(--c95-reservation-completed-solid));
  color: rgb(var(--c95-reservation-completed-on-solid));
  border-color: rgb(var(--c95-reservation-completed-solid));
}
.c95-chip--reservation-cancelled {
  background: rgb(var(--c95-reservation-cancelled-bg));
  color: rgb(var(--c95-reservation-cancelled-fg));
  border-color: rgb(var(--c95-reservation-cancelled-border));
}
.c95-chip--reservation-cancelled.is-solid {
  background: rgb(var(--c95-reservation-cancelled-solid));
  color: rgb(var(--c95-reservation-cancelled-on-solid));
  border-color: rgb(var(--c95-reservation-cancelled-solid));
}
.c95-chip--reservation-no-show {
  background: rgb(var(--c95-reservation-no-show-bg));
  color: rgb(var(--c95-reservation-no-show-fg));
  border-color: rgb(var(--c95-reservation-no-show-border));
}
.c95-chip--reservation-no-show.is-solid {
  background: rgb(var(--c95-reservation-no-show-solid));
  color: rgb(var(--c95-reservation-no-show-on-solid));
  border-color: rgb(var(--c95-reservation-no-show-solid));
}
.c95-chip--feedback-new {
  background: rgb(var(--c95-feedback-new-bg));
  color: rgb(var(--c95-feedback-new-fg));
  border-color: rgb(var(--c95-feedback-new-border));
}
.c95-chip--feedback-new.is-solid {
  background: rgb(var(--c95-feedback-new-solid));
  color: rgb(var(--c95-feedback-new-on-solid));
  border-color: rgb(var(--c95-feedback-new-solid));
}
.c95-chip--feedback-in-review {
  background: rgb(var(--c95-feedback-in-review-bg));
  color: rgb(var(--c95-feedback-in-review-fg));
  border-color: rgb(var(--c95-feedback-in-review-border));
}
.c95-chip--feedback-in-review.is-solid {
  background: rgb(var(--c95-feedback-in-review-solid));
  color: rgb(var(--c95-feedback-in-review-on-solid));
  border-color: rgb(var(--c95-feedback-in-review-solid));
}
.c95-chip--feedback-resolved {
  background: rgb(var(--c95-feedback-resolved-bg));
  color: rgb(var(--c95-feedback-resolved-fg));
  border-color: rgb(var(--c95-feedback-resolved-border));
}
.c95-chip--feedback-resolved.is-solid {
  background: rgb(var(--c95-feedback-resolved-solid));
  color: rgb(var(--c95-feedback-resolved-on-solid));
  border-color: rgb(var(--c95-feedback-resolved-solid));
}
.c95-chip--feedback-closed {
  background: rgb(var(--c95-feedback-closed-bg));
  color: rgb(var(--c95-feedback-closed-fg));
  border-color: rgb(var(--c95-feedback-closed-border));
}
.c95-chip--feedback-closed.is-solid {
  background: rgb(var(--c95-feedback-closed-solid));
  color: rgb(var(--c95-feedback-closed-on-solid));
  border-color: rgb(var(--c95-feedback-closed-solid));
}
.c95-chip--intent-success {
  background: rgb(var(--c95-intent-success-bg));
  color: rgb(var(--c95-intent-success-fg));
  border-color: rgb(var(--c95-intent-success-border));
}
.c95-chip--intent-success.is-solid {
  background: rgb(var(--c95-intent-success-solid));
  color: rgb(var(--c95-intent-success-on-solid));
  border-color: rgb(var(--c95-intent-success-solid));
}
.c95-chip--intent-warning {
  background: rgb(var(--c95-intent-warning-bg));
  color: rgb(var(--c95-intent-warning-fg));
  border-color: rgb(var(--c95-intent-warning-border));
}
.c95-chip--intent-warning.is-solid {
  background: rgb(var(--c95-intent-warning-solid));
  color: rgb(var(--c95-intent-warning-on-solid));
  border-color: rgb(var(--c95-intent-warning-solid));
}
.c95-chip--intent-danger {
  background: rgb(var(--c95-intent-danger-bg));
  color: rgb(var(--c95-intent-danger-fg));
  border-color: rgb(var(--c95-intent-danger-border));
}
.c95-chip--intent-danger.is-solid {
  background: rgb(var(--c95-intent-danger-solid));
  color: rgb(var(--c95-intent-danger-on-solid));
  border-color: rgb(var(--c95-intent-danger-solid));
}
.c95-chip--intent-info {
  background: rgb(var(--c95-intent-info-bg));
  color: rgb(var(--c95-intent-info-fg));
  border-color: rgb(var(--c95-intent-info-border));
}
.c95-chip--intent-info.is-solid {
  background: rgb(var(--c95-intent-info-solid));
  color: rgb(var(--c95-intent-info-on-solid));
  border-color: rgb(var(--c95-intent-info-solid));
}

/* The branch app's unacknowledged-order alert (spec 18, 80). */
@keyframes c95-alert-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.55; }
}
.c95-alert-pulse {
  animation: c95-alert-pulse 1100ms cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@media (prefers-reduced-motion: reduce) {
  .c95-alert-pulse { animation: none; outline: 2px solid rgb(var(--c95-order-new-solid)); }
}
