/* Resto One - Material Design 3 tokens (design system "Resto One").
   Every variable is prefixed --md- so it never collides with the current
   site variables. Dark is the default theme, like the site; the light
   theme follows the existing switch (data-theme="ivory" on <html>). */

@font-face{font-family:'Roboto';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/md/roboto-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/md/roboto-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Material Symbols Rounded';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/md/material-symbols-rounded.woff2) format('woff2')}

/* The sign-in pages (every page with .auth-page, the tablet lock screen of
   login.html included) are always at night, whatever theme is chosen (Greg,
   01.10.2026): on them the dark values below win over the ivory block, whose
   selector is weaker. The application itself keeps following the theme. */
:root,
:root[data-theme="ivory"]:has(body.md-ui.md-public .auth-page) {
  --md-logo-gold: #d4b24e;
  /* The gold sheen of the logo on a dark ground (01.10.2026, after Greg's
     wallpaper): lighter at the top left, deeper at the bottom right. The
     logo files img/logo/md/*-or.svg write the same four stops out, an image
     cannot read these variables. The ivory theme keeps the flat logo. */
  --md-logo-gold-hi: #f4d996;
  --md-logo-gold-mid: #e0b863;
  --md-logo-gold-lo: #c79a45;
  --md-logo-gold-deep: #987331;
  --md-logo-gold-sheen: linear-gradient(135deg, var(--md-logo-gold-hi) 0%, var(--md-logo-gold-mid) 38%, var(--md-logo-gold-lo) 72%, var(--md-logo-gold-deep) 100%);
  /* The night of the brand: sign-in, tablet lock screen, splash. Near-black,
     a warm glow behind the logo, a brushed texture fine enough to be felt
     rather than seen, and a thin gold rule fading out at both ends. */
  --md-brand-night: #0c0b09;
  --md-brand-night-edge: #060606;
  --md-brand-glow: rgba(214, 171, 82, 0.085);
  --md-brand-brush: rgba(255, 255, 255, 0.011);
  --md-brand-rule: rgba(214, 171, 82, 0.62);
  --md-brand-ink: #d7b56b;
  --md-brand-ink-muted: #9a8b72;
  --md-brand-hairline: rgba(214, 171, 82, 0.16);
  --md-brand-glass: rgba(17, 14, 10, 0.72);
  /* The keys and name cards of the lock screen: the same glass, lifted a
     little so a finger finds them on the night. */
  --md-brand-glass-key: rgba(43, 37, 29, 0.62);
  --md-brand-glass-key-hover: rgba(58, 50, 39, 0.72);
  --md-brand-hairline-key: rgba(214, 171, 82, 0.24);
  /* The light that sweeps the sign-in logo once. */
  --md-logo-glint: rgba(255, 247, 226, 0.75);
  --md-brand-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.85);
  --md-brand-texture: repeating-linear-gradient(0deg, var(--md-brand-brush) 0 1px, transparent 1px 3px);
  --md-brand-vignette: radial-gradient(ellipse 125% 105% at 50% 45%, var(--md-brand-night) 45%, var(--md-brand-night-edge) 100%);
  --md-brand-rule-line: linear-gradient(90deg, transparent, var(--md-brand-rule), transparent);
  --md-primary: #f8bc49;
  --md-on-primary: #412d00;
  --md-primary-container: #5e4200;
  --md-on-primary-container: #ffdea8;
  --md-secondary: #dac3a0;
  --md-on-secondary: #3c2e16;
  --md-secondary-container: #54452a;
  --md-on-secondary-container: #f7dfbb;
  --md-tertiary: #b3cea8;
  --md-on-tertiary: #1f361a;
  --md-tertiary-container: #364d2e;
  --md-on-tertiary-container: #cfebc1;
  --md-error: #ffb4ab;
  --md-on-error: #690005;
  --md-error-container: #93000a;
  --md-on-error-container: #ffdad6;
  --md-surface: #17130e;
  --md-surface-container-lowest: #110e09;
  --md-surface-container-low: #1f1b16;
  --md-surface-container: #231f1a;
  --md-surface-container-high: #2e2924;
  --md-surface-container-highest: #39342e;
  --md-on-surface: #ebe1d9;
  --md-on-surface-variant: #d2c5b4;
  --md-outline: #9b8f80;
  --md-outline-variant: #4e4539;
  --md-inverse-surface: #ebe1d9;
  --md-inverse-on-surface: #353029;
  --md-inverse-primary: #7c5800;
  --md-scrim: #000000;
  --md-plan-floor: #1f1b16;
  --md-plan-grid: rgba(235,225,217,0.035);
  --md-plan-grid-major: rgba(235,225,217,0.07);
  --md-plan-wall: #4e4539;
  --md-plan-window: #b3cea8;
  --md-plan-table: #39342e;
  --md-plan-chair: #6b6155;
  --md-plan-leather: #6f5a45;
  --md-plan-wood: #6f5a45;
  --md-plan-column: #4e4539;
  --md-plan-plant: #364d2e;
  --md-plan-leaf: #4f6a45;
  --md-plan-hearth: #39342e;
  --md-plan-ember: #ffb59a;
  --md-plan-sofa: #6d4c41;
  --md-free: #7fd6a0;
  --md-free-container: #1e5236;
  --md-on-free-container: #b1f1c7;
  --md-reserved: #f8bc49;
  --md-reserved-container: #5e4200;
  --md-on-reserved-container: #ffdea8;
  --md-arrived: #99cbff;
  --md-arrived-container: #004a77;
  --md-on-arrived-container: #cfe5ff;
  --md-seated: #ffb4ab;
  --md-seated-container: #8c1d18;
  --md-on-seated-container: #ffdad6;
  --md-blocked: #807667;
  --md-blocked-container: #39342e;
  --md-on-blocked-container: #d2c5b4;
  --md-elevation-1: 0 1px 2px rgba(0,0,0,0.3), 0 1px 3px 1px rgba(0,0,0,0.15);
  --md-elevation-2: 0 1px 2px rgba(0,0,0,0.3), 0 2px 6px 2px rgba(0,0,0,0.15);
  --md-elevation-3: 0 1px 3px rgba(0,0,0,0.3), 0 4px 8px 3px rgba(0,0,0,0.15);
  --md-elevation-4: 0 2px 3px rgba(0,0,0,0.3), 0 6px 10px 4px rgba(0,0,0,0.15);
  --md-elevation-5: 0 4px 4px rgba(0,0,0,0.3), 0 8px 12px 6px rgba(0,0,0,0.15);
  --md-space-1: 4px;
  --md-space-2: 8px;
  --md-space-3: 12px;
  --md-space-4: 16px;
  --md-space-6: 24px;
  --md-space-8: 32px;
  --md-shape-xs: 4px;
  --md-shape-sm: 8px;
  --md-shape-md: 12px;
  --md-shape-lg: 16px;
  --md-shape-xl: 28px;
  --md-shape-full: 999px;
  --md-state-hover: 0.08;
  --md-state-focus: 0.10;
  --md-state-pressed: 0.10;
  --md-state-dragged: 0.16;
  --md-plan-px-per-cm: 0.6;
  --md-plan-wall-width: 14px;
  --md-plan-seat-width: 26px;
  --md-plan-seat-depth: 11px;
  --md-plan-seat-gap: 4px;
  --md-plan-pad-depth: 16px;
  --md-plan-magnet-reach: 8px;
  --md-font-sans: Roboto, "Segoe UI", system-ui, sans-serif;
  --md-font-icons: "Material Symbols Rounded";
  /* A QR code stays dark on white in both themes, as scanners read it
     (the onboarding's .ob blocks below give the same values). */
  --qr-bg: #ffffff;
  --qr-ink: #1f1b16;
}

