/* GENERATED by scripts/gen-admin-theme.mjs — DO NOT EDIT.
 *
 * Source: design/tokens/laundry.tokens.json — the one place a colour is authored.
 * Change it THERE and run `make tokens`. CI fails if this file drifts from its
 * source, so a hand edit here is caught by the build rather than found later, when
 * one screen has quietly stopped agreeing with every other.
 *
 * THE BACKOFFICE'S PALETTE, AND NOBODY ELSE'S.
 *
 * This file re-declares the --sn-* custom properties that pkg/webui/static/gen/
 * tokens.css already defines, in the same three theme scopes, with the KasirBiru
 * blue values from color.pos.*. It is linked immediately after tokens.css by
 * templates/layout.html and templates/platform/layout.html — and by nothing else.
 * auth-service and core-api mount the same shared kit and never link this file, so
 * they keep the Sneat identity. That is the entire mechanism; there is no build
 * flag and no runtime branch.
 *
 * Metrics are deliberately absent. --sn-admin-* (38px controls, 260px rail) still
 * comes from tokens.css: DESIGN-LANGUAGE.md §4 fences admin sizing from PoS touch
 * floors, and adopting the till's colour did not adopt its geometry.
 *
 * Contrast is NOT asserted here. It is GATED — every rendered pair is declared in
 * design/tokens/contrast.pairs.json under the `~pos.` prefix and enforced by
 * scripts/contrast-check.mjs on every commit.
 */

