/* Divine Foods design language v0.5.0: tokens. GENERATED from tokens/*.json: do not edit. */
@layer df.tokens, df.base, df.components;

@layer df.tokens {
  :root {
    --df-orange-50: #fef8f5;
    --df-orange-100: #fceee8;
    --df-orange-200: #f5c4aa;
    --df-orange-300: #f59a72;
    --df-orange-400: #f2743f;
    --df-orange-450: #e06d44;
    --df-orange-500: #dd592b;
    --df-orange-600: #c44c22;
    --df-orange-650: #a83f1b;
    --df-orange-700: #b8441e;
    --df-orange-800: #8f3517;
    --df-orange-900: #3a241c;
    --df-orange-950: #241611;
    --df-stone-0: #ffffff;
    --df-stone-25: #f5f3ea;
    --df-stone-50: #fffef5;
    --df-stone-100: #f7f6ee;
    --df-stone-150: #f0efe6;
    --df-stone-200: #e2e0d5;
    --df-stone-300: #d6d3c6;
    --df-stone-400: #9c9b96;
    --df-stone-450: #a29e92;
    --df-stone-500: #86847a;
    --df-stone-550: #726f64;
    --df-stone-600: #5c5b57;
    --df-stone-700: #2d2d2d;
    --df-stone-750: #35322a;
    --df-stone-800: #27241d;
    --df-stone-825: #262319;
    --df-stone-850: #1e1c17;
    --df-stone-900: #14130f;
    --df-stone-950: #0d0d0d;
    --df-sage-50: #d9d6c4;
    --df-sage-100: #f5f4ec;
    --df-sage-300: #c9c5a8;
    --df-sage-400: #a8a38a;
    --df-sage-500: #8f8c74;
    --df-sage-700: #4a4635;
    --df-sage-850: #2a2a24;
    --df-font: "Plus Jakarta Sans", "Jakarta Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
    --df-font-mono: "JetBrains Mono", "Mono Fallback", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    --df-text-xs: 0.6875rem;
    --df-text-sm: 0.75rem;
    --df-text-dense: 0.8125rem;
    --df-text-base: 0.875rem;
    --df-text-touch: 1rem;
    --df-text-lg: 1.125rem;
    --df-text-xl: 1.375rem;
    --df-text-2xl: 1.75rem;
    --df-text-3xl: 2.125rem;
    --df-space-1: 4px;
    --df-space-2: 8px;
    --df-space-3: 12px;
    --df-space-4: 16px;
    --df-space-5: 20px;
    --df-space-6: 24px;
    --df-space-8: 32px;
    --df-space-10: 40px;
    --df-radius-sm: 5px;
    --df-radius-md: 8px;
    --df-radius-lg: 12px;
    --df-radius-xl: 16px;
    --df-radius-pill: 999px;
    --df-z-sticky: 10;
    --df-z-dropdown: 50;
    --df-z-bar: 100;
    --df-z-modal: 200;
    --df-z-toast: 300;
    --df-duration-fast: 120ms;
    --df-duration-base: 200ms;
    --df-ease-out: cubic-bezier(.2,.8,.2,1);
    --df-bp-sm: 640px;
    --df-bp-md: 768px;
    --df-bp-lg: 1024px;
    --df-bp-xl: 1280px;
    --df-bp-2xl: 1536px;
    --df-border-width: 1.5px;
    --df-target-fine: 28px;
    --df-target-coarse: 44px;
    --df-control-h: 36px;
    --df-target-min: var(--df-target-fine);
    --df-sage: #c9c5a8;
    --df-bg: #fffef5;
    --df-surface: #ffffff;
    --df-surface-raised: #f7f6ee;
    --df-surface-sunken: #f0efe6;
    --df-text: #0d0d0d;
    --df-text-2: #2d2d2d;
    --df-text-muted: #5c5b57;
    --df-text-disabled: #9c9b96;
    --df-accent: #dd592b;
    --df-accent-mid: #e06d44;
    --df-accent-strong: #c44c22;
    --df-accent-strong-hover: #a83f1b;
    --df-on-accent: #ffffff;
    --df-accent-text: #b8441e;
    --df-accent-tint: #fceee8;
    --df-accent-faint: #fef8f5;
    --df-accent-border: #f5c4aa;
    --df-sage-strong: #a8a38a;
    --df-sage-tint: #f5f4ec;
    --df-sage-text: #4a4635;
    --df-separator: #e2e0d5;
    --df-border-control: #86847a;
    --df-focus-color: #dd592b;
    --df-on-solid: #ffffff;
    --df-danger-text: #b3321f;
    --df-danger-bg: #fdecea;
    --df-danger-border: #f5a9a3;
    --df-danger-solid: #c0392b;
    --df-warning-text: #7c5c00;
    --df-warning-bg: #fff8e1;
    --df-warning-border: #ffe082;
    --df-warning-solid: #7c5c00;
    --df-success-text: #1a5c38;
    --df-success-bg: #f0f9f4;
    --df-success-border: #a8d5b5;
    --df-success-solid: #1a5c38;
    --df-info-text: #1565c0;
    --df-info-bg: #e3f2fd;
    --df-info-border: #90caf9;
    --df-info-solid: #1565c0;
    --df-scrim: rgba(13,13,13,.45);
    --df-bar-bg: rgba(255,254,245,.92);
    --df-focus-ring: 0 0 0 3px rgba(221,89,43,.30);
    --df-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --df-shadow-md: 0 2px 8px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.04);
    --df-shadow-lg: 0 4px 20px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.05);
    --df-shadow-bar: 0 -2px 16px rgba(0,0,0,.08);
    --df-cat-1: #dd592b;
    --df-cat-2: #2a78d6;
    --df-cat-3: #1baf7a;
    --df-cat-4: #eda100;
    --df-cat-5: #e87ba4;
    --df-cat-6: #008300;
    --df-cat-7: #6250d6;
    --df-cat-8: #e34948;
    color-scheme: light dark;
  }
  :root[data-theme="light"] { color-scheme: light; }

  /* Dark: follows the OS unless the viewer chose Light */
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --df-sage: #8f8c74;
      --df-bg: #14130f;
      --df-surface: #1e1c17;
      --df-surface-raised: #27241d;
      --df-surface-sunken: #262319;
      --df-text: #f5f3ea;
      --df-text-2: #d6d3c6;
      --df-text-muted: #a29e92;
      --df-text-disabled: #726f64;
      --df-accent: #f2743f;
      --df-accent-mid: #e06d44;
      --df-accent-strong: #f2743f;
      --df-accent-strong-hover: #f59a72;
      --df-on-accent: #14130f;
      --df-accent-text: #f2743f;
      --df-accent-tint: #3a241c;
      --df-accent-faint: #241611;
      --df-accent-border: #6b3a28;
      --df-sage-strong: #8f8c74;
      --df-sage-tint: #2a2a24;
      --df-sage-text: #d9d6c4;
      --df-separator: #35322a;
      --df-border-control: #7d7868;
      --df-focus-color: #f2743f;
      --df-on-solid: #14130f;
      --df-danger-text: #e8705f;
      --df-danger-bg: #3a1d19;
      --df-danger-border: #6e332b;
      --df-danger-solid: #e8705f;
      --df-warning-text: #e8c766;
      --df-warning-bg: #332b12;
      --df-warning-border: #5c4d1e;
      --df-warning-solid: #e8c766;
      --df-success-text: #7fd0a3;
      --df-success-bg: #16281e;
      --df-success-border: #2f5a42;
      --df-success-solid: #7fd0a3;
      --df-info-text: #7bb6f2;
      --df-info-bg: #182738;
      --df-info-border: #2d4a6e;
      --df-info-solid: #7bb6f2;
      --df-scrim: rgba(0,0,0,.6);
      --df-bar-bg: rgba(20,19,15,.88);
      --df-focus-ring: 0 0 0 3px rgba(242,116,63,.35);
      --df-shadow-sm: 0 1px 3px rgba(0,0,0,.4);
      --df-shadow-md: 0 2px 8px rgba(0,0,0,.45);
      --df-shadow-lg: 0 4px 20px rgba(0,0,0,.5);
      --df-shadow-bar: 0 -2px 16px rgba(0,0,0,.5);
      --df-cat-1: #e0612f;
      --df-cat-2: #3987e5;
      --df-cat-3: #199e70;
      --df-cat-4: #c98500;
      --df-cat-5: #d55181;
      --df-cat-6: #008300;
      --df-cat-7: #9085e9;
      --df-cat-8: #e66767;
      color-scheme: dark;
    }
  }
  /* Dark: explicitly chosen */
  :root[data-theme="dark"] {
    --df-sage: #8f8c74;
    --df-bg: #14130f;
    --df-surface: #1e1c17;
    --df-surface-raised: #27241d;
    --df-surface-sunken: #262319;
    --df-text: #f5f3ea;
    --df-text-2: #d6d3c6;
    --df-text-muted: #a29e92;
    --df-text-disabled: #726f64;
    --df-accent: #f2743f;
    --df-accent-mid: #e06d44;
    --df-accent-strong: #f2743f;
    --df-accent-strong-hover: #f59a72;
    --df-on-accent: #14130f;
    --df-accent-text: #f2743f;
    --df-accent-tint: #3a241c;
    --df-accent-faint: #241611;
    --df-accent-border: #6b3a28;
    --df-sage-strong: #8f8c74;
    --df-sage-tint: #2a2a24;
    --df-sage-text: #d9d6c4;
    --df-separator: #35322a;
    --df-border-control: #7d7868;
    --df-focus-color: #f2743f;
    --df-on-solid: #14130f;
    --df-danger-text: #e8705f;
    --df-danger-bg: #3a1d19;
    --df-danger-border: #6e332b;
    --df-danger-solid: #e8705f;
    --df-warning-text: #e8c766;
    --df-warning-bg: #332b12;
    --df-warning-border: #5c4d1e;
    --df-warning-solid: #e8c766;
    --df-success-text: #7fd0a3;
    --df-success-bg: #16281e;
    --df-success-border: #2f5a42;
    --df-success-solid: #7fd0a3;
    --df-info-text: #7bb6f2;
    --df-info-bg: #182738;
    --df-info-border: #2d4a6e;
    --df-info-solid: #7bb6f2;
    --df-scrim: rgba(0,0,0,.6);
    --df-bar-bg: rgba(20,19,15,.88);
    --df-focus-ring: 0 0 0 3px rgba(242,116,63,.35);
    --df-shadow-sm: 0 1px 3px rgba(0,0,0,.4);
    --df-shadow-md: 0 2px 8px rgba(0,0,0,.45);
    --df-shadow-lg: 0 4px 20px rgba(0,0,0,.5);
    --df-shadow-bar: 0 -2px 16px rgba(0,0,0,.5);
    --df-cat-1: #e0612f;
    --df-cat-2: #3987e5;
    --df-cat-3: #199e70;
    --df-cat-4: #c98500;
    --df-cat-5: #d55181;
    --df-cat-6: #008300;
    --df-cat-7: #9085e9;
    --df-cat-8: #e66767;
    color-scheme: dark;
  }

  /* Paper: an always-light scope for on-screen previews of printed documents (invoices, labels),
     whatever the viewer's appearance. Custom properties inherit, so everything inside reads light. */
  .df-paper {
    --df-sage: #c9c5a8;
    --df-bg: #fffef5;
    --df-surface: #ffffff;
    --df-surface-raised: #f7f6ee;
    --df-surface-sunken: #f0efe6;
    --df-text: #0d0d0d;
    --df-text-2: #2d2d2d;
    --df-text-muted: #5c5b57;
    --df-text-disabled: #9c9b96;
    --df-accent: #dd592b;
    --df-accent-mid: #e06d44;
    --df-accent-strong: #c44c22;
    --df-accent-strong-hover: #a83f1b;
    --df-on-accent: #ffffff;
    --df-accent-text: #b8441e;
    --df-accent-tint: #fceee8;
    --df-accent-faint: #fef8f5;
    --df-accent-border: #f5c4aa;
    --df-sage-strong: #a8a38a;
    --df-sage-tint: #f5f4ec;
    --df-sage-text: #4a4635;
    --df-separator: #e2e0d5;
    --df-border-control: #86847a;
    --df-focus-color: #dd592b;
    --df-on-solid: #ffffff;
    --df-danger-text: #b3321f;
    --df-danger-bg: #fdecea;
    --df-danger-border: #f5a9a3;
    --df-danger-solid: #c0392b;
    --df-warning-text: #7c5c00;
    --df-warning-bg: #fff8e1;
    --df-warning-border: #ffe082;
    --df-warning-solid: #7c5c00;
    --df-success-text: #1a5c38;
    --df-success-bg: #f0f9f4;
    --df-success-border: #a8d5b5;
    --df-success-solid: #1a5c38;
    --df-info-text: #1565c0;
    --df-info-bg: #e3f2fd;
    --df-info-border: #90caf9;
    --df-info-solid: #1565c0;
    --df-scrim: rgba(13,13,13,.45);
    --df-bar-bg: rgba(255,254,245,.92);
    --df-focus-ring: 0 0 0 3px rgba(221,89,43,.30);
    --df-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --df-shadow-md: 0 2px 8px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.04);
    --df-shadow-lg: 0 4px 20px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.05);
    --df-shadow-bar: 0 -2px 16px rgba(0,0,0,.08);
    --df-cat-1: #dd592b;
    --df-cat-2: #2a78d6;
    --df-cat-3: #1baf7a;
    --df-cat-4: #eda100;
    --df-cat-5: #e87ba4;
    --df-cat-6: #008300;
    --df-cat-7: #6250d6;
    --df-cat-8: #e34948;
    color-scheme: light;
    background: var(--df-surface);
    color: var(--df-text);
  }

  /* Browser printing is always the light appearance, whatever the screen shows
     (light text on white paper is unreadable). :root:root:root outranks the dark blocks. */
  @media print {
    :root:root:root {
      --df-sage: #c9c5a8;
      --df-bg: #fffef5;
      --df-surface: #ffffff;
      --df-surface-raised: #f7f6ee;
      --df-surface-sunken: #f0efe6;
      --df-text: #0d0d0d;
      --df-text-2: #2d2d2d;
      --df-text-muted: #5c5b57;
      --df-text-disabled: #9c9b96;
      --df-accent: #dd592b;
      --df-accent-mid: #e06d44;
      --df-accent-strong: #c44c22;
      --df-accent-strong-hover: #a83f1b;
      --df-on-accent: #ffffff;
      --df-accent-text: #b8441e;
      --df-accent-tint: #fceee8;
      --df-accent-faint: #fef8f5;
      --df-accent-border: #f5c4aa;
      --df-sage-strong: #a8a38a;
      --df-sage-tint: #f5f4ec;
      --df-sage-text: #4a4635;
      --df-separator: #e2e0d5;
      --df-border-control: #86847a;
      --df-focus-color: #dd592b;
      --df-on-solid: #ffffff;
      --df-danger-text: #b3321f;
      --df-danger-bg: #fdecea;
      --df-danger-border: #f5a9a3;
      --df-danger-solid: #c0392b;
      --df-warning-text: #7c5c00;
      --df-warning-bg: #fff8e1;
      --df-warning-border: #ffe082;
      --df-warning-solid: #7c5c00;
      --df-success-text: #1a5c38;
      --df-success-bg: #f0f9f4;
      --df-success-border: #a8d5b5;
      --df-success-solid: #1a5c38;
      --df-info-text: #1565c0;
      --df-info-bg: #e3f2fd;
      --df-info-border: #90caf9;
      --df-info-solid: #1565c0;
      --df-scrim: rgba(13,13,13,.45);
      --df-bar-bg: rgba(255,254,245,.92);
      --df-focus-ring: 0 0 0 3px rgba(221,89,43,.30);
      --df-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
      --df-shadow-md: 0 2px 8px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.04);
      --df-shadow-lg: 0 4px 20px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.05);
      --df-shadow-bar: 0 -2px 16px rgba(0,0,0,.08);
      --df-cat-1: #dd592b;
      --df-cat-2: #2a78d6;
      --df-cat-3: #1baf7a;
      --df-cat-4: #eda100;
      --df-cat-5: #e87ba4;
      --df-cat-6: #008300;
      --df-cat-7: #6250d6;
      --df-cat-8: #e34948;
      color-scheme: light;
    }
  }

  /* Touch: bigger controls */
  @media (pointer: coarse) {
    :root { --df-control-h: 44px; --df-target-min: var(--df-target-coarse); }
  }

  /* Increased contrast: an overlay on both appearances, not a third theme */
  @media (prefers-contrast: more) {
    :root {
      --df-text-muted: #2d2d2d;
      --df-separator: #86847a;
      --df-border-control: #5c5b57;
      --df-accent-text: #8f3517;
      --df-accent-strong: #b8441e;
      --df-accent-strong-hover: #8f3517;
    }
    @media (prefers-color-scheme: dark) {
      :root:not([data-theme="light"]) {
        --df-text-muted: #d6d3c6;
        --df-separator: #7d7868;
        --df-border-control: #a29e92;
        --df-accent-text: #f59a72;
        --df-accent-strong: #f59a72;
        --df-accent-strong-hover: #f5c4aa;
      }
    }
    :root[data-theme="dark"] {
      --df-text-muted: #d6d3c6;
      --df-separator: #7d7868;
      --df-border-control: #a29e92;
      --df-accent-text: #f59a72;
      --df-accent-strong: #f59a72;
      --df-accent-strong-hover: #f5c4aa;
    }
  }

  /* Forced colours: system colours; borders stay visible */
  @media (forced-colors: active) {
    :root {
      --df-bg: Canvas; --df-surface: Canvas; --df-surface-raised: Canvas; --df-surface-sunken: Canvas;
      --df-text: CanvasText; --df-text-2: CanvasText; --df-text-muted: CanvasText; --df-text-disabled: GrayText;
      --df-accent: Highlight; --df-accent-strong: ButtonFace; --df-accent-strong-hover: ButtonFace;
      --df-on-accent: ButtonText; --df-accent-text: LinkText; --df-focus-color: Highlight;
      --df-separator: GrayText; --df-border-control: ButtonText;
    }
  }
}