[data-theme="ivory"] {
  --md-logo-gold: #d4b24e;
  --md-primary: #7c5800;
  --md-on-primary: #ffffff;
  --md-primary-container: #ffdea8;
  --md-on-primary-container: #271900;
  --md-secondary: #6d5c3f;
  --md-on-secondary: #ffffff;
  --md-secondary-container: #f7dfbb;
  --md-on-secondary-container: #251a04;
  --md-tertiary: #4d6544;
  --md-on-tertiary: #ffffff;
  --md-tertiary-container: #cfebc1;
  --md-on-tertiary-container: #0b2006;
  --md-error: #ba1a1a;
  --md-on-error: #ffffff;
  --md-error-container: #ffdad6;
  --md-on-error-container: #410002;
  --md-surface: #fff8f3;
  --md-surface-container-lowest: #ffffff;
  --md-surface-container-low: #fbf2e9;
  --md-surface-container: #f5ece3;
  --md-surface-container-high: #efe6dd;
  --md-surface-container-highest: #e9e1d8;
  --md-on-surface: #1f1b16;
  --md-on-surface-variant: #4e4539;
  --md-outline: #807667;
  --md-outline-variant: #d2c5b4;
  --md-inverse-surface: #353029;
  --md-inverse-on-surface: #f8efe7;
  --md-inverse-primary: #f8bc49;
  --md-scrim: #000000;
  --md-plan-floor: #ffffff;
  --md-plan-grid: rgba(78,69,57,0.05);
  --md-plan-grid-major: rgba(78,69,57,0.1);
  --md-plan-wall: #807667;
  --md-plan-window: #4d6544;
  --md-plan-table: #f5ece3;
  --md-plan-chair: #d2c5b4;
  --md-plan-leather: #a0826a;
  --md-plan-wood: #a0826a;
  --md-plan-column: #d2c5b4;
  --md-plan-plant: #cfebc1;
  --md-plan-leaf: #4d6544;
  --md-plan-hearth: #4e4539;
  --md-plan-ember: #e8864a;
  --md-plan-sofa: #d7b7a8;
  --md-free: #1b6c43;
  --md-free-container: #b1f1c7;
  --md-on-free-container: #002111;
  --md-reserved: #7c5800;
  --md-reserved-container: #ffdea8;
  --md-on-reserved-container: #271900;
  --md-arrived: #00629e;
  --md-arrived-container: #cfe5ff;
  --md-on-arrived-container: #001d33;
  --md-seated: #ba1a1a;
  --md-seated-container: #ffdad6;
  --md-on-seated-container: #410002;
  --md-blocked: #807667;
  --md-blocked-container: #e9e1d8;
  --md-on-blocked-container: #4e4539;
}