:root,
html[data-theme="light"] {
  --sn-primary: #1E5EE5;
  --sn-on-primary: #FFFFFF;
  --sn-primary-container: #E3ECFF;
  --sn-on-primary-container: #12398F;
  --sn-primary-text: #12398F;
  --sn-secondary: #5A6B85;
  --sn-on-secondary: #FFFFFF;
  --sn-secondary-container: #E9EDF5;
  --sn-on-secondary-container: #33404F;
  --sn-secondary-text: #4A5A72;
  --sn-success: #0E875D;
  --sn-on-success: #FFFFFF;
  --sn-success-container: #E2F5EC;
  --sn-on-success-container: #0B6B49;
  --sn-success-text: #0B6B49;
  --sn-info: #03C3EC;
  --sn-on-info: #22303E;
  --sn-info-container: #D6F5FD;
  --sn-on-info-container: #01576B;
  --sn-info-text: #02819C;
  --sn-warning: #AA6200;
  --sn-on-warning: #FFFFFF;
  --sn-warning-container: #FFF1DC;
  --sn-on-warning-container: #7A4700;
  --sn-warning-text: #7A4700;
  --sn-error: #D93843;
  --sn-on-error: #FFFFFF;
  --sn-error-container: #FBE3E5;
  --sn-on-error-container: #8B1400;
  --sn-error-text: #B5232D;
  --sn-prem: #7A3FD1;
  --sn-on-prem: #FFFFFF;
  --sn-prem-container: #F0E7FF;
  --sn-on-prem-container: #4A2680;
  --sn-prem-text: #6B34B8;
  --sn-background: #EDF2FA;
  --sn-surface: #FFFFFF;
  --sn-on-surface: #0C1B33;
  --sn-on-surface-variant: #5A6B85;
  --sn-surface-container-low: #F8FAFD;
  --sn-surface-container: #F5F8FE;
  --sn-surface-container-high: #E9EFFA;
  --sn-outline: #7287AF;
  --sn-outline-variant: #D9E4F4;
  --sn-inverse-surface: #0C1B33;
  --sn-inverse-on-surface: #EDF2FA;
  --sn-scrim: #0C1B33;
  --sn-chart-1: #1E5EE5;
  --sn-chart-2: #03C3EC;
  --sn-chart-3: #0E875D;
  --sn-chart-4: #AA6200;
  --sn-chart-5: #5A6B85;
  --sn-chart-6: #7A3FD1;
  --sn-shadow-rgb: 18 57 143;

  --sn-font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --sn-font-family-display: "Space Grotesk", Inter, system-ui, sans-serif;
  --sn-font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sn-type-h1-size: 1.1875rem;
  --sn-type-h1-line: 1.625rem;
  --sn-type-h1-weight: 600;
  --sn-type-h2-size: 1.03125rem;
  --sn-type-h2-line: 1.4375rem;
  --sn-type-h2-weight: 600;
  --sn-type-h3-size: 1.0625rem;
  --sn-type-h3-line: 1.5rem;
  --sn-type-h3-weight: 600;
  --sn-type-h4-size: 1.375rem;
  --sn-type-h4-line: 1.75rem;
  --sn-type-h4-weight: 700;
  --sn-type-h5-size: 1.125rem;
  --sn-type-h5-line: 1.5rem;
  --sn-type-h5-weight: 600;
  --sn-type-h6-size: 0.9375rem;
  --sn-type-h6-line: 1.375rem;
  --sn-type-h6-weight: 600;
  --sn-type-subtitle-1-size: 1rem;
  --sn-type-subtitle-1-line: 1.5rem;
  --sn-type-subtitle-1-weight: 500;
  --sn-type-subtitle-2-size: 0.875rem;
  --sn-type-subtitle-2-line: 1.25rem;
  --sn-type-subtitle-2-weight: 600;
  --sn-type-body-1-size: 0.9375rem;
  --sn-type-body-1-line: 1.4375rem;
  --sn-type-body-1-weight: 400;
  --sn-type-body-2-size: 0.84375rem;
  --sn-type-body-2-line: 1.25rem;
  --sn-type-body-2-weight: 400;
  --sn-type-button-size: 0.875rem;
  --sn-type-button-line: 1.25rem;
  --sn-type-button-weight: 600;
  --sn-type-button-transform: none;
  --sn-type-caption-size: 0.75rem;
  --sn-type-caption-line: 1.0625rem;
  --sn-type-caption-weight: 400;
  --sn-type-overline-size: 0.6875rem;
  --sn-type-overline-line: 1rem;
  --sn-type-overline-weight: 700;
  --sn-type-overline-transform: uppercase;
  --sn-type-overline-tracking: 0.07em;
  --sn-shape-corner-root: 12px;
  --sn-shape-corner-small: 10px;
  --sn-shape-corner-medium: 12px;
  --sn-shape-corner-large: 14px;
  --sn-shape-corner-x-large: 18px;
  --sn-shape-corner-2x-large: 20px;
  --sn-shape-corner-3x-large: 22px;
  --sn-shape-corner-full: 999px;
  --sn-motion-duration-press: 120ms;
  --sn-motion-duration-exit: 150ms;
  --sn-motion-duration-enter: 260ms;
  --sn-motion-duration-short: 200ms;
  --sn-motion-duration-medium: 300ms;
  --sn-motion-duration-long: 420ms;
  --sn-motion-stagger-step: 38ms;
  --sn-motion-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --sn-motion-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --sn-motion-ease-inout: cubic-bezier(0.77, 0, 0.175, 1);
  --sn-motion-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --sn-elevation-0: 0 0 0 0 rgb(var(--sn-shadow-rgb) / 0);
  --sn-elevation-2: 0 8px 24px rgb(var(--sn-shadow-rgb) / 0.1);
  --sn-elevation-4: 0 10px 28px rgb(var(--sn-shadow-rgb) / 0.12);
  --sn-elevation-8: 0 16px 40px rgb(var(--sn-shadow-rgb) / 0.14);
  --sn-elevation-24: 0 30px 70px rgb(var(--sn-shadow-rgb) / 0.18);
}

html[data-theme="dark"] {
  --sn-primary: #4C82F7;
  --sn-on-primary: #06122A;
  --sn-primary-container: #20293A;
  --sn-on-primary-container: #A9C4FF;
  --sn-primary-text: #A9C4FF;
  --sn-secondary: #9CA3AA;
  --sn-on-secondary: #06122A;
  --sn-secondary-container: #2B3035;
  --sn-on-secondary-container: #E8EAEC;
  --sn-secondary-text: #9CA3AA;
  --sn-success: #3ECF97;
  --sn-on-success: #06122A;
  --sn-success-container: #1F3631;
  --sn-on-success-container: #3ECF97;
  --sn-success-text: #3ECF97;
  --sn-info: #03C3EC;
  --sn-on-info: #22303E;
  --sn-info-container: #0B4A58;
  --sn-on-info-container: #C2EFFA;
  --sn-info-text: #03C3EC;
  --sn-warning: #F5B455;
  --sn-on-warning: #06122A;
  --sn-warning-container: #393227;
  --sn-on-warning-container: #F5B455;
  --sn-warning-text: #F5B455;
  --sn-error: #FF6B72;
  --sn-on-error: #06122A;
  --sn-error-container: #35262A;
  --sn-on-error-container: #FF6B72;
  --sn-error-text: #FF6B72;
  --sn-prem: #B98BFF;
  --sn-on-prem: #06122A;
  --sn-prem-container: #2D2A3B;
  --sn-on-prem-container: #B98BFF;
  --sn-prem-text: #B98BFF;
  --sn-background: #131517;
  --sn-surface: #1A1D20;
  --sn-on-surface: #E8EAEC;
  --sn-on-surface-variant: #9CA3AA;
  --sn-surface-container-low: #1A1D20;
  --sn-surface-container: #22262A;
  --sn-surface-container-high: #262B30;
  --sn-outline: #6C7075;
  --sn-outline-variant: #232830;
  --sn-inverse-surface: #E8EAEC;
  --sn-inverse-on-surface: #131517;
  --sn-scrim: #000000;
  --sn-chart-1: #4C82F7;
  --sn-chart-2: #03C3EC;
  --sn-chart-3: #3ECF97;
  --sn-chart-4: #F5B455;
  --sn-chart-5: #9CA3AA;
  --sn-chart-6: #B98BFF;
  --sn-shadow-rgb: 0 0 0;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) {
    --sn-primary: #4C82F7;
    --sn-on-primary: #06122A;
    --sn-primary-container: #20293A;
    --sn-on-primary-container: #A9C4FF;
    --sn-primary-text: #A9C4FF;
    --sn-secondary: #9CA3AA;
    --sn-on-secondary: #06122A;
    --sn-secondary-container: #2B3035;
    --sn-on-secondary-container: #E8EAEC;
    --sn-secondary-text: #9CA3AA;
    --sn-success: #3ECF97;
    --sn-on-success: #06122A;
    --sn-success-container: #1F3631;
    --sn-on-success-container: #3ECF97;
    --sn-success-text: #3ECF97;
    --sn-info: #03C3EC;
    --sn-on-info: #22303E;
    --sn-info-container: #0B4A58;
    --sn-on-info-container: #C2EFFA;
    --sn-info-text: #03C3EC;
    --sn-warning: #F5B455;
    --sn-on-warning: #06122A;
    --sn-warning-container: #393227;
    --sn-on-warning-container: #F5B455;
    --sn-warning-text: #F5B455;
    --sn-error: #FF6B72;
    --sn-on-error: #06122A;
    --sn-error-container: #35262A;
    --sn-on-error-container: #FF6B72;
    --sn-error-text: #FF6B72;
    --sn-prem: #B98BFF;
    --sn-on-prem: #06122A;
    --sn-prem-container: #2D2A3B;
    --sn-on-prem-container: #B98BFF;
    --sn-prem-text: #B98BFF;
    --sn-background: #131517;
    --sn-surface: #1A1D20;
    --sn-on-surface: #E8EAEC;
    --sn-on-surface-variant: #9CA3AA;
    --sn-surface-container-low: #1A1D20;
    --sn-surface-container: #22262A;
    --sn-surface-container-high: #262B30;
    --sn-outline: #6C7075;
    --sn-outline-variant: #232830;
    --sn-inverse-surface: #E8EAEC;
    --sn-inverse-on-surface: #131517;
    --sn-scrim: #000000;
    --sn-chart-1: #4C82F7;
    --sn-chart-2: #03C3EC;
    --sn-chart-3: #3ECF97;
    --sn-chart-4: #F5B455;
    --sn-chart-5: #9CA3AA;
    --sn-chart-6: #B98BFF;
    --sn-shadow-rgb: 0 0 0;
  }
}