.md-type-display-large{font-family:var(--md-font-sans);font-size:57px;line-height:64px;font-weight:400;letter-spacing:-0.25px}
.md-type-display-medium{font-family:var(--md-font-sans);font-size:45px;line-height:52px;font-weight:400;letter-spacing:0}
.md-type-display-small{font-family:var(--md-font-sans);font-size:36px;line-height:44px;font-weight:400;letter-spacing:0}
.md-type-headline-large{font-family:var(--md-font-sans);font-size:32px;line-height:40px;font-weight:400;letter-spacing:0}
.md-type-headline-medium{font-family:var(--md-font-sans);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}
.md-type-headline-small{font-family:var(--md-font-sans);font-size:24px;line-height:32px;font-weight:400;letter-spacing:0}
.md-type-title-large{font-family:var(--md-font-sans);font-size:22px;line-height:28px;font-weight:400;letter-spacing:0}
.md-type-title-medium{font-family:var(--md-font-sans);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0.15px}
.md-type-title-small{font-family:var(--md-font-sans);font-size:14px;line-height:20px;font-weight:500;letter-spacing:0.1px}
.md-type-body-large{font-family:var(--md-font-sans);font-size:16px;line-height:24px;font-weight:400;letter-spacing:0.5px}
.md-type-body-medium{font-family:var(--md-font-sans);font-size:14px;line-height:20px;font-weight:400;letter-spacing:0.25px}
.md-type-body-small{font-family:var(--md-font-sans);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.4px}
.md-type-label-large{font-family:var(--md-font-sans);font-size:14px;line-height:20px;font-weight:500;letter-spacing:0.1px}
.md-type-label-medium{font-family:var(--md-font-sans);font-size:12px;line-height:16px;font-weight:500;letter-spacing:0.5px}
.md-type-label-small{font-family:var(--md-font-sans);font-size:11px;line-height:16px;font-weight:500;letter-spacing:0.5px}
.md-type-table-name{font-family:var(--md-font-sans);font-size:13px;line-height:16px;font-weight:500;letter-spacing:0.1px}
.md-type-table-meta{font-family:var(--md-font-sans);font-size:10px;line-height:12px;font-weight:500;letter-spacing:0.2px}
.md-type-zone-name{font-family:var(--md-font-sans);font-size:11px;line-height:16px;font-weight:500;letter-spacing:1.2px}

/* The questionnaire of a new restaurant (02.10.2026, the onboarding
   mock-ups): its own palette, the night of the brand in dark. Scoped to its
   root (.ob), so the rest of the application keeps its tokens. */
.ob.th-dark {
  --ro-gold-sheen: linear-gradient(135deg,#f4d996 0%,#e0b863 38%,#c79a45 72%,#987331 100%);
  --ro-gold-solid: #d7b56b;
  --ro-on-gold: #2b1f08;
  --ro-gold-glow: rgba(214,171,82,0.28);
  --md-primary: #d7b56b;
  --md-on-primary: #2b1f08;
  --md-secondary: #dac3a0;
  --md-secondary-container: rgba(214,171,82,0.14);
  --md-on-secondary-container: #ebe1d9;
  --md-tertiary: #b3cea8;
  --md-tertiary-container: #364d2e;
  --md-on-tertiary-container: #cfebc1;
  --md-error: #ffb4ab;
  --md-surface: #0c0b09;
  --md-surface-container-low: rgba(43,37,29,0.62);
  --md-surface-container: rgba(30,25,19,0.96);
  --md-surface-container-high: rgba(43,37,29,0.72);
  --md-surface-container-highest: rgba(235,225,217,0.10);
  --md-on-surface: #ebe1d9;
  --md-on-surface-variant: #c9bcab;
  --md-outline: #9b8f80;
  --md-outline-variant: rgba(235,225,217,0.12);
  --md-field-bg: #1d1913;
  --ro-trail-from: rgba(214,171,82,0.12);
  --ro-name-off: #8a8070;
  --ob-open: #7fd6a0;
  --ob-open-c: #1e5236;
  --ob-service: #99cbff;
  --ob-service-c: #004a77;
  --ob-kitchen: #f2b84b;
  --ob-kitchen-bg: rgba(242,184,75,0.26);
  --ob-kitchen-ink: #f2b84b;
  --ob-lastres: #d9534a;
  --ob-lastres-glow: rgba(217,83,74,0.40);
  --ob-shadow: 0 1px 3px rgba(0,0,0,0.6);
  --ob-open-wash: rgba(127,214,160,0.10);
  --ob-service-wash: rgba(153,203,255,0.10);
  --ob-kitchen-wash: rgba(242,184,75,0.10);
  --ob-closed-pale: #b3584f;
  --ob-cont-pale: #6684a3;
  --ob-opencont-pale: #568b68;
  --plan-floor: #1f1b16;
  --plan-wall: #4e4539;
  --plan-table: #39342e;
  --plan-chair: #6b6155;
  --qr-bg: #ffffff;
  --qr-ink: #1f1b16;
  --ph-strip-sh: 0 10px 14px -12px rgba(0,0,0,0.9);
}
.ob.th-light {
  --ro-gold-sheen: linear-gradient(135deg,#8a6620 0%,#7c5800 50%,#5e4200 100%);
  --ro-gold-solid: #7c5800;
  --ro-on-gold: #ffffff;
  --ro-gold-glow: rgba(124,88,0,0.22);
  --md-primary: #7c5800;
  --md-on-primary: #ffffff;
  --md-secondary: #6d5c3f;
  --md-secondary-container: #f7dfbb;
  --md-on-secondary-container: #251a04;
  --md-tertiary: #4d6544;
  --md-tertiary-container: #cfebc1;
  --md-on-tertiary-container: #0b2006;
  --md-error: #ba1a1a;
  --md-surface: #fff8f3;
  --md-surface-container-low: #fbf2e9;
  --md-surface-container: #f5ece3;
  --md-surface-container-high: #efe6dd;
  --md-surface-container-highest: #e9e1d8;
  --md-on-surface: #1f1b16;
  --md-on-surface-variant: #4e4539;
  --md-outline: #807667;
  --md-outline-variant: #d2c5b4;
  --md-field-bg: #fbf2e9;
  --ro-trail-from: rgba(124,88,0,0.12);
  --ro-name-off: #7f7466;
  --ob-open: #1b6c43;
  --ob-open-c: #b1f1c7;
  --ob-service: #00629e;
  --ob-service-c: #cfe5ff;
  --ob-kitchen: #9a6200;
  --ob-kitchen-bg: rgba(154,98,0,0.16);
  --ob-kitchen-ink: #7a4d00;
  --ob-lastres: #a8231d;
  --ob-lastres-glow: rgba(168,35,29,0.28);
  --ob-shadow: 0 1px 2px rgba(255,255,255,0.7);
  --ob-open-wash: rgba(27,108,67,0.12);
  --ob-service-wash: rgba(0,98,158,0.11);
  --ob-kitchen-wash: rgba(154,98,0,0.12);
  --ob-closed-pale: #c9564f;
  --ob-cont-pale: #3d86b2;
  --ob-opencont-pale: #4d8b6a;
  --plan-floor: #ffffff;
  --plan-wall: #807667;
  --plan-table: #f5ece3;
  --plan-chair: #d2c5b4;
  --qr-bg: #ffffff;
  --qr-ink: #1f1b16;
  --ph-strip-sh: 0 10px 14px -12px rgba(80,60,20,0.35);
}
.ob.th-dark,
.ob.th-light {
  --md-font-sans: Roboto,"Segoe UI",system-ui,sans-serif;
  --md-font-icons: "Material Symbols Rounded";
  --md-shape-xs: 4px;
  --md-shape-sm: 8px;
  --md-shape-md: 12px;
  --md-shape-lg: 16px;
  --md-shape-xl: 28px;
  --md-shape-full: 999px;
  --md-space-3: 12px;
  --md-space-6: 24px;
  --md-state-hover: .06;
  --md-state-focus: .10;
  --md-state-pressed: .10;
  --md-elevation-1: 0 1px 2px rgba(0,0,0,.3),0 1px 3px 1px rgba(0,0,0,.15);
  --md-elevation-3: 0 1px 3px rgba(0,0,0,.3),0 4px 8px 3px rgba(0,0,0,.15);
}
