/* [project]/node_modules/geist/dist/geistsans_d5a4f12f.module.css [app-client] (css) */
@font-face {
  font-family: GeistSans;
  src: url("../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}

@font-face {
  font-family: GeistSans Fallback;
  src: local(Arial);
  ascent-override: 94.56%;
  descent-override: 27.76%;
  line-gap-override: 0.0%;
  size-adjust: 106.28%;
}

.geistsans_d5a4f12f-module__Ur3q_a__className {
  font-family: GeistSans, GeistSans Fallback;
}

.geistsans_d5a4f12f-module__Ur3q_a__variable {
  --font-geist-sans: "GeistSans", "GeistSans Fallback";
}

/* [project]/node_modules/geist/dist/geistmono_157ca88a.module.css [app-client] (css) */
@font-face {
  font-family: GeistMono;
  src: url("../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}

.geistmono_157ca88a-module__iaM1Ya__className {
  font-family: GeistMono, ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;
}

.geistmono_157ca88a-module__iaM1Ya__variable {
  --font-geist-mono: "GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace;
}

/* [project]/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }

    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-content: "";
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --color-black: #000;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --tracking-widest: .1em;
    --radius-md: calc(var(--radius) * .8);
    --radius-lg: var(--radius);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-xs: 4px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: "Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif;
    --default-mono-font-family: "Geist Mono", "Geist Mono Fallback", ui-monospace, monospace;
    --color-border: var(--border);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }

  html {
    font-family: Geist, Geist Fallback, ui-sans-serif, system-ui, sans-serif;
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-x-0 {
    inset-inline: 0;
  }

  .top-0 {
    top: 0;
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-3 {
    top: calc(var(--spacing) * 3);
  }

  .right-0 {
    right: 0;
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .bottom-0 {
    bottom: 0;
  }

  .left-1\/2 {
    left: 50%;
  }

  .isolate {
    isolation: isolate;
  }

  .z-0 {
    z-index: 0;
  }

  .z-10 {
    z-index: 10;
  }

  .z-50 {
    z-index: 50;
  }

  .order-1 {
    order: 1;
  }

  .order-2 {
    order: 2;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }

  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }

  .my-0\.5 {
    margin-block: calc(var(--spacing) * .5);
  }

  .my-1 {
    margin-block: var(--spacing);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-auto {
    margin-top: auto;
  }

  .-mb-4 {
    margin-bottom: calc(var(--spacing) * -4);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .ml-auto {
    margin-left: auto;
  }

  .\!table {
    display: table !important;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .table-caption {
    display: table-caption;
  }

  .table-cell {
    display: table-cell;
  }

  .table-row {
    display: table-row;
  }

  .field-sizing-content {
    field-sizing: content;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .size-\(--cell-size\) {
    width: var(--cell-size);
    height: var(--cell-size);
  }

  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }

  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }

  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }

  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  .size-auto {
    width: auto;
    height: auto;
  }

  .size-full {
    width: 100%;
    height: 100%;
  }

  .h-\(--cell-size\) {
    height: var(--cell-size);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .max-h-\(--radix-dropdown-menu-content-available-height\) {
    max-height: var(--radix-dropdown-menu-content-available-height);
  }

  .max-h-\(--radix-select-content-available-height\) {
    max-height: var(--radix-select-content-available-height);
  }

  .min-h-16 {
    min-height: calc(var(--spacing) * 16);
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-\(--cell-size\) {
    width: var(--cell-size);
  }

  .w-\(--radix-dropdown-menu-trigger-width\) {
    width: var(--radix-dropdown-menu-trigger-width);
  }

  .w-0 {
    width: 0;
  }

  .w-1 {
    width: var(--spacing);
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-72 {
    width: calc(var(--spacing) * 72);
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

  .max-w-\[calc\(100\%-2rem\)\] {
    max-width: calc(100% - 2rem);
  }

  .min-w-\(--cell-size\) {
    min-width: var(--cell-size);
  }

  .min-w-0 {
    min-width: 0;
  }

  .min-w-32 {
    min-width: calc(var(--spacing) * 32);
  }

  .min-w-36 {
    min-width: calc(var(--spacing) * 36);
  }

  .min-w-\[96px\] {
    min-width: 96px;
  }

  .flex-1 {
    flex: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .caption-bottom {
    caption-side: bottom;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .origin-\(--radix-dropdown-menu-content-transform-origin\) {
    transform-origin: var(--radix-dropdown-menu-content-transform-origin);
  }

  .origin-\(--radix-popover-content-transform-origin\) {
    transform-origin: var(--radix-popover-content-transform-origin);
  }

  .origin-\(--radix-select-content-transform-origin\) {
    transform-origin: var(--radix-select-content-transform-origin);
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-in {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .scroll-my-1 {
    scroll-margin-block: var(--spacing);
  }

  .grid-rows-\[auto_1fr\] {
    grid-template-rows: auto 1fr;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-col-reverse {
    flex-direction: column-reverse;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .place-content-center {
    place-content: center;
  }

  .place-items-center {
    place-items: center;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: var(--spacing);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  :where(.-space-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-x-hidden {
    overflow-x: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded-\(--cell-radius\) {
    border-radius: var(--cell-radius);
  }

  .rounded-4xl {
    border-radius: calc(var(--radius) * 2.6);
  }

  .rounded-\[2px\] {
    border-radius: 2px;
  }

  .rounded-\[4px\] {
    border-radius: 4px;
  }

  .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    border-radius: min(var(--radius-md), 10px);
  }

  .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
    border-radius: min(var(--radius-md), 12px);
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius);
  }

  .rounded-md {
    border-radius: calc(var(--radius) * .8);
  }

  .rounded-none {
    border-radius: 0;
  }

  .rounded-xl {
    border-radius: calc(var(--radius) * 1.4);
  }

  .rounded-l-\(--cell-radius\) {
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
  }

  .rounded-r-\(--cell-radius\) {
    border-top-right-radius: var(--cell-radius);
    border-bottom-right-radius: var(--cell-radius);
  }

  .rounded-b-xl {
    border-bottom-right-radius: calc(var(--radius) * 1.4);
    border-bottom-left-radius: calc(var(--radius) * 1.4);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-\(--color-border\) {
    border-color: var(--color-border);
  }

  .border-border {
    border-color: var(--border);
  }

  .border-border\/50 {
    border-color: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-border\/50 {
      border-color: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }

  .border-input {
    border-color: var(--input);
  }

  .border-transparent {
    border-color: #0000;
  }

  .bg-\(--color-bg\) {
    background-color: var(--color-bg);
  }

  .bg-\[\#eee0cb\] {
    background-color: #eee0cb;
  }

  .bg-background {
    background-color: var(--background);
  }

  .bg-black\/10 {
    background-color: #0000001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/10 {
      background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }

  .bg-border {
    background-color: var(--border);
  }

  .bg-destructive\/10 {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-destructive\/10 {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }

  .bg-input {
    background-color: var(--input);
  }

  .bg-muted {
    background-color: var(--muted);
  }

  .bg-muted\/50 {
    background-color: var(--muted);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-muted\/50 {
      background-color: color-mix(in oklab, var(--muted) 50%, transparent);
    }
  }

  .bg-popover {
    background-color: var(--popover);
  }

  .bg-primary {
    background-color: var(--primary);
  }

  .bg-secondary {
    background-color: var(--secondary);
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-clip-padding {
    background-clip: padding-box;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: 0;
  }

  .p-1 {
    padding: var(--spacing);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-\[3px\] {
    padding: 3px;
  }

  .px-\(--cell-size\) {
    padding-inline: var(--cell-size);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pl-1\.5 {
    padding-left: calc(var(--spacing) * 1.5);
  }

  .pl-2\.5 {
    padding-left: calc(var(--spacing) * 2.5);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .align-middle {
    vertical-align: middle;
  }

  .font-heading {
    font-family: Geist, Geist Fallback, ui-sans-serif, system-ui, sans-serif;
  }

  .font-mono {
    font-family: Geist Mono, Geist Mono Fallback, ui-monospace, monospace;
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.8rem\] {
    font-size: .8rem;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .text-balance {
    text-wrap: balance;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[\#721121\] {
    color: #721121;
  }

  .text-current {
    color: currentColor;
  }

  .text-destructive {
    color: var(--destructive);
  }

  .text-foreground {
    color: var(--foreground);
  }

  .text-foreground\/60 {
    color: var(--foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/60 {
      color: color-mix(in oklab, var(--foreground) 60%, transparent);
    }
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-popover-foreground {
    color: var(--popover-foreground);
  }

  .text-primary {
    color: var(--primary);
  }

  .text-primary-foreground {
    color: var(--primary-foreground);
  }

  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }

  .capitalize {
    text-transform: capitalize;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-50 {
    opacity: .5;
  }

  .bg-blend-color {
    background-blend-mode: color;
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring, .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-background {
    --tw-ring-color: var(--background);
  }

  .ring-foreground\/10 {
    --tw-ring-color: var(--foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-foreground\/10 {
      --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
    }
  }

  .outline-hidden {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .outline-hidden {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-none {
    transition-property: none;
  }

  .duration-100 {
    --tw-duration: .1s;
    transition-duration: .1s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[--cell-radius\:var\(--radius-md\)\] {
    --cell-radius: var(--radius-md);
  }

  .\[--cell-size\:--spacing\(7\)\] {
    --cell-size: calc(var(--spacing) * 7);
  }

  .paused {
    animation-play-state: paused;
  }

  .running {
    animation-play-state: running;
  }

  .group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *) {
    color: var(--accent-foreground);
  }

  .group-has-disabled\/field\:opacity-50:is(:where(.group\/field):has(:disabled) *) {
    opacity: .5;
  }

  .group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size="lg"]) *) {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  .group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size="sm"]) *) {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused="true"] *) {
    position: relative;
  }

  .group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused="true"] *) {
    z-index: 10;
  }

  .group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused="true"] *) {
    border-color: var(--ring);
  }

  .group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused="true"] *) {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused="true"] *) {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  .group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size="default"] *) {
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
  }

  .group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size="lg"] *) {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
    display: grid;
  }

  .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size="sm"] *) {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
  }

  .group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size="sm"] *) {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *) {
    background-color: #0000;
  }

  .group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
    height: calc(var(--spacing) * 8);
  }

  .group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
    height: fit-content;
  }

  .group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
    width: 100%;
  }

  .group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
    flex-direction: column;
  }

  .group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
    justify-content: flex-start;
  }

  .file\:inline-flex::file-selector-button {
    display: inline-flex;
  }

  .file\:h-6::file-selector-button {
    height: calc(var(--spacing) * 6);
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-transparent::file-selector-button {
    background-color: #0000;
  }

  .file\:text-sm::file-selector-button {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .file\:font-medium::file-selector-button {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .file\:text-foreground::file-selector-button {
    color: var(--foreground);
  }

  .placeholder\:text-muted-foreground::placeholder {
    color: var(--muted-foreground);
  }

  .after\:absolute:after {
    content: var(--tw-content);
    position: absolute;
  }

  .after\:inset-0:after {
    content: var(--tw-content);
    inset: 0;
  }

  .after\:-inset-x-3:after {
    content: var(--tw-content);
    inset-inline: calc(var(--spacing) * -3);
  }

  .after\:-inset-y-2:after {
    content: var(--tw-content);
    inset-block: calc(var(--spacing) * -2);
  }

  .after\:inset-y-0:after {
    content: var(--tw-content);
    inset-block: 0;
  }

  .after\:right-0:after {
    content: var(--tw-content);
    right: 0;
  }

  .after\:left-0:after {
    content: var(--tw-content);
    left: 0;
  }

  .after\:w-4:after {
    content: var(--tw-content);
    width: calc(var(--spacing) * 4);
  }

  .after\:rounded-full:after {
    content: var(--tw-content);
    border-radius: 3.40282e38px;
  }

  .after\:border:after {
    content: var(--tw-content);
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .after\:border-border:after {
    content: var(--tw-content);
    border-color: var(--border);
  }

  .after\:bg-foreground:after {
    content: var(--tw-content);
    background-color: var(--foreground);
  }

  .after\:bg-muted:after {
    content: var(--tw-content);
    background-color: var(--muted);
  }

  .after\:opacity-0:after {
    content: var(--tw-content);
    opacity: 0;
  }

  .after\:mix-blend-darken:after {
    content: var(--tw-content);
    mix-blend-mode: darken;
  }

  .after\:transition-opacity:after {
    content: var(--tw-content);
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *):after {
    content: var(--tw-content);
    inset-inline: 0;
  }

  .group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *):after {
    content: var(--tw-content);
    bottom: -5px;
  }

  .group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *):after {
    content: var(--tw-content);
    height: calc(var(--spacing) * .5);
  }

  .group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation="vertical"]) *):after {
    content: var(--tw-content);
    inset-block: 0;
  }

  .group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation="vertical"]) *):after {
    content: var(--tw-content);
    right: calc(var(--spacing) * -1);
  }

  .group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation="vertical"]) *):after {
    content: var(--tw-content);
    width: calc(var(--spacing) * .5);
  }

  @media (hover: hover) {
    .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover {
        background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-destructive\/20:hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-destructive\/20:hover {
        background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-muted:hover {
      background-color: var(--muted);
    }
  }

  @media (hover: hover) {
    .hover\:bg-muted\/50:hover {
      background-color: var(--muted);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-muted\/50:hover {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-primary\/80:hover {
      background-color: var(--primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/80:hover {
        background-color: color-mix(in oklab, var(--primary) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:text-foreground:hover {
      color: var(--foreground);
    }
  }

  @media (hover: hover) {
    .hover\:text-muted-foreground:hover {
      color: var(--muted-foreground);
    }
  }

  @media (hover: hover) {
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
  }

  .focus\:bg-accent:focus {
    background-color: var(--accent);
  }

  .focus\:text-accent-foreground:focus {
    color: var(--accent-foreground);
  }

  :is(.focus\:\*\*\:text-accent-foreground:focus *) {
    color: var(--accent-foreground);
  }

  :is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant="destructive"]):focus *) {
    color: var(--accent-foreground);
  }

  .focus-visible\:border-destructive\/40:focus-visible {
    border-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:border-destructive\/40:focus-visible {
      border-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .focus-visible\:border-ring:focus-visible {
    border-color: var(--ring);
  }

  .focus-visible\:ring-3:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-\[3px\]:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-destructive\/20:focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-destructive\/20:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-ring\/50:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  .focus-visible\:outline-1:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus-visible\:outline-ring:focus-visible {
    outline-color: var(--ring);
  }

  .active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]) {
    --tw-translate-y: 1px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:bg-input\/50:disabled {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .disabled\:bg-input\/50:disabled {
      background-color: color-mix(in oklab, var(--input) 50%, transparent);
    }
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  :where([data-slot="button-group"]) .in-data-\[slot\=button-group\]\:rounded-lg {
    border-radius: var(--radius);
  }

  :where([data-slot="card-content"]) .in-data-\[slot\=card-content\]\:bg-transparent {
    background-color: #0000;
  }

  :where([data-slot="popover-content"]) .in-data-\[slot\=popover-content\]\:bg-transparent {
    background-color: #0000;
  }

  .has-aria-expanded\:bg-muted\/50:has([aria-expanded="true"]) {
    background-color: var(--muted);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .has-aria-expanded\:bg-muted\/50:has([aria-expanded="true"]) {
      background-color: color-mix(in oklab, var(--muted) 50%, transparent);
    }
  }

  .has-data-\[icon\=inline-end\]\:pr-1:has([data-icon="inline-end"]) {
    padding-right: var(--spacing);
  }

  .has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-end\]\:pr-2:has([data-icon="inline-end"]) {
    padding-right: calc(var(--spacing) * 2);
  }

  .has-data-\[icon\=inline-start\]\:pl-1:has([data-icon="inline-start"]) {
    padding-left: var(--spacing);
  }

  .has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 1.5);
  }

  .has-data-\[icon\=inline-start\]\:pl-2:has([data-icon="inline-start"]) {
    padding-left: calc(var(--spacing) * 2);
  }

  .has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot="alert-dialog-media"]) {
    grid-template-rows: auto auto 1fr;
  }

  .has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot="alert-dialog-media"]) {
    column-gap: calc(var(--spacing) * 4);
  }

  .aria-disabled\:opacity-50[aria-disabled="true"] {
    opacity: .5;
  }

  .aria-expanded\:bg-muted[aria-expanded="true"] {
    background-color: var(--muted);
  }

  .aria-expanded\:bg-secondary[aria-expanded="true"] {
    background-color: var(--secondary);
  }

  .aria-expanded\:text-foreground[aria-expanded="true"] {
    color: var(--foreground);
  }

  .aria-expanded\:text-secondary-foreground[aria-expanded="true"] {
    color: var(--secondary-foreground);
  }

  .aria-invalid\:border-destructive[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  .aria-invalid\:ring-3[aria-invalid="true"] {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .aria-invalid\:ring-destructive\/20[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .aria-invalid\:aria-checked\:border-primary[aria-invalid="true"][aria-checked="true"] {
    border-color: var(--primary);
  }

  .aria-selected\:text-muted-foreground[aria-selected="true"] {
    color: var(--muted-foreground);
  }

  .data-inset\:pl-7[data-inset] {
    padding-left: calc(var(--spacing) * 7);
  }

  .data-placeholder\:text-muted-foreground[data-placeholder] {
    color: var(--muted-foreground);
  }

  .data-\[align-trigger\=true\]\:animate-none[data-align-trigger="true"] {
    animation: none;
  }

  .data-\[position\=popper\]\:h-\(--radix-select-trigger-height\)[data-position="popper"] {
    height: var(--radix-select-trigger-height);
  }

  .data-\[position\=popper\]\:w-full[data-position="popper"] {
    width: 100%;
  }

  .data-\[position\=popper\]\:min-w-\(--radix-select-trigger-width\)[data-position="popper"] {
    min-width: var(--radix-select-trigger-width);
  }

  .data-\[range-end\=true\]\:rounded-\(--cell-radius\)[data-range-end="true"] {
    border-radius: var(--cell-radius);
  }

  .data-\[range-end\=true\]\:rounded-r-\(--cell-radius\)[data-range-end="true"] {
    border-top-right-radius: var(--cell-radius);
    border-bottom-right-radius: var(--cell-radius);
  }

  .data-\[range-end\=true\]\:bg-primary[data-range-end="true"] {
    background-color: var(--primary);
  }

  .data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"] {
    color: var(--primary-foreground);
  }

  .data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"] {
    border-radius: 0;
  }

  .data-\[range-middle\=true\]\:bg-muted[data-range-middle="true"] {
    background-color: var(--muted);
  }

  .data-\[range-middle\=true\]\:text-foreground[data-range-middle="true"] {
    color: var(--foreground);
  }

  .data-\[range-start\=true\]\:rounded-\(--cell-radius\)[data-range-start="true"] {
    border-radius: var(--cell-radius);
  }

  .data-\[range-start\=true\]\:rounded-l-\(--cell-radius\)[data-range-start="true"] {
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
  }

  .data-\[range-start\=true\]\:bg-primary[data-range-start="true"] {
    background-color: var(--primary);
  }

  .data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"] {
    color: var(--primary-foreground);
  }

  .data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
    background-color: var(--primary);
  }

  .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"] {
    color: var(--primary-foreground);
  }

  .data-\[selected\=true\]\:rounded-none[data-selected="true"] {
    border-radius: 0;
  }

  .data-\[side\=bottom\]\:inset-x-0[data-side="bottom"] {
    inset-inline: 0;
  }

  .data-\[side\=bottom\]\:bottom-0[data-side="bottom"] {
    bottom: 0;
  }

  .data-\[side\=bottom\]\:h-auto[data-side="bottom"] {
    height: auto;
  }

  .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=bottom\]\:border-t[data-side="bottom"] {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: calc(2*var(--spacing)*-1);
  }

  .data-\[side\=left\]\:inset-y-0[data-side="left"] {
    inset-block: 0;
  }

  .data-\[side\=left\]\:left-0[data-side="left"] {
    left: 0;
  }

  .data-\[side\=left\]\:h-full[data-side="left"] {
    height: 100%;
  }

  .data-\[side\=left\]\:w-3\/4[data-side="left"] {
    width: 75%;
  }

  .data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=left\]\:border-r[data-side="left"] {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: calc(2*var(--spacing));
  }

  .data-\[side\=right\]\:inset-y-0[data-side="right"] {
    inset-block: 0;
  }

  .data-\[side\=right\]\:right-0[data-side="right"] {
    right: 0;
  }

  .data-\[side\=right\]\:h-full[data-side="right"] {
    height: 100%;
  }

  .data-\[side\=right\]\:w-3\/4[data-side="right"] {
    width: 75%;
  }

  .data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=right\]\:border-l[data-side="right"] {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: calc(2*var(--spacing)*-1);
  }

  .data-\[side\=top\]\:inset-x-0[data-side="top"] {
    inset-inline: 0;
  }

  .data-\[side\=top\]\:top-0[data-side="top"] {
    top: 0;
  }

  .data-\[side\=top\]\:h-auto[data-side="top"] {
    height: auto;
  }

  .data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[side\=top\]\:border-b[data-side="top"] {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: calc(2*var(--spacing));
  }

  .data-\[size\=default\]\:h-8[data-size="default"] {
    height: calc(var(--spacing) * 8);
  }

  .data-\[size\=default\]\:max-w-xs[data-size="default"] {
    max-width: var(--container-xs);
  }

  .data-\[size\=lg\]\:size-10[data-size="lg"] {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  .data-\[size\=sm\]\:size-6[data-size="sm"] {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .data-\[size\=sm\]\:h-7[data-size="sm"] {
    height: calc(var(--spacing) * 7);
  }

  .data-\[size\=sm\]\:max-w-xs[data-size="sm"] {
    max-width: var(--container-xs);
  }

  .data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size="sm"] {
    border-radius: min(var(--radius-md), 10px);
  }

  :is(.\*\:data-\[slot\=avatar\]\:ring-2 > *)[data-slot="avatar"] {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  :is(.\*\:data-\[slot\=avatar\]\:ring-background > *)[data-slot="avatar"] {
    --tw-ring-color: var(--background);
  }

  :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1 > *)[data-slot="select-value"] {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  :is(.\*\:data-\[slot\=select-value\]\:flex > *)[data-slot="select-value"] {
    display: flex;
  }

  :is(.\*\:data-\[slot\=select-value\]\:items-center > *)[data-slot="select-value"] {
    align-items: center;
  }

  :is(.\*\:data-\[slot\=select-value\]\:gap-1\.5 > *)[data-slot="select-value"] {
    gap: calc(var(--spacing) * 1.5);
  }

  .data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
    --tw-translate-x: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: var(--primary);
  }

  .data-\[state\=closed\]\:overflow-hidden[data-state="closed"] {
    overflow: hidden;
  }

  .data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: var(--muted);
  }

  .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --tw-translate-x: 0;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .data-\[variant\=destructive\]\:text-destructive[data-variant="destructive"] {
    color: var(--destructive);
  }

  .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant="destructive"]:focus {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }

  .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant="destructive"]:focus {
    color: var(--destructive);
  }

  .data-\[variant\=line\]\:rounded-none[data-variant="line"] {
    border-radius: 0;
  }

  @supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))) {
    .supports-backdrop-filter\:backdrop-blur-xs {
      --tw-backdrop-blur: blur(var(--blur-xs));
      -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
      backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-md {
      max-width: var(--container-md);
    }
  }

  @media (min-width: 40rem) {
    .sm\:max-w-sm {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  @media (min-width: 40rem) {
    .sm\:justify-end {
      justify-content: flex-end;
    }
  }

  @media (min-width: 40rem) {
    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
      grid-row: span 2 / span 2;
    }
  }

  @media (min-width: 40rem) {
    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
      place-items: start;
    }
  }

  @media (min-width: 40rem) {
    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
      text-align: left;
    }
  }

  @media (min-width: 40rem) {
    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size="default"] *):is(:where(.group\/alert-dialog-content):has([data-slot="alert-dialog-media"]) *) {
      grid-column-start: 2;
    }
  }

  @media (min-width: 40rem) {
    .sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size="default"] *):has([data-slot="alert-dialog-media"]) {
      grid-template-rows: auto 1fr;
    }
  }

  @media (min-width: 40rem) {
    .data-\[side\=left\]\:sm\:max-w-sm[data-side="left"] {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 40rem) {
    .data-\[side\=right\]\:sm\:max-w-sm[data-side="right"] {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 40rem) {
    .data-\[size\=default\]\:sm\:max-w-sm[data-size="default"] {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 48rem) {
    .md\:flex-row {
      flex-direction: row;
    }
  }

  @media (min-width: 48rem) {
    .md\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:text-pretty {
      text-wrap: pretty;
    }
  }

  .dark\:border-input:is(.dark *) {
    border-color: var(--input);
  }

  .dark\:bg-destructive\/20:is(.dark *) {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-destructive\/20:is(.dark *) {
      background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .dark\:bg-input\/30:is(.dark *) {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:bg-input\/30:is(.dark *) {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  .dark\:text-muted-foreground:is(.dark *) {
    color: var(--muted-foreground);
  }

  .dark\:after\:mix-blend-lighten:is(.dark *):after {
    content: var(--tw-content);
    mix-blend-mode: lighten;
  }

  @media (hover: hover) {
    .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-destructive\/30:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--destructive) 30%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-input\/50:is(.dark *):hover {
      background-color: var(--input);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-input\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--input) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .dark\:hover\:bg-muted\/50:is(.dark *):hover {
      background-color: var(--muted);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .dark\:hover\:bg-muted\/50:is(.dark *):hover {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .dark\:hover\:text-foreground:is(.dark *):hover {
      color: var(--foreground);
    }
  }

  .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:disabled\:bg-input\/80:is(.dark *):disabled {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:disabled\:bg-input\/80:is(.dark *):disabled {
      background-color: color-mix(in oklab, var(--input) 80%, transparent);
    }
  }

  .dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid="true"] {
    border-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid="true"] {
      border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
    }
  }

  .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
    --tw-ring-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
      --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
    }
  }

  .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant="destructive"]:focus {
    background-color: var(--destructive);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant="destructive"]:focus {
      background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
    }
  }

  .data-open\:animate-in:where([data-state="open"]), .data-open\:animate-in:where([data-open]:not([data-open="false"])) {
    animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-open\:bg-accent:where([data-state="open"]), .data-open\:bg-accent:where([data-open]:not([data-open="false"])) {
    background-color: var(--accent);
  }

  .data-open\:text-accent-foreground:where([data-state="open"]), .data-open\:text-accent-foreground:where([data-open]:not([data-open="false"])) {
    color: var(--accent-foreground);
  }

  .data-open\:fade-in-0:where([data-state="open"]), .data-open\:fade-in-0:where([data-open]:not([data-open="false"])) {
    --tw-enter-opacity: 0;
  }

  .data-open\:zoom-in-95:where([data-state="open"]), .data-open\:zoom-in-95:where([data-open]:not([data-open="false"])) {
    --tw-enter-scale: .95;
  }

  .data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side="bottom"]:where([data-state="open"]), .data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side="bottom"]:where([data-open]:not([data-open="false"])) {
    --tw-enter-translate-y: calc(.1*100%);
  }

  .data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side="left"]:where([data-state="open"]), .data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side="left"]:where([data-open]:not([data-open="false"])) {
    --tw-enter-translate-x: calc(.1*-100%);
  }

  .data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side="right"]:where([data-state="open"]), .data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side="right"]:where([data-open]:not([data-open="false"])) {
    --tw-enter-translate-x: calc(.1*100%);
  }

  .data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side="top"]:where([data-state="open"]), .data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side="top"]:where([data-open]:not([data-open="false"])) {
    --tw-enter-translate-y: calc(.1*-100%);
  }

  .data-closed\:animate-out:where([data-state="closed"]), .data-closed\:animate-out:where([data-closed]:not([data-closed="false"])) {
    animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none);
  }

  .data-closed\:fade-out-0:where([data-state="closed"]), .data-closed\:fade-out-0:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-opacity: 0;
  }

  .data-closed\:zoom-out-95:where([data-state="closed"]), .data-closed\:zoom-out-95:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-scale: .95;
  }

  .data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side="bottom"]:where([data-state="closed"]), .data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side="bottom"]:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-translate-y: calc(.1*100%);
  }

  .data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side="left"]:where([data-state="closed"]), .data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side="left"]:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-translate-x: calc(.1*-100%);
  }

  .data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side="right"]:where([data-state="closed"]), .data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side="right"]:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-translate-x: calc(.1*100%);
  }

  .data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side="top"]:where([data-state="closed"]), .data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side="top"]:where([data-closed]:not([data-closed="false"])) {
    --tw-exit-translate-y: calc(.1*-100%);
  }

  .data-checked\:border-primary:where([data-state="checked"]), .data-checked\:border-primary:where([data-checked]:not([data-checked="false"])) {
    border-color: var(--primary);
  }

  .data-checked\:bg-primary:where([data-state="checked"]), .data-checked\:bg-primary:where([data-checked]:not([data-checked="false"])) {
    background-color: var(--primary);
  }

  .data-checked\:text-primary-foreground:where([data-state="checked"]), .data-checked\:text-primary-foreground:where([data-checked]:not([data-checked="false"])) {
    color: var(--primary-foreground);
  }

  .dark\:data-checked\:bg-primary:is(.dark *):where([data-state="checked"]), .dark\:data-checked\:bg-primary:is(.dark *):where([data-checked]:not([data-checked="false"])) {
    background-color: var(--primary);
  }

  .data-disabled\:pointer-events-none:where([data-disabled="true"]), .data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled="false"])) {
    pointer-events: none;
  }

  .data-disabled\:opacity-50:where([data-disabled="true"]), .data-disabled\:opacity-50:where([data-disabled]:not([data-disabled="false"])) {
    opacity: .5;
  }

  .data-active\:bg-background:where([data-state="active"]), .data-active\:bg-background:where([data-active]:not([data-active="false"])) {
    background-color: var(--background);
  }

  .data-active\:text-foreground:where([data-state="active"]), .data-active\:text-foreground:where([data-active]:not([data-active="false"])) {
    color: var(--foreground);
  }

  .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant="default"] *):where([data-state="active"]), .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant="default"] *):where([data-active]:not([data-active="false"])) {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-state="active"]), .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-active]:not([data-active="false"])) {
    background-color: #0000;
  }

  .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-state="active"]), .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-active]:not([data-active="false"])) {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  :is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-state="active"]), .group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-active]:not([data-active="false"]))):after {
    content: var(--tw-content);
    opacity: 1;
  }

  .dark\:data-active\:border-input:is(.dark *):where([data-state="active"]), .dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active="false"])) {
    border-color: var(--input);
  }

  .dark\:data-active\:bg-input\/30:is(.dark *):where([data-state="active"]), .dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active="false"])) {
    background-color: var(--input);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .dark\:data-active\:bg-input\/30:is(.dark *):where([data-state="active"]), .dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active="false"])) {
      background-color: color-mix(in oklab, var(--input) 30%, transparent);
    }
  }

  .dark\:data-active\:text-foreground:is(.dark *):where([data-state="active"]), .dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active="false"])) {
    color: var(--foreground);
  }

  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-state="active"]), .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-active]:not([data-active="false"])) {
    border-color: #0000;
  }

  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-state="active"]), .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant="line"] *):where([data-active]:not([data-active="false"])) {
    background-color: #0000;
  }

  .data-horizontal\:h-px:where([data-orientation="horizontal"]) {
    height: 1px;
  }

  .data-horizontal\:w-full:where([data-orientation="horizontal"]) {
    width: 100%;
  }

  .data-horizontal\:flex-col:where([data-orientation="horizontal"]) {
    flex-direction: column;
  }

  .data-vertical\:w-px:where([data-orientation="vertical"]) {
    width: 1px;
  }

  .data-vertical\:self-stretch:where([data-orientation="vertical"]) {
    align-self: stretch;
  }

  .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
    fill: var(--muted-foreground);
  }

  .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
    stroke: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
      stroke: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }

  .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
    stroke: var(--border);
  }

  .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"] {
    stroke: #0000;
  }

  .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"] {
    stroke: var(--border);
  }

  .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
    fill: var(--muted);
  }

  .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
    fill: var(--muted);
  }

  .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"] {
    stroke: var(--border);
  }

  .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"] {
    stroke: #0000;
  }

  .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
  }

  .\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&_tr\]\:border-b tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-\(--cell-radius\):first-child[data-selected="true"] button {
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
  }

  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role="checkbox"]) {
    padding-right: 0;
  }

  :is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_next > svg) {
    rotate: 180deg;
  }

  :is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir="rtl"], [dir="rtl"] *) *):is(.rdp-button_previous > svg) {
    rotate: 180deg;
  }

  :is(.\*\:\[a\]\:underline > *):is(a) {
    text-decoration-line: underline;
  }

  :is(.\*\:\[a\]\:underline-offset-3 > *):is(a) {
    text-underline-offset: 3px;
  }

  @media (hover: hover) {
    .\[a\]\:hover\:bg-destructive\/20:is(a):hover {
      background-color: var(--destructive);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .\[a\]\:hover\:bg-destructive\/20:is(a):hover {
        background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .\[a\]\:hover\:bg-muted:is(a):hover {
      background-color: var(--muted);
    }
  }

  @media (hover: hover) {
    .\[a\]\:hover\:bg-primary\/80:is(a):hover {
      background-color: var(--primary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .\[a\]\:hover\:bg-primary\/80:is(a):hover {
        background-color: color-mix(in oklab, var(--primary) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .\[a\]\:hover\:bg-secondary\/80:is(a):hover {
      background-color: var(--secondary);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .\[a\]\:hover\:bg-secondary\/80:is(a):hover {
        background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .\[a\]\:hover\:text-muted-foreground:is(a):hover {
      color: var(--muted-foreground);
    }
  }

  @media (hover: hover) {
    :is(.\*\:\[a\]\:hover\:text-foreground > *):is(a):hover {
      color: var(--foreground);
    }
  }

  :is(.\*\:\[span\]\:last\:flex > *):is(span):last-child {
    display: flex;
  }

  :is(.\*\:\[span\]\:last\:items-center > *):is(span):last-child {
    align-items: center;
  }

  :is(.\*\:\[span\]\:last\:gap-2 > *):is(span):last-child {
    gap: calc(var(--spacing) * 2);
  }

  :is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant="destructive"] > *):is(svg) {
    color: var(--destructive);
  }

  :is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 > *):is(svg:not([class*="size-"])) {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }

  .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-\(--cell-radius\):last-child[data-selected="true"] button {
    border-top-right-radius: var(--cell-radius);
    border-bottom-right-radius: var(--cell-radius);
  }

  .\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-\(--cell-radius\):nth-child(2)[data-selected="true"] button {
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
  }

  .\[\&\>span\]\:text-xs > span {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .\[\&\>span\]\:opacity-70 > span {
    opacity: .7;
  }

  .\[\&\>svg\]\:pointer-events-none > svg {
    pointer-events: none;
  }

  .\[\&\>svg\]\:size-3\! > svg {
    width: calc(var(--spacing) * 3) !important;
    height: calc(var(--spacing) * 3) !important;
  }

  .\[\&\>svg\]\:size-3\.5 > svg {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }

  .\[\&\>svg\]\:size-4 > svg {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }

  .\[\&\>svg\]\:h-2\.5 > svg {
    height: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:h-3 > svg {
    height: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:w-2\.5 > svg {
    width: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:w-3 > svg {
    width: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:text-muted-foreground > svg {
    color: var(--muted-foreground);
  }

  .group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size="lg"]) *) > svg {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }

  .group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size="sm"]) *) > svg {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }

  .group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size="default"] *) > svg {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
  }

  .group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size="lg"] *) > svg {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
  }

  .group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size="sm"] *) > svg {
    display: none;
  }

  .\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-fade-mask {
  syntax: "*";
  inherits: false
}

@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}

@property --shimmer-image {
  syntax: "*";
  inherits: false
}

@property --shimmer-text-fill {
  syntax: "*";
  inherits: false
}

@media (prefers-reduced-motion: reduce) {
  .shimmer {
    -webkit-text-fill-color: currentColor;
    background-image: none;
    animation: none;
  }
}

:root {
  --burgundy: #721121;
  --terracotta: #a5402d;
  --cream: #eee0cb;
  --khaki: #baa898;
  --blue: #28587b;
  --ink: #261b19;
  --paper: #f8f4ee;
  --white: #fffdf9;
  --line: #ddd3c8;
  --serif: Georgia, "Times New Roman", serif;
  --text-caption: .75rem;
  --text-label: .8125rem;
  --text-small: .875rem;
  --text-body: 1rem;
  --text-control: 1rem;
}

body {
  font-size: var(--text-body);
  line-height: 1.5;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
}

button, input, select, textarea {
  line-height: 1.45;
}

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--terracotta);
  outline-offset: 2px;
}

.venue-tag {
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.venue-tag svg {
  width: 12px;
  height: 12px;
}

.venue-tag.compact {
  font-size: var(--text-caption);
  padding: 3px 5px;
  line-height: 1;
}

.venue-tag.archived {
  opacity: .62;
  text-decoration: line-through;
}

.venue-tag.legacy {
  border-style: dashed;
}

.brand-mark {
  color: var(--burgundy);
  font-family: var(--serif);
  letter-spacing: -.055em;
  align-items: center;
  gap: 8px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.brand-mark svg {
  width: 29px;
  height: 29px;
}

.brand-mark svg path:first-child {
  fill: currentColor;
}

.brand-mark svg path:last-child {
  fill: none;
  stroke: var(--cream);
  stroke-linecap: round;
  stroke-width: 1.5px;
}

.brand-mark--light {
  color: #fffaf2;
}

.eyebrow, .dashboard-eyebrow {
  color: var(--terracotta);
  font-size: var(--text-label);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 14px;
  font-weight: 700;
  line-height: 1.45;
}

.button {
  font-size: var(--text-small);
  border: 0;
  border-radius: 999px;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  font-weight: 650;
  transition: transform .2s, background .2s, box-shadow .2s;
}

.button:hover {
  transform: translateY(-1px);
}

.button--burgundy {
  background: var(--burgundy) !important;
  color: #fffaf2 !important;
}

.button--burgundy:hover {
  box-shadow: 0 9px 24px #7211212e;
  background: #5e0d1a !important;
}

.button--full {
  width: 100%;
}

.customer-site {
  background: var(--paper);
  min-height: 100vh;
}

.customer-nav {
  color: #fffaf2;
  z-index: 20;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 76px;
  padding: 0 clamp(22px, 4vw, 68px);
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.nav-logo {
  justify-self: start;
}

.nav-links {
  align-items: center;
  gap: 34px;
  display: flex;
}

.nav-links a {
  font-size: var(--text-small);
  opacity: .76;
  transition: opacity .2s;
}

.nav-links a:hover {
  opacity: 1;
}

.nav-actions {
  justify-self: end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.nav-business {
  opacity: .82;
  color: #fffaf2 !important;
  background: none !important;
  height: 38px !important;
  padding: 0 12px !important;
}

.nav-book {
  color: var(--burgundy) !important;
  background: #fffffff0 !important;
  border-radius: 999px !important;
  height: 40px !important;
  padding: 0 18px !important;
}

.nav-mobile {
  color: #fff;
  background: #ffffff21;
  border: 1px solid #ffffff38;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: none;
}

.discovery-hero {
  color: #fffaf2;
  background: url("https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=2400&q=90") 50% 54% / cover no-repeat;
  height: max(740px, 100svh);
  min-height: 740px;
  position: relative;
  overflow: hidden;
}

.hero-shade {
  background: linear-gradient(90deg, #1c080ac7 0%, #1c080a80 42%, #190c0a14 78%), linear-gradient(0deg, #17090880 0%, #0000 45%);
  position: absolute;
  inset: 0;
}

.hero-content {
  z-index: 2;
  max-width: min(1240px, 100vw - clamp(56px, 12vw, 200px));
  position: absolute;
  top: 48%;
  left: clamp(28px, 6vw, 100px);
  transform: translateY(-42%);
}

.hero-eyebrow {
  color: var(--cream);
  opacity: .85;
  animation: .7s 50ms both rise;
}

.hero-content h1 {
  font-family: var(--serif);
  letter-spacing: -.07em;
  text-wrap: balance;
  margin: 0;
  font-size: clamp(68px, 8.2vw, 126px);
  font-weight: 400;
  line-height: .82;
  animation: .8s .12s both rise;
}

.hero-copy {
  opacity: .86;
  max-width: 600px;
  margin: 27px 0 31px;
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.5;
  animation: .8s .2s both rise;
}

.hero-search {
  color: var(--ink);
  background: #fffdf9f7;
  border-radius: 14px;
  grid-template-columns: 1.05fr 1.15fr 1fr .84fr .8fr auto;
  align-items: stretch;
  max-width: 1180px;
  min-height: 78px;
  animation: .8s .28s both rise;
  display: grid;
  overflow: hidden;
  box-shadow: 0 24px 70px #1204064d;
}

.search-segment {
  color: var(--ink);
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 0 16px;
  display: flex;
  position: relative;
}

.search-segment:not(:first-of-type):before {
  content: "";
  background: #e3dbd1;
  width: 1px;
  position: absolute;
  top: 17px;
  bottom: 17px;
  left: 0;
}

.search-segment > svg:first-child {
  color: var(--terracotta);
  flex: none;
}

.search-segment span {
  font-size: var(--text-small);
  flex-direction: column;
  flex: 1;
  min-width: 0;
  font-weight: 590;
  line-height: 1.25;
  display: flex;
}

.search-segment small {
  color: #8a7b71;
  font-size: var(--text-caption);
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-weight: 650;
}

.search-segment strong {
  font-size: var(--text-small);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 590;
  overflow: hidden;
}

.search-segment input, .search-segment select {
  appearance: none;
  color: inherit;
  font-size: var(--text-small);
  background: none;
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  padding: 0;
  font-weight: 590;
}

.search-segment input[type="date"] {
  height: 24px;
}

.segment-chevron {
  flex: none;
  color: #8d8077 !important;
}

.search-submit {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-small);
  border: 0;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-width: 145px;
  margin: 9px;
  padding: 0 18px;
  font-weight: 680;
  transition: background .2s, transform .2s;
  display: flex;
}

.search-submit:hover {
  background: var(--terracotta);
  transform: scale(.985);
}

.search-submit:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.hero-footnote {
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  z-index: 2;
  flex-direction: column;
  max-width: 320px;
  display: flex;
  position: absolute;
  bottom: 34px;
  left: clamp(28px, 4vw, 68px);
}

.hero-footnote strong {
  font-family: var(--serif);
  letter-spacing: -.02em;
  text-transform: none;
  margin: 4px 0;
  font-size: 19px;
  font-weight: 400;
}

.hero-footnote span {
  opacity: .62;
}

.hero-scroll {
  font-size: var(--text-small);
  z-index: 2;
  align-items: center;
  gap: 10px;
  display: flex;
  position: absolute;
  bottom: 35px;
  right: clamp(28px, 4vw, 68px);
}

.discovery-types {
  background: var(--white);
  border-bottom: 1px solid var(--line);
  grid-template-columns: repeat(4, 1fr);
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 76px);
  display: grid;
}

.discovery-types a {
  border-right: 1px solid var(--line);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  min-height: 125px;
  padding: 24px 30px;
  transition: background .2s;
  display: grid;
}

.discovery-types a:first-child {
  border-left: 1px solid var(--line);
}

.discovery-types a:hover {
  background: #f3ede5;
}

.discovery-types a > svg:first-child {
  color: var(--terracotta);
  width: 21px;
  height: 21px;
}

.discovery-types a > svg:last-child {
  opacity: .45;
  width: 16px;
  height: 16px;
  transition: transform .2s;
}

.discovery-types a:hover > svg:last-child {
  transform: translateX(4px);
}

.discovery-types span {
  gap: 5px;
  display: grid;
}

.discovery-types small {
  color: #887a70;
  font-size: var(--text-caption);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.discovery-types strong {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
}

.bookable-section {
  max-width: 1600px;
  margin: 0 auto;
  padding: clamp(90px, 9vw, 145px) clamp(24px, 5vw, 76px);
}

.restaurant-profile-intro {
  max-width: 1600px;
  margin: 0 auto;
  padding: clamp(52px, 7vw, 96px) clamp(24px, 5vw, 76px) 0;
}

.restaurant-profile-intro .text-link {
  margin-bottom: clamp(42px, 6vw, 80px);
}

.restaurant-profile-intro h1 {
  color: var(--burgundy);
  font-family: var(--font-display);
  letter-spacing: -.065em;
  max-width: 12ch;
  margin: 12px 0 24px;
  font-size: clamp(3.2rem, 8vw, 7.5rem);
  font-weight: 500;
  line-height: .9;
}

.restaurant-reserve-action {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-label);
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 13px 20px;
  font-weight: 680;
  display: inline-flex;
}

.restaurant-profile-intro > p:last-child {
  color: #655c55;
  max-width: 62ch;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  line-height: 1.65;
}

.restaurant-profile-page .bookable-section {
  padding-top: clamp(46px, 6vw, 84px);
}

.search-pagination {
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-top: 24px;
  padding: 24px 0;
  display: grid;
}

.search-pagination a, .search-pagination span {
  color: var(--burgundy);
  font-size: var(--text-label);
  font-weight: 650;
}

.search-pagination a:last-child, .search-pagination span:last-child {
  justify-self: end;
}

.search-pagination span[aria-disabled="true"] {
  color: #a79b92;
}

.search-pagination small {
  color: #746a62;
}

.section-heading {
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr);
  align-items: end;
  gap: 50px;
  margin-bottom: 48px;
  display: grid;
}

.section-heading h2, .booking-story h2, .occasion-copy h2, .restaurant-cta h2 {
  font-family: var(--serif);
  letter-spacing: -.06em;
  margin: 0;
  font-size: clamp(48px, 5.7vw, 82px);
  font-weight: 400;
  line-height: .93;
}

.section-heading > p {
  color: #756a62;
  max-width: 390px;
  margin: 0 0 5px;
  font-size: 16px;
  line-height: 1.6;
}

.public-unavailable {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  align-items: flex-start;
  gap: 20px;
  padding: 34px 4px;
  display: flex;
}

.public-unavailable svg {
  color: var(--terracotta);
}

.public-unavailable strong {
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 500;
}

.public-unavailable p {
  color: #766a62;
  margin: 8px 0 0;
}

.featured-venue {
  background: var(--white);
  grid-template-columns: minmax(0, 1.08fr) minmax(470px, .92fr);
  min-height: 690px;
  display: grid;
}

.featured-venue-media {
  min-height: 690px;
  position: relative;
  overflow: hidden;
}

.featured-venue-media:after {
  content: "";
  background: linear-gradient(0deg, #190a0885, #0000 45%);
  position: absolute;
  inset: 0;
}

.featured-venue-media img {
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.2, .75, .25, 1);
}

.featured-venue:hover .featured-venue-media img {
  transform: scale(1.025);
}

.venue-live-badge {
  font-size: var(--text-caption);
  letter-spacing: .05em;
  text-transform: uppercase;
  z-index: 2;
  background: #fffdf9f0;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  display: flex;
  position: absolute;
  top: 22px;
  left: 22px;
}

.venue-live-badge span {
  background: #39705c;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  animation: 1.8s infinite livePulse;
}

.featured-venue-caption {
  color: #fff;
  font-size: var(--text-label);
  z-index: 2;
  align-items: center;
  gap: 8px;
  display: flex;
  position: absolute;
  bottom: 24px;
  left: 26px;
}

.featured-venue-content {
  align-self: center;
  padding: clamp(38px, 5vw, 72px);
}

.featured-venue-content h3 {
  font-family: var(--serif);
  letter-spacing: -.05em;
  margin: 0;
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 400;
  line-height: .98;
}

.featured-venue-title {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  display: flex;
}

.featured-venue-title h3 {
  margin-right: auto;
}

.featured-venue-logo {
  border: 1px solid var(--line);
  object-fit: contain;
  border-radius: 50%;
  flex: none;
  padding: 4px;
}

.favorite-venue-button {
  color: var(--burgundy);
  font-size: var(--text-caption);
  border: 1px solid #d8cec3;
  border-radius: 999px;
  flex: none;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 11px;
  display: inline-flex;
}

.favorite-venue-button svg {
  width: 15px;
  height: 15px;
}

.favorite-venue-button.is-favorite {
  background: #f2e5df;
  border-color: #d6b9ad;
}

.favorite-venue-button:disabled {
  cursor: wait;
  opacity: .6;
}

.featured-venue-copy {
  color: #71665f;
  font-size: var(--text-body);
  max-width: 560px;
  margin: 22px 0 28px;
  line-height: 1.65;
}

.experience-gallery-strip {
  align-items: center;
  gap: 7px;
  margin: -12px 0 24px;
  display: flex;
  overflow: hidden;
}

.experience-gallery-strip img {
  object-fit: cover;
  border: 1px solid #ded4ca;
  width: 74px;
  height: 50px;
}

.experience-gallery-strip span {
  color: #721121;
  font-size: var(--text-caption);
  background: #eee0cb;
  justify-content: center;
  align-items: center;
  min-width: 50px;
  height: 50px;
  font-weight: 700;
  display: flex;
}

.offering-tabs {
  border-bottom: 1px solid var(--line);
  gap: 22px;
  margin-bottom: 24px;
  display: flex;
  overflow-x: auto;
}

.offering-tabs button {
  color: #796d65;
  font-size: var(--text-label);
  background: none;
  border: 0;
  flex: none;
  padding: 0 0 12px;
}

.offering-tabs button.active {
  border-bottom: 2px solid var(--burgundy);
  color: var(--burgundy);
  font-weight: 680;
}

.inline-availability-controls {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr 1fr;
  margin-bottom: 25px;
  display: grid;
}

.inline-availability-controls label {
  align-items: center;
  gap: 11px;
  min-height: 70px;
  padding: 0 15px;
  display: flex;
}

.inline-availability-controls label:first-child {
  border-right: 1px solid var(--line);
  padding-left: 2px;
}

.inline-availability-controls svg {
  color: var(--terracotta);
  width: 17px;
  height: 17px;
}

.inline-availability-controls span {
  flex: 1;
  gap: 4px;
  display: grid;
}

.inline-availability-controls small {
  color: #8c8077;
  font-size: var(--text-caption);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.inline-availability-controls input, .inline-availability-controls select {
  color: var(--ink);
  font-size: var(--text-small);
  background: none;
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  padding: 0;
  font-weight: 620;
}

.availability-heading {
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 15px;
  display: flex;
}

.availability-heading > div {
  gap: 5px;
  display: grid;
}

.availability-heading strong {
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 500;
}

.availability-heading span, .availability-heading > p {
  color: #84776e;
  font-size: var(--text-caption);
  margin: 0;
}

.availability-heading > p {
  color: var(--blue);
}

.inline-time-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  min-height: 54px;
  display: grid;
}

.inline-time-list.is-loading {
  opacity: .38;
}

.inline-time-list button {
  color: var(--burgundy);
  background: none;
  border: 1px solid #cec2b7;
  border-radius: 7px;
  justify-items: center;
  gap: 3px;
  min-height: 52px;
  padding: 8px 4px;
  transition: background .18s, border .18s, color .18s, transform .18s;
  animation: .32s both timeReveal;
  display: grid;
}

.inline-time-list button:hover {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
  transform: translateY(-2px);
}

.inline-time-list span {
  font-size: var(--text-small);
  font-weight: 680;
}

.inline-time-list strong {
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.no-times {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  display: flex;
}

.no-times p {
  color: #776b63;
  font-size: var(--text-small);
  margin: 0;
}

.no-times button {
  color: var(--burgundy);
  font-size: var(--text-label);
  background: none;
  border: 0;
  align-items: center;
  gap: 7px;
  display: flex;
}

.no-times svg {
  width: 14px;
  height: 14px;
}

.availability-actions {
  gap: 10px;
  margin-top: 20px;
  display: flex;
}

.primary-booking-action, .secondary-booking-action {
  font-size: var(--text-small);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 19px;
  font-weight: 680;
  display: flex;
}

.primary-booking-action {
  background: var(--burgundy);
  border: 1px solid var(--burgundy);
  color: #fff;
  flex: 1;
}

.primary-booking-action svg {
  width: 15px;
  height: 15px;
}

.secondary-booking-action {
  color: var(--burgundy);
  background: none;
  border: 1px solid #cfc4ba;
}

.experience-fee-notice {
  border-bottom: 1px solid var(--line);
  gap: 3px;
  padding: 14px 2px;
  display: grid;
}

.experience-fee-notice strong {
  font-size: var(--text-label);
}

.experience-fee-notice span {
  color: #796d65;
  font-size: var(--text-caption);
}

.public-menu-preview {
  border-bottom: 1px solid var(--line);
}

.public-menu-preview summary {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding: 16px 2px;
  list-style: none;
  display: flex;
}

.public-menu-preview summary::-webkit-details-marker {
  display: none;
}

.public-menu-preview summary > span {
  gap: 2px;
  display: grid;
}

.public-menu-preview summary small {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.public-menu-preview summary strong {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
}

.public-menu-preview summary svg {
  color: var(--burgundy);
  width: 15px;
  height: 15px;
  transition: transform .2s;
}

.public-menu-preview[open] summary svg {
  transform: rotate(90deg);
}

.public-menu-preview > div {
  border-top: 1px solid var(--line);
  padding: 5px 2px 15px;
}

.public-menu-preview section {
  padding: 14px 0 4px;
}

.public-menu-preview h4 {
  font-family: var(--serif);
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 500;
}

.public-menu-preview section > p {
  color: #7b6f67;
  font-size: var(--text-caption);
  margin: 0 0 8px;
}

.public-menu-preview section > div {
  border-top: 1px solid #eee7df;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  padding: 10px 0;
  display: flex;
}

.public-menu-preview section > div span {
  gap: 3px;
  display: grid;
}

.public-menu-preview section > div strong {
  font-size: var(--text-label);
}

.public-menu-preview section > div small {
  color: #83776e;
  font-size: var(--text-caption);
}

.public-menu-preview section > div b {
  font-size: var(--text-label);
  font-weight: 600;
}

.inventory-note {
  color: #7c7068;
  font-size: var(--text-caption);
  align-items: center;
  gap: 7px;
  margin: 13px 0 0;
  display: flex;
}

.inventory-note svg {
  color: #39705c;
  width: 14px;
  height: 14px;
}

.published-experiences {
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
  gap: 60px;
  padding: clamp(85px, 9vw, 135px) 0 0;
  display: grid;
}

.experience-heading {
  position: sticky;
  top: 30px;
}

.experience-heading h3 {
  font-family: var(--serif);
  letter-spacing: -.05em;
  max-width: 360px;
  margin: 0;
  font-size: clamp(34px, 3.5vw, 50px);
  font-weight: 400;
  line-height: 1;
}

.experience-list {
  border-top: 1px solid var(--line);
}

.experience-row {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 24px;
  min-height: 150px;
  padding: 28px 0;
  display: grid;
}

.experience-row > span {
  color: #a99d93;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
}

.experience-row > div {
  gap: 6px;
  display: grid;
}

.experience-row small {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.experience-row strong {
  font-family: var(--serif);
  letter-spacing: -.025em;
  font-size: 25px;
  font-weight: 500;
}

.experience-row p {
  color: #7c7068;
  font-size: var(--text-label);
  margin: 0;
}

.experience-row button {
  color: var(--burgundy);
  font-size: var(--text-label);
  background: none;
  border: 0;
  border-bottom: 1px solid #a99c91;
  align-items: center;
  gap: 10px;
  padding: 0 0 7px;
  display: flex;
}

.experience-row button svg {
  width: 14px;
  height: 14px;
  transition: transform .2s;
}

.experience-row button:hover svg {
  transform: translateX(4px);
}

.public-venue-details {
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(250px, .58fr) minmax(0, 1.42fr);
  gap: clamp(55px, 7vw, 110px);
  margin-top: clamp(90px, 10vw, 150px);
  padding-top: clamp(55px, 6vw, 90px);
  display: grid;
}

.public-venue-details > header {
  align-self: start;
  position: sticky;
  top: 30px;
}

.public-venue-details > header h3 {
  font-family: var(--serif);
  letter-spacing: -.055em;
  max-width: 390px;
  margin: 0;
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 400;
  line-height: .96;
}

.public-venue-details > header > p:last-child {
  color: #786d65;
  font-size: var(--text-label);
  max-width: 330px;
  margin: 20px 0 0;
  line-height: 1.6;
}

.public-venue-detail-content {
  border-top: 1px solid var(--line);
}

.public-venue-detail-content > section {
  border-bottom: 1px solid var(--line);
  padding: 34px 0;
}

.public-venue-detail-content h4 {
  font-family: var(--serif);
  letter-spacing: -.025em;
  margin: 0 0 25px;
  font-size: 25px;
  font-weight: 500;
}

.public-detail-about > span, .public-detail-safety > span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  gap: 9px;
  font-weight: 720;
  display: flex;
}

.public-detail-about > span svg, .public-detail-safety > span svg {
  width: 17px;
  height: 17px;
}

.public-detail-about > p {
  font-family: var(--serif);
  letter-spacing: -.025em;
  max-width: 850px;
  margin: 23px 0 0;
  font-size: clamp(25px, 2.4vw, 36px);
  line-height: 1.25;
}

.public-visit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  display: grid;
}

.public-visit-grid > div {
  align-items: flex-start;
  gap: 13px;
  display: flex;
}

.public-visit-grid > div > svg {
  color: var(--terracotta);
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.public-visit-grid > div > span {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.public-visit-grid strong {
  font-size: var(--text-label);
  font-weight: 680;
}

.public-visit-grid small {
  color: #786d65;
  font-size: var(--text-caption);
  line-height: 1.45;
}

.public-visit-grid em {
  color: #897c73;
  font-size: var(--text-caption);
  margin-top: 6px;
  font-style: normal;
  line-height: 1.45;
}

.public-visit-grid a {
  color: var(--burgundy);
  font-size: var(--text-caption);
  overflow-wrap: anywhere;
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: flex;
}

.public-visit-grid a svg {
  width: 13px;
  height: 13px;
}

.public-visit-grid > .public-venue-map {
  border: 1px solid #7211211f;
  grid-column: span 2;
  min-height: 210px;
  display: block;
  overflow: hidden;
}

.public-venue-map iframe {
  border: 0;
  width: 100%;
  height: 100%;
  min-height: 210px;
  display: block;
}

.public-hours-list {
  gap: 11px !important;
}

.public-hours-list > span {
  gap: 2px;
  display: grid;
}

.public-detail-safety ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.public-detail-safety li {
  font-size: var(--text-label);
  border-top: 1px solid #e7ded5;
  padding: 13px 0;
}

.public-detail-faqs > div {
  border-top: 1px solid var(--line);
}

.public-detail-faqs details {
  border-bottom: 1px solid var(--line);
}

.public-detail-faqs summary {
  cursor: pointer;
  font-family: var(--serif);
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  font-size: 20px;
  font-weight: 500;
  list-style: none;
  display: flex;
}

.public-detail-faqs summary::-webkit-details-marker {
  display: none;
}

.public-detail-faqs summary svg {
  color: var(--burgundy);
  width: 17px;
  height: 17px;
  transition: transform .2s;
}

.public-detail-faqs details[open] summary svg {
  transform: rotate(180deg);
}

.public-detail-faqs details p {
  color: #71665f;
  font-size: var(--text-label);
  max-width: 760px;
  margin: -5px 0 22px;
  line-height: 1.65;
}

.public-detail-links {
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 24px;
  padding-top: 28px;
  display: flex;
}

.public-detail-links a {
  color: var(--burgundy);
  font-size: var(--text-label);
  border-bottom: 1px solid #b6a99e;
  align-items: center;
  gap: 7px;
  padding: 0 0 6px;
  display: inline-flex;
}

.public-detail-links a svg {
  width: 13px;
  height: 13px;
  transition: transform .18s;
}

.public-detail-links a:hover svg:last-child {
  transform: translate(2px, -2px);
}

.booking-story {
  background: var(--blue);
  color: #fff;
  grid-template-columns: minmax(0, .85fr) minmax(500px, 1.15fr);
  gap: clamp(70px, 9vw, 150px);
  padding: clamp(85px, 9vw, 145px) clamp(24px, 8vw, 130px);
  display: grid;
}

.booking-story .eyebrow {
  color: #c3d4dc;
}

.booking-story-intro > p:last-child {
  color: #ffffffb8;
  font-size: var(--text-body);
  max-width: 470px;
  margin: 30px 0 0;
  line-height: 1.7;
}

.booking-story-steps {
  border-top: 1px solid #ffffff3d;
}

.booking-story-steps > div {
  border-bottom: 1px solid #ffffff3d;
  grid-template-columns: 32px 28px 1fr;
  gap: 14px 18px;
  padding: 29px 0;
  display: grid;
}

.booking-story-steps span {
  color: #ffffff6b;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  padding-top: 6px;
}

.booking-story-steps svg {
  color: var(--cream);
  width: 22px;
  height: 22px;
  margin-top: 1px;
}

.booking-story-steps h3 {
  font-family: var(--serif);
  margin: 0;
  font-size: 25px;
  font-weight: 500;
}

.booking-story-steps p {
  color: #ffffffb8;
  font-size: var(--text-body);
  grid-column: 3;
  max-width: 430px;
  margin: -8px 0 0;
  line-height: 1.6;
}

.occasion-section {
  background: var(--burgundy);
  color: #fff8ef;
  grid-template-columns: 1.18fr .82fr;
  min-height: 700px;
  display: grid;
}

.occasion-image {
  background: url("https://images.unsplash.com/photo-1550966871-3ed3cdb5ed0c?auto=format&fit=crop&w=1800&q=90") center / cover;
  min-height: 610px;
}

.occasion-copy {
  align-self: center;
  padding: clamp(50px, 7vw, 110px);
}

.occasion-copy .eyebrow {
  color: var(--khaki);
}

.occasion-copy h2 {
  font-size: clamp(50px, 5vw, 76px);
}

.occasion-copy > p:not(.eyebrow) {
  color: #fff8efb8;
  max-width: 470px;
  margin: 28px 0 34px;
  font-size: 16px;
  line-height: 1.7;
}

.text-link {
  color: inherit;
  font-size: var(--text-small);
  background: none;
  border: 0;
  border-bottom: 1px solid #ffffff73;
  align-items: center;
  gap: 14px;
  padding: 0 0 8px;
  display: inline-flex;
}

.restaurant-cta {
  grid-template-columns: 1.25fr .75fr;
  align-items: end;
  gap: 80px;
  max-width: 1600px;
  margin: 0 auto;
  padding: clamp(90px, 10vw, 160px) clamp(24px, 7vw, 110px);
  display: grid;
}

.restaurant-cta h2 {
  font-size: clamp(50px, 6vw, 88px);
}

.restaurant-cta > div:last-child {
  padding-bottom: 8px;
}

.restaurant-cta > div:last-child p {
  color: #746960;
  font-size: var(--text-body);
  max-width: 440px;
  margin: 0 0 28px;
  line-height: 1.7;
}

.restaurant-cta a {
  color: var(--burgundy);
  font-size: var(--text-small);
  border-bottom: 1px solid #aa9d92;
  align-items: center;
  gap: 12px;
  padding-bottom: 8px;
  display: inline-flex;
}

.restaurant-cta a svg {
  width: 15px;
  height: 15px;
}

.customer-footer {
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr 1fr auto auto;
  align-items: center;
  gap: 35px;
  min-height: 130px;
  padding: 35px clamp(24px, 5vw, 78px);
  display: grid;
}

.customer-footer p, .customer-footer small {
  color: #81756c;
  font-size: var(--text-label);
}

.customer-footer > div {
  font-size: var(--text-label);
  gap: 24px;
  display: flex;
}

.mobile-menu {
  background: var(--paper);
  z-index: 60;
  flex-direction: column;
  gap: 5px;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

.mobile-menu-head {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 35px;
  display: flex;
}

.mobile-menu-head button {
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
}

.mobile-menu > a:not(.button) {
  border-bottom: 1px solid var(--line);
  font-family: var(--serif);
  justify-content: space-between;
  align-items: center;
  padding: 18px 3px;
  font-size: 32px;
  display: flex;
}

.mobile-menu > a:not(.button) svg {
  width: 19px;
  height: 19px;
}

.mobile-menu > .button {
  margin-top: auto;
}

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes livePulse {
  0%, 100% {
    box-shadow: 0 0 #39705c59;
  }

  50% {
    box-shadow: 0 0 0 5px #39705c00;
  }
}

@keyframes timeReveal {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1100px) {
  .hero-search {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .search-segment--type, .search-segment--location {
    min-height: 66px;
  }

  .search-segment:nth-of-type(3), .search-segment:nth-of-type(4), .search-segment:nth-of-type(5) {
    border-top: 1px solid #e4dcd3;
    min-height: 66px;
  }

  .search-submit {
    min-height: 54px;
  }

  .discovery-types {
    grid-template-columns: repeat(2, 1fr);
  }

  .discovery-types a:nth-child(2) {
    border-right: 0;
  }

  .discovery-types a:nth-child(n+3) {
    border-top: 1px solid var(--line);
  }

  .featured-venue {
    grid-template-columns: 1fr 1fr;
  }

  .featured-venue-content {
    padding: 38px;
  }

  .published-experiences, .public-venue-details {
    gap: 40px;
  }

  .public-visit-grid {
    grid-template-columns: 1fr 1fr;
  }

  .public-visit-grid > .public-venue-map {
    grid-column: 1 / -1;
  }

  .booking-story {
    gap: 60px;
  }
}

@media (max-width: 820px) {
  .customer-nav {
    grid-template-columns: 1fr auto;
    height: 68px;
  }

  .nav-links, .nav-business, .nav-book {
    display: none !important;
  }

  .nav-mobile {
    display: flex;
  }

  .discovery-hero {
    height: 760px;
    min-height: 760px;
  }

  .hero-content {
    max-width: calc(100% - 48px);
    top: 45%;
    left: 24px;
  }

  .hero-content h1 {
    font-size: clamp(64px, 17vw, 96px);
  }

  .hero-search {
    grid-template-columns: 1fr 1fr;
  }

  .search-segment--type, .search-segment--location {
    border-bottom: 1px solid #e4dcd3;
  }

  .search-segment:nth-of-type(3), .search-segment:nth-of-type(4), .search-segment:nth-of-type(5) {
    border-top: 0;
  }

  .search-submit {
    grid-column: 2;
    margin: 7px;
  }

  .hero-scroll {
    display: none;
  }

  .discovery-types {
    padding: 0 18px;
  }

  .discovery-types a {
    min-height: 105px;
    padding: 18px;
  }

  .section-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .featured-venue {
    grid-template-columns: 1fr;
  }

  .featured-venue-media {
    min-height: 62vw;
  }

  .published-experiences {
    grid-template-columns: 1fr;
  }

  .experience-heading {
    position: static;
  }

  .public-venue-details {
    grid-template-columns: 1fr;
  }

  .public-venue-details > header {
    position: static;
  }

  .booking-story, .occasion-section {
    grid-template-columns: 1fr;
  }

  .occasion-image {
    min-height: 60vw;
  }

  .restaurant-cta {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .customer-footer {
    grid-template-columns: 1fr auto;
  }

  .customer-footer p {
    display: none;
  }

  .customer-footer > div {
    grid-area: 2 / 1 / auto / -1;
  }
}

@media (max-width: 560px) {
  .discovery-hero {
    height: 780px;
    min-height: 780px;
  }

  .hero-content {
    max-width: calc(100% - 36px);
    top: 44%;
    left: 18px;
  }

  .hero-content h1 {
    font-size: clamp(60px, 21vw, 88px);
  }

  .hero-copy {
    font-size: var(--text-body);
    margin: 22px 0 26px;
  }

  .search-segment input, .search-segment select, .inline-availability-controls input, .inline-availability-controls select {
    font-size: var(--text-control);
  }

  .hero-search {
    border-radius: 11px;
    grid-template-columns: 1fr 1fr;
  }

  .search-segment {
    padding: 0 11px;
    min-height: 58px !important;
  }

  .search-segment--type, .search-segment--location {
    grid-column: auto;
  }

  .search-segment--location, .search-segment:nth-of-type(4) {
    border-left: 1px solid #e4dcd3;
  }

  .search-segment:nth-of-type(5) {
    border-top: 1px solid #e4dcd3;
  }

  .search-segment svg {
    display: none;
  }

  .segment-chevron {
    display: block !important;
  }

  .search-segment small {
    margin-bottom: 2px;
  }

  .search-submit {
    border-radius: 8px;
    grid-column: 2;
    min-width: 0;
    min-height: 46px;
  }

  .search-submit svg {
    display: block;
  }

  .hero-footnote {
    bottom: 22px;
  }

  .discovery-types {
    grid-template-columns: 1fr;
    padding: 0 18px;
  }

  .discovery-types a, .discovery-types a:first-child {
    border-left: 0;
    border-right: 0;
    border-top: 1px solid var(--line);
    min-height: 88px;
  }

  .discovery-types a:first-child {
    border-top: 0;
  }

  .bookable-section {
    padding-left: 18px;
    padding-right: 18px;
  }

  .featured-venue {
    margin: 0 -18px;
  }

  .featured-venue-media {
    width: 100%;
    min-width: 0;
    min-height: 75vw;
  }

  .featured-venue-content {
    width: 100%;
    min-width: 0;
    padding: 34px 20px;
  }

  .offering-tabs {
    max-width: 100%;
    overflow-x: auto;
  }

  .inline-time-list {
    grid-template-columns: repeat(3, 1fr);
  }

  .availability-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .inline-availability-controls label {
    padding: 0 10px;
  }

  .published-experiences {
    padding-top: 82px;
  }

  .public-venue-details {
    margin-top: 82px;
    padding-top: 48px;
  }

  .public-venue-details > header h3 {
    font-size: 42px;
  }

  .public-visit-grid, .public-detail-safety ul {
    grid-template-columns: 1fr;
  }

  .public-venue-detail-content > section {
    padding: 28px 0;
  }

  .public-detail-about > p {
    font-size: 27px;
  }

  .public-detail-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .experience-row {
    grid-template-columns: 26px 1fr;
    align-items: start;
    gap: 12px;
  }

  .experience-row button {
    grid-column: 2;
    justify-self: start;
  }

  .booking-story {
    padding-left: 22px;
    padding-right: 22px;
  }

  .booking-story-steps > div {
    grid-template-columns: 25px 24px 1fr;
  }

  .occasion-copy {
    padding: 68px 24px;
  }

  .restaurant-cta {
    gap: 42px;
    padding-left: 22px;
    padding-right: 22px;
  }

  .customer-footer {
    gap: 18px;
  }

  .customer-footer > div {
    flex-wrap: wrap;
  }
}

.customer-nav--solid {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  background: #fffdf9f7;
  position: sticky;
  top: 0;
}

.customer-nav--solid .nav-links a {
  opacity: .7;
}

.customer-nav--solid .nav-business {
  color: var(--burgundy) !important;
}

.customer-nav--solid .nav-book {
  background: var(--burgundy) !important;
  color: #fffaf2 !important;
}

.customer-nav--solid .nav-mobile {
  color: var(--burgundy);
  background: #f1e8db;
  border-color: #e2d7ca;
}

.search-page {
  color: var(--ink);
  background: #f5f1eb;
  min-height: 100vh;
}

.search-page > main {
  min-height: calc(100vh - 76px);
}

.search-toolbar {
  border-bottom: 1px solid var(--line);
  z-index: 18;
  background: #fffdf9f7;
  padding: 12px clamp(20px, 3vw, 46px);
  position: sticky;
  top: 76px;
}

.search-toolbar form {
  background: var(--white);
  border: 1px solid #d8cec3;
  border-radius: 13px;
  grid-template-columns: .85fr 1.25fr .86fr .78fr .78fr auto;
  max-width: 1500px;
  min-height: 62px;
  margin: 0 auto;
  display: grid;
  overflow: hidden;
}

.search-filter-field {
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 9px 14px;
  display: flex;
  position: relative;
}

.search-filter-field:not(:first-child):before {
  content: "";
  background: #e4dcd3;
  width: 1px;
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 0;
}

.search-filter-field > svg:first-child {
  color: var(--terracotta);
  flex: none;
  width: 18px;
  height: 18px;
}

.search-filter-field > svg:last-child {
  color: #92867d;
  flex: none;
  width: 14px;
  height: 14px;
}

.search-filter-field span {
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: grid;
}

.search-filter-field small {
  color: #8a7d74;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.search-filter-field input, .search-filter-field select {
  appearance: none;
  color: var(--ink);
  font-size: var(--text-small);
  background: none;
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  padding: 0;
  font-weight: 650;
}

.search-update {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-small);
  border: 0;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-width: 144px;
  margin: 7px;
  padding: 0 18px;
  font-weight: 700;
  display: flex;
}

.search-update:hover {
  background: #5d0d19;
}

.search-update svg {
  width: 18px;
  height: 18px;
}

.search-results-heading {
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  max-width: 1600px;
  margin: 0 auto;
  padding: 38px clamp(24px, 4vw, 60px) 29px;
  display: flex;
}

.search-results-heading .eyebrow {
  margin-bottom: 7px;
}

.search-results-heading h1 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 0;
  font-size: clamp(34px, 3.6vw, 54px);
  font-weight: 400;
  line-height: 1;
}

.search-results-heading > div:first-child > p:last-child {
  color: #756a62;
  font-size: var(--text-small);
  margin: 11px 0 0;
}

.search-heading-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.more-filters {
  background: var(--white);
  color: var(--ink);
  font-size: var(--text-small);
  border: 1px solid #d8cec3;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 17px;
  font-weight: 650;
  display: flex;
  position: relative;
}

.more-filters:hover {
  border-color: var(--burgundy);
  color: var(--burgundy);
}

.more-filters svg {
  width: 16px;
  height: 16px;
}

.more-filters > span {
  background: var(--terracotta);
  border: 2px solid var(--white);
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  top: -1px;
  right: -1px;
}

.mobile-results-toggle {
  background: #e9e1d7;
  border-radius: 999px;
  padding: 3px;
  display: none;
}

.mobile-results-toggle button {
  color: #756a62;
  font-size: var(--text-label);
  background: none;
  border: 0;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 13px;
  display: flex;
}

.mobile-results-toggle button.active {
  background: var(--white);
  color: var(--burgundy);
  box-shadow: 0 3px 10px #37251e14;
}

.mobile-results-toggle svg {
  width: 15px;
  height: 15px;
}

.search-results-layout {
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(560px, .9fr) minmax(430px, 1.1fr);
  align-items: start;
  display: grid;
}

.search-results-list {
  gap: 24px;
  min-width: 0;
  padding: 30px clamp(24px, 4vw, 60px) 80px;
  display: grid;
}

.search-venue-result {
  background: var(--white);
  border: 1px solid #ddd3c8;
  overflow: hidden;
  box-shadow: 0 14px 34px #37251e0b;
}

.search-venue-result > header {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 1fr 210px;
  align-items: stretch;
  min-height: 154px;
  display: grid;
}

.search-venue-result > header > div:first-child {
  align-content: center;
  padding: 24px 28px;
  display: grid;
  position: relative;
}

.result-index {
  color: #a69a91;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  position: absolute;
  top: 17px;
  right: 19px;
}

.search-venue-result header p {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 6px;
  font-weight: 700;
}

.search-venue-result header h2 {
  font-family: var(--serif);
  letter-spacing: -.035em;
  margin: 0;
  padding-right: 22px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.05;
}

.search-venue-result header small {
  color: #756a62;
  font-size: var(--text-label);
  margin-top: 9px;
}

.search-venue-result .favorite-venue-button {
  justify-self: start;
  margin-top: 12px;
}

.search-venue-image {
  min-height: 154px;
  position: relative;
  overflow: hidden;
}

.search-venue-image img {
  object-fit: cover;
  transition: transform .6s;
}

.search-venue-result:hover .search-venue-image img {
  transform: scale(1.025);
}

.search-offering-list {
  display: grid;
}

.search-offering {
  padding: 23px 28px 25px;
}

.search-offering + .search-offering {
  border-top: 1px solid var(--line);
}

.search-offering-title {
  text-align: left;
  background: none;
  border: 0;
  gap: 5px;
  padding: 0;
  display: grid;
}

.search-offering-title strong {
  color: var(--ink);
  font-family: var(--serif);
  letter-spacing: -.02em;
  font-size: 21px;
  font-weight: 500;
}

.search-offering-title span {
  color: #776b63;
  font-size: var(--text-label);
}

.search-result-times {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 17px;
  display: grid;
}

.search-result-times button {
  background: var(--burgundy);
  border: 1px solid var(--burgundy);
  color: #fff;
  font-size: var(--text-small);
  border-radius: 999px;
  min-height: 42px;
  padding: 0 8px;
  font-weight: 700;
  transition: background .16s, transform .16s;
}

.search-result-times button:hover {
  background: var(--terracotta);
  border-color: var(--terracotta);
  transform: translateY(-1px);
}

.search-offering-status {
  color: #776b63;
  font-size: var(--text-small);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 17px;
  display: flex;
}

.search-offering-status button {
  color: var(--burgundy);
  font-size: var(--text-small);
  background: none;
  border: 0;
  border-bottom: 1px solid #aa9d92;
  align-items: center;
  gap: 6px;
  padding: 0 0 4px;
  display: flex;
}

.search-offering-status svg {
  width: 15px;
  height: 15px;
}

.search-time-skeleton {
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 17px;
  display: grid;
}

.search-time-skeleton i {
  background: #eee8e1;
  border-radius: 999px;
  height: 42px;
  animation: 1.1s ease-in-out infinite alternate searchPulse;
}

.search-map {
  height: calc(100vh - 153px);
  min-height: 620px;
  position: sticky;
  top: 153px;
}

.search-map iframe {
  border: 0;
  width: 100%;
  height: 100%;
}

.search-map-caption {
  background: #fffdf9f5;
  align-items: center;
  gap: 11px;
  max-width: 330px;
  padding: 14px 16px;
  display: flex;
  position: absolute;
  bottom: 24px;
  left: 24px;
  box-shadow: 0 9px 28px #291d1826;
}

.search-map-caption > svg {
  color: var(--terracotta);
  flex: none;
  width: 18px;
  height: 18px;
}

.search-map-caption span {
  gap: 3px;
  display: grid;
}

.search-map-caption strong {
  font-size: var(--text-small);
}

.search-map-caption small {
  color: #7c7068;
  font-size: var(--text-caption);
  line-height: 1.45;
}

.search-empty {
  background: var(--white);
  border: 1px solid var(--line);
  flex-direction: column;
  align-items: flex-start;
  min-height: 390px;
  padding: clamp(34px, 6vw, 70px);
  display: flex;
}

.search-empty > svg {
  color: var(--terracotta);
  width: 28px;
  height: 28px;
  margin-bottom: 28px;
}

.search-empty h2 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 0;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 400;
  line-height: 1;
}

.search-empty > p:not(.eyebrow) {
  color: #756a62;
  font-size: var(--text-body);
  max-width: 500px;
  margin: 18px 0 28px;
  line-height: 1.6;
}

.search-filter-dialog {
  max-width: 500px !important;
  padding: 26px !important;
}

.search-filter-dialog [data-slot="dialog-title"] {
  font-family: var(--serif);
  letter-spacing: -.035em;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
}

.search-filter-dialog fieldset {
  border: 0;
  border-top: 1px solid var(--line);
  gap: 12px;
  margin: 4px 0 0;
  padding: 20px 0 2px;
  display: grid;
}

.search-filter-dialog legend {
  font-size: var(--text-small);
  padding: 0 0 12px;
  font-weight: 700;
}

.search-filter-dialog fieldset label {
  color: #665c55;
  font-size: var(--text-small);
  align-items: center;
  gap: 10px;
  display: flex;
}

.search-filter-dialog input {
  accent-color: var(--burgundy);
  width: 18px;
  height: 18px;
}

.search-filter-dialog [data-slot="dialog-footer"] {
  margin-top: 6px;
}

@keyframes searchPulse {
  from {
    opacity: .45;
  }

  to {
    opacity: 1;
  }
}

@media (max-width: 1100px) {
  .search-toolbar form {
    grid-template-columns: 1fr 1.25fr 1fr;
  }

  .search-filter-field {
    min-height: 58px;
  }

  .search-filter-field:nth-child(n+4), .search-update {
    border-top: 1px solid #e4dcd3;
  }

  .search-filter-field:nth-child(4):before {
    display: none;
  }

  .search-update {
    min-height: 48px;
  }

  .search-results-layout {
    grid-template-columns: minmax(500px, 1fr) minmax(370px, .85fr);
  }

  .search-result-times {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .customer-nav--solid {
    height: 68px;
  }

  .search-page > main {
    min-height: calc(100vh - 68px);
  }

  .search-toolbar {
    padding: 10px 14px;
    top: 68px;
  }

  .search-results-heading {
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 18px 22px;
  }

  .search-heading-actions {
    justify-content: space-between;
    width: 100%;
  }

  .mobile-results-toggle {
    display: flex;
  }

  .search-results-layout {
    display: block;
  }

  .search-results-list {
    padding: 18px 18px 70px;
  }

  .search-map {
    height: calc(100vh - 220px);
    min-height: 520px;
    position: relative;
    top: auto;
  }

  .search-results-layout--list .search-map, .search-results-layout--map .search-results-list {
    display: none;
  }
}

@media (max-width: 560px) {
  .search-toolbar {
    position: relative;
    top: auto;
  }

  .search-toolbar form {
    grid-template-columns: 1fr 1fr;
  }

  .search-filter-field {
    min-height: 60px;
    padding: 8px 10px;
  }

  .search-filter-field:nth-child(3):before, .search-filter-field:nth-child(5):before {
    display: none;
  }

  .search-filter-field:nth-child(n+3) {
    border-top: 1px solid #e4dcd3;
  }

  .search-filter-location {
    grid-column: 2;
  }

  .search-update {
    grid-column: 1 / -1;
    min-height: 48px;
    margin: 7px;
  }

  .search-results-heading h1 {
    font-size: 36px;
  }

  .search-results-heading > div:first-child > p:last-child {
    line-height: 1.5;
  }

  .more-filters {
    padding: 0 14px;
  }

  .search-venue-result > header {
    grid-template-columns: minmax(0, 1fr) 118px;
    min-height: 142px;
  }

  .search-venue-result > header > div:first-child {
    padding: 21px 18px;
  }

  .search-venue-result header h2 {
    font-size: 23px;
  }

  .search-venue-image {
    min-height: 142px;
  }

  .result-index {
    display: none;
  }

  .search-offering {
    padding: 21px 18px 23px;
  }

  .search-offering-status {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .search-map-caption {
    max-width: calc(100% - 32px);
    bottom: 16px;
    left: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .search-time-skeleton i {
    animation: none;
  }

  .search-venue-image img, .search-result-times button {
    transition: none;
  }
}

[data-slot="sheet-overlay"] {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #1e110f61 !important;
}

.booking-sheet {
  overflow-y: auto;
  background: var(--white) !important;
  border: 0 !important;
  gap: 0 !important;
  width: min(100%, 580px) !important;
  max-width: 580px !important;
  padding: 0 !important;
}

.sheet-topbar {
  background: var(--white);
  z-index: 4;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 68px;
  padding: 0 20px;
  display: grid;
  position: sticky;
  top: 0;
}

.sheet-topbar > button {
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: flex;
}

.sheet-topbar > button:last-child {
  justify-self: end;
}

.booking-venue-image {
  height: 245px;
  position: relative;
  overflow: hidden;
}

.booking-venue-image:after {
  content: "";
  background: linear-gradient(0deg, #19080aad, #0000 65%);
  position: absolute;
  inset: 0;
}

.booking-venue-image img {
  object-fit: cover;
}

.booking-venue-image > div {
  color: #fff;
  z-index: 2;
  position: absolute;
  bottom: 24px;
  left: 28px;
}

.booking-venue-image p {
  font-size: var(--text-caption);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 4px;
}

.booking-venue-image h2, .booking-details h2, .confirmed-state h2 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  margin: 0;
  font-size: 37px;
  font-weight: 400;
}

.booking-body {
  padding: 28px;
}

.step-label {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 18px;
  font-weight: 700;
}

.booking-meta {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr 1fr;
  margin-bottom: 28px;
  display: grid;
}

.booking-meta > button, .booking-date, .party-stepper {
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  display: flex;
}

.booking-meta > button, .booking-date {
  border-right: 1px solid var(--line);
  padding-right: 12px;
}

.booking-date {
  width: 100%;
}

.booking-calendar {
  background: var(--white) !important;
  width: auto !important;
  padding: 10px !important;
}

.booking-calendar [data-slot="calendar"] {
  --cell-size: 38px;
  background: none;
}

.booking-meta span {
  font-size: var(--text-small);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.booking-meta small {
  color: #8b7e74;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 3px;
}

.party-stepper {
  padding-left: 15px;
}

.party-stepper > button {
  background: #f0e9df;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  display: flex;
}

.booking-body h3 {
  font-family: var(--serif);
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 400;
}

.booking-experience-heading {
  justify-content: space-between;
  align-items: end;
  display: flex;
}

.booking-experience-heading > div {
  gap: 3px;
  display: grid;
}

.booking-experience-heading small {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.booking-experience-heading > span {
  color: #81746c;
  font-size: var(--text-caption);
  padding-bottom: 7px;
}

.booking-discount-entry {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  margin: 24px 0 20px;
}

.booking-discount-entry summary {
  color: var(--blue);
  cursor: pointer;
  font-size: var(--text-label);
  padding: 15px 0;
  font-weight: 650;
  list-style-position: inside;
}

.booking-discount-entry > div {
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr auto;
  gap: 10px 12px;
  padding: 16px 0;
  display: grid;
}

.booking-discount-entry label {
  font-size: var(--text-caption);
  gap: 6px;
  font-weight: 650;
  display: grid;
}

.booking-discount-entry label input {
  min-height: 42px;
}

.booking-discount-entry button {
  align-self: end;
  min-height: 42px;
}

.booking-discount-entry small {
  color: #756960;
  font-size: var(--text-caption);
  grid-column: 1 / -1;
  line-height: 1.45;
}

.booking-discount-applied {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  color: var(--blue);
  align-items: center;
  gap: 11px;
  margin: 24px 0 20px;
  padding: 15px 1px;
  display: flex;
}

.booking-discount-applied > svg {
  background: #e6edf0;
  border-radius: 50%;
  width: 27px;
  height: 27px;
  padding: 6px;
}

.booking-discount-applied > span {
  gap: 2px;
  display: grid;
}

.booking-discount-applied strong {
  font-size: var(--text-label);
}

.booking-discount-applied small {
  color: #756960;
  font-size: var(--text-caption);
}

.availability-note {
  color: var(--blue);
  font-size: var(--text-label);
  align-items: center;
  gap: 7px;
  margin: 0 0 15px;
  display: flex;
}

.booking-times {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 25px;
  display: grid;
}

.booking-times button {
  color: var(--burgundy);
  background: none;
  border: 1px solid #cfc3b7;
  border-radius: 8px;
  gap: 3px;
  min-height: 54px;
  padding: 8px 6px;
  transition: background .18s, border .18s, color .18s, transform .18s;
  display: grid;
}

.booking-times button span {
  font-size: var(--text-small);
  font-weight: 680;
}

.booking-times button strong {
  font-size: var(--text-caption);
  letter-spacing: .09em;
  text-transform: uppercase;
}

.booking-times button:hover:not(:disabled), .booking-times button.preferred {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
  transform: translateY(-1px);
}

.booking-times button:disabled {
  color: #b4a9a0;
  cursor: not-allowed;
  border-color: #e4ddd5;
}

.booking-empty {
  color: #81756d;
  font-size: var(--text-label);
  margin: -13px 0 24px;
  line-height: 1.5;
}

.booking-holding {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: calc(100vh - 68px);
  display: flex;
}

.booking-holding > svg {
  color: var(--burgundy);
  width: 30px;
  height: 30px;
  margin-bottom: 25px;
  animation: .8s linear infinite booking-hold-spin;
}

.booking-holding .step-label {
  margin-bottom: 9px;
}

.booking-holding h2 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  margin: 0 0 25px;
  font-size: 52px;
  font-weight: 400;
}

.booking-holding .booking-summary {
  text-align: left;
  width: 100%;
  max-width: 390px;
}

.booking-holding > p:last-child {
  color: #756960;
  font-size: var(--text-small);
  max-width: 330px;
  margin: 0;
  line-height: 1.55;
}

@keyframes booking-hold-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .booking-holding > svg {
    animation: none;
  }
}

.notify-availability {
  color: var(--burgundy);
  text-align: left;
  background: none;
  border: 0;
  border-top: 1px solid #e3dad1;
  align-items: center;
  gap: 13px;
  width: 100%;
  margin-top: 18px;
  padding: 18px 2px 4px;
  display: flex;
}

.notify-availability svg {
  width: 19px;
  height: 19px;
}

.notify-availability span {
  gap: 3px;
  display: grid;
}

.notify-availability strong {
  font-size: var(--text-small);
}

.notify-availability small, .notify-intro {
  color: #81756d;
  font-size: var(--text-label);
  line-height: 1.5;
}

.notify-details {
  padding-top: 54px;
}

.notify-intro {
  font-size: var(--text-small);
  margin: 6px 0 26px;
}

.notify-window label > span {
  color: #9a8d84;
  font-size: var(--text-caption);
  font-weight: 400;
}

.notify-confirmed-state .confirmed-icon {
  color: #43685b;
  background: #e7ecea;
}

.booking-error {
  border-left: 2px solid var(--terracotta);
  color: #7a2b26;
  font-size: var(--text-small);
  background: #f7e7e2;
  margin: 0 0 16px;
  padding: 10px 12px;
  line-height: 1.5;
}

.fine-print {
  color: #8a7d73;
  font-size: var(--text-caption);
  text-align: center;
  margin: 12px 0 0;
}

.booking-details {
  padding-top: 35px;
}

.booking-details h2 {
  margin-bottom: 25px;
  font-size: 40px;
}

.guest-checkout-note {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  margin: -4px 0 22px;
  padding: 13px 0;
  display: flex;
}

.guest-checkout-note strong {
  color: var(--burgundy);
  font-size: var(--text-small);
}

.guest-checkout-note span {
  color: #7d7168;
  font-size: var(--text-small);
}

.hold-banner {
  color: var(--blue);
  background: #e6edf0;
  align-items: center;
  gap: 10px;
  margin: -35px -28px 25px;
  padding: 14px 28px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.hold-banner > span {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.hold-banner strong {
  font-size: var(--text-label);
}

.hold-banner small {
  font-size: var(--text-caption);
  opacity: .78;
  margin-top: 2px;
}

.hold-banner > i {
  background: var(--blue);
  height: 2px;
  transition: width 1s linear;
  position: absolute;
  bottom: 0;
  left: 0;
}

.booking-summary {
  background: #f1e8db;
  flex-wrap: wrap;
  gap: 10px 17px;
  margin-bottom: 26px;
  padding: 17px;
  display: flex;
}

.booking-summary strong {
  font-family: var(--serif);
  flex-basis: 100%;
  font-size: 19px;
  font-weight: 500;
}

.booking-summary span {
  color: #665c55;
  font-size: var(--text-label);
  align-items: center;
  gap: 6px;
  display: flex;
}

.booking-price-summary {
  border-bottom: 1px solid var(--line);
  gap: 9px;
  margin: -10px 0 26px;
  padding: 0 2px 15px;
  display: grid;
}

.booking-price-summary > span {
  color: #756960;
  font-size: var(--text-caption);
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.booking-price-summary > span strong {
  color: var(--ink);
  font-size: var(--text-label);
  font-weight: 600;
}

.booking-price-summary .booking-price-total {
  border-top: 1px solid var(--line);
  color: var(--ink);
  margin-top: 3px;
  padding-top: 10px;
}

.booking-price-summary .booking-price-total strong {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
}

.booking-price-summary .booking-price-discount, .booking-price-summary .booking-price-discount strong {
  color: #28587b;
}

.stripe-payment-step {
  padding-top: 42px;
}

.stripe-payment-step h2 {
  margin-bottom: 22px;
  font-size: 38px;
}

.stripe-payment-summary {
  background: #f1e8db;
  align-items: center;
  gap: 13px;
  margin-bottom: 24px;
  padding: 17px;
  display: flex;
}

.stripe-payment-summary > svg {
  color: var(--burgundy);
  width: 21px;
  height: 21px;
}

.stripe-payment-summary span {
  gap: 3px;
  display: grid;
}

.stripe-payment-summary strong {
  font-size: var(--text-label);
}

.stripe-payment-summary small {
  color: #756960;
  font-size: var(--text-caption);
}

.event-ticket-picker {
  border-top: 1px solid #e5ddd4;
  border-bottom: 1px solid #e5ddd4;
  margin: 8px 0 22px;
}

.event-ticket-picker > header {
  grid-template-columns: 20px 1fr;
  align-items: center;
  gap: 12px;
  padding: 15px 0 10px;
  display: grid;
}

.event-ticket-picker > header svg {
  color: var(--terracotta);
  width: 18px;
  height: 18px;
}

.event-ticket-picker > header span {
  justify-content: space-between;
  display: flex;
}

.event-ticket-picker > header strong {
  font-size: var(--text-small);
}

.event-ticket-picker > header small {
  color: #897d74;
  font-size: var(--text-caption);
}

.event-ticket-picker > label {
  grid-template-columns: 1fr 70px;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 8px 0 8px 32px;
  display: grid !important;
}

.event-ticket-picker > label + label {
  border-top: 1px solid #eee7df;
}

.event-ticket-picker > label > span {
  grid-template-columns: 1fr auto;
  gap: 2px;
  display: grid;
}

.event-ticket-picker > label strong {
  font-size: var(--text-small);
}

.event-ticket-picker > label small {
  color: #897d74;
  font-size: var(--text-caption);
  grid-column: 1 / -1;
}

.event-ticket-picker > label em {
  font-size: var(--text-small);
  font-style: normal;
}

.event-ticket-picker select {
  width: 70px;
}

.event-discount-code {
  margin-bottom: 20px;
}

.event-discount-code small {
  color: #897d74;
  font-size: var(--text-caption);
  line-height: 1.4;
}

.event-gratuity-selector {
  border-top: 1px solid #e3d9cf;
  border-bottom: 1px solid #e3d9cf;
  gap: 12px;
  margin: 0 0 20px;
  padding: 16px 0;
  display: grid;
}

.event-gratuity-selector > header {
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  display: flex;
}

.event-gratuity-selector > header span {
  gap: 3px;
  display: grid;
}

.event-gratuity-selector small {
  color: #897d74;
  font-size: var(--text-caption);
  line-height: 1.45;
}

.event-gratuity-selector > div {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.event-gratuity-selector > div button {
  color: #4c433d;
  background: #fff;
  border: 1px solid #d8cdc3;
  min-height: 38px;
  padding: 7px 4px;
}

.event-gratuity-selector > div button[aria-pressed="true"] {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.event-gratuity-selector > label {
  font-size: var(--text-caption);
  grid-template-columns: 1fr 100px;
  align-items: center;
  gap: 10px;
  font-weight: 650;
  display: grid;
}

@media (max-width: 520px) {
  .event-gratuity-selector > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.event-booking-questions {
  background: #fcfaf8;
  border: 1px solid #e5ddd6;
  border-radius: 14px;
  gap: 14px;
  margin: 4px 0 20px;
  padding: 18px;
  display: grid;
}

.event-booking-questions header {
  gap: 3px;
  display: grid;
}

.event-booking-questions header small, .event-booking-questions label small {
  color: #897d74;
}

.event-booking-questions label {
  font-size: var(--text-caption);
  gap: 7px;
  font-weight: 650;
  display: grid;
}

.event-booking-questions label em {
  color: #9e3f35;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 11px;
  font-style: normal;
}

.event-booking-questions textarea {
  resize: vertical;
  background: #fff;
  min-height: 76px;
}

.event-price-receipt {
  background: #f7f2ec;
  border: 1px solid #e3d9cf;
  margin: 0 0 22px;
  padding: 16px 18px;
}

.event-price-receipt > header {
  align-items: center;
  gap: 9px;
  margin-bottom: 11px;
  display: flex;
}

.event-price-receipt > header svg {
  color: var(--burgundy);
  width: 17px;
  height: 17px;
}

.event-price-receipt > header strong {
  font-size: var(--text-small);
}

.event-price-receipt > div {
  color: #665c55;
  font-size: var(--text-caption);
  justify-content: space-between;
  padding: 4px 0;
  display: flex;
}

.event-price-receipt > div strong {
  color: #302a26;
  font-weight: 500;
}

.event-price-receipt .event-price-discount, .event-price-receipt .event-price-discount strong {
  color: #3f7652;
}

.event-price-receipt > footer {
  font-size: var(--text-small);
  border-top: 1px solid #d9cec3;
  justify-content: space-between;
  margin-top: 9px;
  padding-top: 11px;
  display: flex;
}

.event-payment-review > .event-price-receipt {
  margin: 20px 24px 0;
}

.saved-payment-options {
  gap: 9px;
  margin: 0 0 20px;
  display: grid;
}

.saved-payment-options > strong {
  font-size: var(--text-label);
}

.saved-payment-options > button {
  text-align: left;
  background: #fffdf9;
  border: 1px solid #d8cec3;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 13px;
  display: flex;
}

.saved-payment-options > button:hover {
  border-color: var(--burgundy);
}

.saved-payment-options > button > svg {
  color: var(--terracotta);
  width: 19px;
  height: 19px;
}

.saved-payment-options > button > span {
  flex: 1;
  gap: 2px;
  display: grid;
}

.saved-payment-options > button b {
  font-size: var(--text-small);
  text-transform: capitalize;
}

.saved-payment-options > button small, .saved-payment-options > span {
  color: #81756c;
  font-size: var(--text-caption);
}

.saved-payment-options > button em {
  color: var(--burgundy);
  font-size: var(--text-caption);
  font-style: normal;
}

.saved-payment-options > span {
  align-items: center;
  gap: 8px;
  margin-top: 3px;
  display: flex;
}

.saved-payment-options > span:before, .saved-payment-options > span:after {
  content: "";
  background: #ddd3c9;
  flex: 1;
  height: 1px;
}

.stripe-payment-disclosure {
  color: #756960;
  font-size: var(--text-caption);
  align-items: flex-start;
  gap: 8px;
  margin: 18px 0;
  line-height: 1.55;
  display: flex;
}

.stripe-payment-disclosure svg {
  color: #43685b;
  flex: none;
  width: 17px;
  height: 17px;
}

.stripe-payment-step .button {
  margin-top: 24px;
}

.form-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px 12px;
  display: grid;
}

.form-grid label {
  color: #70645c;
  font-size: var(--text-label);
  letter-spacing: .04em;
  flex-direction: column;
  gap: 7px;
  display: flex;
}

.form-grid .full {
  grid-column: 1 / -1;
}

.form-grid input, .form-grid textarea {
  color: var(--ink);
  min-height: 44px;
  box-shadow: none !important;
  font-size: var(--text-control) !important;
  background: none !important;
  border: 0 !important;
  border-bottom: 1px solid #cfc4b9 !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
}

.form-grid textarea {
  resize: none;
  min-height: 67px;
}

.check-row {
  color: #756960;
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  margin: 20px 0;
  display: flex;
}

.check-row input {
  display: none;
}

.check-row > span {
  background: var(--burgundy);
  color: #fff;
  justify-content: center;
  align-items: center;
  width: 17px;
  height: 17px;
  display: flex;
}

.native-check {
  color: #756960;
  font-size: var(--text-small);
  align-items: flex-start;
  gap: 9px;
  margin: 18px 0;
  line-height: 1.5;
  display: flex;
}

.native-check + .native-check {
  margin-top: -8px;
}

.native-check input {
  accent-color: var(--burgundy);
  width: 16px;
  height: 16px;
  margin: 0;
}

.booking-policy {
  border-top: 1px solid var(--line);
  margin: 0 0 20px;
  padding-top: 16px;
}

.booking-policy strong {
  font-size: var(--text-small);
}

.booking-policy p {
  color: #7c7068;
  font-size: var(--text-small);
  margin: 5px 0 0;
  line-height: 1.55;
}

.checkout-disclosure {
  color: #8a7d73;
  font-size: var(--text-label);
  text-align: center;
  max-width: 410px;
  margin: 12px auto 0;
  line-height: 1.5;
}

.confirmed-state {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - 68px);
  padding: 45px;
  display: flex;
}

.confirmed-icon {
  background: var(--burgundy);
  color: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 62px;
  height: 62px;
  margin: 0 auto 28px;
  display: flex;
}

.confirmed-state h2 {
  font-size: 47px;
}

.confirmed-state > p:not(.eyebrow) {
  color: #746860;
  font-size: var(--text-body);
  line-height: 1.7;
}

.confirmation-code {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  flex-direction: column;
  margin: 26px 0;
  padding: 18px;
  display: flex;
}

.confirmation-code small {
  color: #897c73;
  font-size: var(--text-caption);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.confirmation-code strong {
  font-family: var(--font-geist-mono);
  margin-top: 4px;
  font-size: 18px;
}

.confirmation-summary {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  gap: 10px;
  margin: 24px 0 0;
  padding: 17px 0;
  display: grid;
}

.confirmation-summary span {
  color: #70645d;
  font-size: var(--text-label);
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: flex;
}

.confirmation-summary svg {
  color: var(--terracotta);
  width: 15px;
  height: 15px;
}

.event-menu-selections {
  border-block: 1px solid var(--border);
  gap: 18px;
  padding-block: 24px;
  display: grid;
}

.event-menu-selections > header h3, .event-menu-selections > header p {
  margin: 4px 0 0;
}

.event-menu-selections > header p {
  color: var(--muted-foreground);
}

.event-menu-ticket {
  border-top: 1px solid var(--border);
  gap: 14px;
  padding-top: 14px;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .event-menu-ticket {
    border-top: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  }
}

.event-menu-section-choice {
  gap: 8px;
  display: grid;
}

.event-menu-section-choice > small {
  color: var(--muted-foreground);
}

.event-menu-section-choice fieldset {
  border: 0;
  gap: 8px;
  padding: 0;
  display: grid;
}

.event-menu-section-choice legend {
  margin-bottom: 7px;
  font-weight: 650;
}

.event-menu-section-choice legend small {
  color: var(--muted-foreground);
  font-weight: 400;
}

.event-menu-section-choice fieldset > label {
  align-items: center;
  gap: 9px;
  display: flex;
}

.event-menu-item-options {
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 14px !important;
}

.event-menu-item-options > p {
  color: var(--muted-foreground);
  margin: -2px 0 2px;
  font-size: 13px;
}

.event-menu-item-options > label > span:last-child {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.event-menu-item-options > label small {
  color: var(--muted-foreground);
  font-weight: 400;
}

.event-menu-section-choice .menu-stock-unavailable {
  color: var(--burgundy);
  font-size: 12px;
  font-weight: 600;
}

.event-menu-section-choice .menu-stock-remaining {
  color: var(--baltic-blue);
  font-size: 12px;
  font-weight: 500;
}

.booking-menu-step {
  overflow-y: auto;
}

.booking-menu-summary {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--champagne-mist);
  gap: 9px;
  padding: 15px;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .booking-menu-summary {
    background: color-mix(in srgb, var(--champagne-mist) 46%, white);
  }
}

.booking-menu-summary > p {
  gap: 2px;
  margin: 0;
  display: grid;
}

.booking-menu-summary > p span {
  font-size: var(--text-label);
  font-weight: 650;
}

.booking-menu-summary > p small {
  color: var(--muted-foreground);
}

.dashboard-shell {
  color: #241d1b;
  background: #f6f3ee;
  min-height: 100vh;
  display: flex;
}

.dashboard-main {
  width: 100%;
  min-width: 0;
}

.dashboard-topbar {
  z-index: 15;
  background: #fff;
  border-bottom: 1px solid #dfd8cf;
  grid-template-columns: minmax(210px, 1fr) auto minmax(330px, 1fr);
  align-items: center;
  height: 60px;
  padding: 0 12px 0 18px;
  display: grid;
  position: sticky;
  top: 48px;
}

.dashboard-mobile-brand {
  display: none;
}

.reservation-view-nav {
  align-items: stretch;
  height: 100%;
  display: flex;
}

.reservation-view-nav button {
  color: #666;
  font-size: var(--text-small);
  background: none;
  border: 0;
  padding: 0 13px;
  position: relative;
}

.reservation-view-nav button:after {
  background: var(--burgundy);
  content: "";
  opacity: 0;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 13px;
  right: 13px;
}

.reservation-view-nav button.active:after {
  opacity: 1;
}

.date-control {
  align-items: center;
  gap: 9px;
  display: flex;
}

.date-control button, .icon-button, .outline-button {
  background: none;
  border: 1px solid #d9d1c8;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  display: flex;
}

.date-control button svg {
  height: 14px;
}

.date-control span {
  text-align: center;
  flex-direction: column;
  min-width: 124px;
  display: flex;
}

.date-control strong {
  font-size: var(--text-label);
}

.date-control small {
  color: #8b7f76;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.topbar-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 0;
  display: flex;
}

.search-button {
  color: #766b63;
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #d9d1c8;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  height: 33px;
  padding: 0 8px;
  display: flex;
}

.search-button kbd {
  font-size: var(--text-caption);
  background: #ece7e1;
  border-radius: 4px;
  align-items: center;
  gap: 2px;
  margin-left: 8px;
  padding: 3px 5px;
  display: flex;
}

.icon-button {
  border-top: 0;
  border-bottom: 0;
  border-right: 0;
  border-radius: 0;
  width: 43px;
  height: 59px;
  position: relative;
}

.icon-button svg {
  height: 16px;
}

.timeline-key-button {
  font-size: var(--text-caption);
  background: #fff;
  border: 0;
  border-left: 1px solid #d9d1c8;
  align-items: center;
  gap: 6px;
  height: 59px;
  padding: 0 11px;
  display: flex;
}

.timeline-key-button svg {
  width: 14px;
  height: 14px;
}

.timeline-key-menu {
  grid-template-rows: repeat(6, minmax(30px, auto)) !important;
  grid-auto-flow: column !important;
  gap: 1px 22px !important;
  min-width: 450px !important;
  padding: 12px 14px !important;
  display: grid !important;
}

.timeline-key-item {
  font-size: var(--text-label);
  align-items: center;
  gap: 8px;
  min-width: 180px;
  display: flex;
}

.timeline-key-item i {
  color: #444;
  justify-content: center;
  align-items: center;
  width: 18px;
  font-style: normal;
  display: flex;
}

.timeline-key-item svg {
  width: 18px;
  height: 18px;
}

.timeline-key-item .held svg {
  color: #d3a91c;
  fill: #f6e6a4;
}

.timeline-key-item .optimized svg {
  color: var(--blue);
}

.timeline-key-item .conflict svg {
  color: var(--terracotta);
}

.timeline-key-item .blocked, .timeline-key-item .locked {
  color: #8d756d;
}

.icon-button i {
  background: var(--terracotta);
  border: 2px solid #fff;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 5px;
  right: 5px;
}

.topbar-actions .button {
  font-size: var(--text-caption);
  border-radius: 0;
  min-height: 60px;
  padding: 0 14px;
}

.topbar-actions button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.service-display-menu {
  max-height: min(620px, 100vh - 74px);
  overflow-y: auto;
  width: 286px !important;
  padding: 7px !important;
}

.service-display-menu [data-slot="dropdown-menu-label"] {
  color: #766c64;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 7px 9px;
}

.service-display-menu [data-slot="dropdown-menu-checkbox-item"], .service-display-menu [data-slot="dropdown-menu-radio-item"] {
  font-size: var(--text-small);
  border-radius: 4px;
  min-height: 34px;
  padding-left: 9px;
}

.service-display-menu .observation-mode-item {
  color: var(--burgundy);
  font-weight: 650;
}

.walk-in-button {
  color: #333;
  font-size: var(--text-caption);
  background: #fff;
  border: 0;
  border-left: 1px solid #d9d1c8;
  border-radius: 0;
  align-items: center;
  gap: 7px;
  height: 59px;
  padding: 0 12px;
  display: flex;
}

.workspace-status {
  border-left: 2px solid var(--blue);
  color: var(--blue);
  font-size: var(--text-caption);
  background: #e8eef0;
  margin-bottom: 12px;
  padding: 9px 12px;
}

.workspace-status.error {
  border-color: var(--terracotta);
  color: #7a2b26;
  background: #f7e7e2;
}

.service-heading {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 19px;
  display: flex;
}

.service-heading h1 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  margin: 0;
  font-size: 37px;
  font-weight: 400;
  line-height: 1;
}

.dashboard-eyebrow {
  color: #8a7b72;
  font-size: var(--text-caption);
  margin-bottom: 7px;
}

.service-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.service-state {
  background: #fffdf9;
  border: 1px solid #ddd6ce;
  border-radius: 9px;
  align-items: center;
  gap: 8px;
  height: 43px;
  padding: 0 10px;
  display: flex;
}

.live-dot, .closed-dot {
  background: #4c8b67;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.closed-dot {
  background: #aa9d93;
}

.service-state > span:nth-child(2) {
  flex-direction: column;
  min-width: 75px;
  display: flex;
}

.service-state small {
  color: #8c8077;
  font-size: var(--text-caption);
}

.service-state strong {
  font-size: var(--text-caption);
  margin-top: 1px;
}

.toggle {
  background: #b9ada4;
  border: 0;
  border-radius: 999px;
  width: 35px;
  height: 20px;
  padding: 2px;
  transition: background .2s;
  position: relative;
}

.toggle i {
  background: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  transition: transform .2s;
  display: block;
}

.toggle.active {
  background: var(--burgundy);
}

.toggle.active i {
  transform: translateX(15px);
}

.outline-button {
  width: 43px;
  height: 43px;
}

.metrics-strip {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  grid-template-columns: repeat(5, 1fr);
  margin-bottom: 16px;
  display: grid;
}

.metrics-strip > div {
  border-right: 1px solid #e5dfd8;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  min-height: 78px;
  padding: 17px 19px;
  display: flex;
}

.metrics-strip > div:last-child {
  border-right: 0;
}

.metrics-strip small {
  color: #81766e;
  font-size: var(--text-caption);
  letter-spacing: .06em;
  text-transform: uppercase;
  flex-basis: 100%;
  font-weight: 600;
}

.metrics-strip strong {
  font-family: var(--font-geist-mono);
  letter-spacing: -.05em;
  font-size: 24px;
  font-weight: 500;
}

.metrics-strip span {
  color: #93887f;
  font-size: var(--text-caption);
}

.pace-metric strong {
  color: var(--blue);
  font-family: inherit;
  font-size: var(--text-small);
  font-weight: 650;
}

.pace-metric > span {
  background: #e2ddd7;
  border-radius: 999px;
  flex-basis: 100%;
  height: 3px;
  overflow: hidden;
}

.pace-metric > span i {
  background: var(--blue);
  height: 100%;
  display: block;
}

.view-toolbar {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  border-bottom: 0;
  justify-content: space-between;
  align-items: center;
  height: 49px;
  padding: 0 12px 0 3px;
  display: flex;
}

.view-tabs {
  background: none !important;
  gap: 0 !important;
  height: 48px !important;
  padding: 0 !important;
}

.view-tabs button {
  color: #847970 !important;
  font-size: var(--text-caption) !important;
  height: 48px !important;
  padding: 0 16px !important;
}

.view-tabs button[data-state="active"] {
  color: var(--burgundy) !important;
}

.view-tabs button:after {
  background: var(--burgundy) !important;
  bottom: 0 !important;
}

.toolbar-actions {
  gap: 6px;
  display: flex;
}

.toolbar-actions button {
  color: #6f655e;
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #ded7cf;
  border-radius: 7px;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 9px;
  display: flex;
}

.workspace {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  min-height: 620px;
  display: grid;
}

.workspace.inspector-expanded > .service-grid {
  display: none;
}

.service-inspector-pane {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  border-right: 0;
  min-width: 0;
}

.timeline-view {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  grid-template-columns: 245px minmax(540px, 1fr);
  min-width: 0;
  display: grid;
  overflow: auto;
}

.guest-rail {
  border-right: 1px solid #ded7cf;
  min-width: 245px;
}

.guest-rail-heading {
  justify-content: space-between;
  align-items: center;
  height: 44px;
  padding: 0 13px;
  display: flex;
}

.guest-rail-heading strong {
  font-size: var(--text-caption);
}

.guest-rail-heading button {
  color: #81766e;
  background: none;
  border: 0;
}

.rail-switch {
  align-items: center;
  gap: 12px;
  display: flex;
}

.rail-switch button {
  color: #91867d;
  font-size: var(--text-caption);
  padding: 0;
}

.rail-switch button.active {
  color: var(--burgundy);
  font-weight: 700;
}

.rail-switch button span {
  background: var(--burgundy);
  color: #fff;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 15px;
  height: 15px;
  margin-left: 3px;
  padding: 0 3px;
  display: inline-flex;
}

.status-summary {
  grid-template-columns: repeat(3, 1fr);
  margin: 0 10px 10px;
  display: grid;
}

.status-summary button {
  color: #81766e;
  font-size: var(--text-caption);
  background: #f1ede7;
  border: 0;
  flex-direction: column;
  gap: 2px;
  padding: 7px 3px;
  display: flex;
}

.status-summary button strong {
  color: var(--ink);
  font-family: var(--font-geist-mono);
  font-size: var(--text-label);
}

.status-summary button.active {
  color: var(--burgundy);
  background: #e7ddd0;
}

.reservation-list {
  flex-direction: column;
  display: flex;
}

.reservation-item {
  text-align: left;
  background: none;
  border: 0;
  border-top: 1px solid #ede8e2;
  grid-template-columns: 6px 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 56px;
  padding: 8px 10px;
  transition: background .15s;
  display: grid;
}

.reservation-item:hover, .reservation-item.selected {
  background: #f0e9df;
}

.status-mark {
  background: #bbb0a8;
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.status-arrived {
  background: var(--terracotta);
}

.status-seated {
  background: var(--blue);
}

.status-finished {
  background: #548065;
}

.status-arriving-late {
  background: #d38436;
}

.status-partially-arrived, .status-partially-seated {
  background: #8d658c;
}

.status-no-show {
  background: #554c47;
}

.wait-waiting {
  background: var(--terracotta);
}

.wait-notified {
  background: var(--blue);
}

.wait-arrived {
  background: #548065;
}

.wait-seated {
  background: #8f857d;
}

.reservation-time {
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
}

.reservation-name {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.reservation-name strong {
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.reservation-name small {
  color: #8a7f76;
  font-size: var(--text-caption);
  align-items: center;
  gap: 3px;
  margin-top: 3px;
  display: flex;
}

.reservation-item > i {
  color: var(--burgundy);
  font-size: var(--text-caption);
  background: #e5d7c5;
  border-radius: 999px;
  padding: 3px 5px;
  font-style: normal;
}

.waitlist-item > i {
  color: var(--blue);
  background: #e4e9eb;
}

.timeline-board {
  min-width: 700px;
  padding-top: 8px;
}

.timeline-times {
  grid-template-columns: repeat(8, 1fr);
  height: 34px;
  margin-left: 90px;
  display: grid;
}

.timeline-times span {
  color: #8e837a;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
}

.section-label {
  background: #f0ece7;
  justify-content: space-between;
  align-items: center;
  height: 29px;
  padding: 0 12px;
  display: flex;
}

.section-label span {
  font-size: var(--text-caption);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-weight: 700;
}

.section-label small {
  color: #877c74;
  font-size: var(--text-caption);
}

.timeline-row {
  grid-template-columns: 90px 1fr;
  height: 51px;
  display: grid;
}

.timeline-row > span {
  color: #756a63;
  font-size: var(--text-caption);
  border-bottom: 1px solid #eee9e3;
  align-items: center;
  padding-left: 12px;
  display: flex;
}

.timeline-track {
  background-image: repeating-linear-gradient(90deg, #ebe6e0 0 1px, #0000 1px 12.5%);
  border-bottom: 1px solid #eee9e3;
  position: relative;
}

.now-line {
  background: var(--terracotta);
  z-index: 3;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16%;
}

.now-line:before {
  background: var(--terracotta);
  content: "";
  border-radius: 50%;
  width: 5px;
  height: 5px;
  position: absolute;
  top: -2px;
  left: -2px;
}

.timeline-block {
  border: 0;
  border-left: 3px solid var(--khaki);
  color: var(--ink);
  text-align: left;
  background: #e8ddd0;
  border-radius: 3px;
  flex-direction: column;
  justify-content: center;
  min-width: 60px;
  padding: 0 8px;
  display: flex;
  position: absolute;
  top: 6px;
  bottom: 6px;
  overflow: hidden;
}

.timeline-block strong {
  font-size: var(--text-caption);
}

.timeline-block small {
  color: #82766d;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.block-arrived {
  border-color: var(--terracotta);
  background: #f1d8d1;
}

.block-seated {
  border-color: var(--blue);
  background: #d8e3e9;
}

.pacing-row {
  grid-template-columns: 90px 1fr;
  height: 55px;
  display: grid;
}

.pacing-row > span {
  color: #766b63;
  font-size: var(--text-caption);
  align-items: center;
  padding-left: 12px;
  display: flex;
}

.pacing-row > div {
  border-left: 1px solid #e5dfd8;
  grid-template-columns: repeat(8, 1fr);
  align-items: end;
  padding: 8px 5%;
  display: grid;
}

.pacing-row i {
  background: var(--khaki);
  border-radius: 2px 2px 0 0;
  width: 45%;
  max-height: 37px;
  margin: 0 auto;
}

.reservation-inspector {
  background: #fffdf9;
  border: 0;
  flex-direction: column;
  min-width: 0;
  height: calc(100vh - 108px);
  max-height: none;
  padding: 0 20px 78px;
  display: flex;
  overflow-y: auto;
}

.reservation-inspector.empty {
  color: #8c8178;
  font-size: var(--text-caption);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.inspector-head {
  background: var(--burgundy);
  color: #fff;
  justify-content: space-between;
  align-items: center;
  min-height: 62px;
  margin: 0 -20px;
  padding: 0 18px;
  display: flex;
}

.guest-avatar {
  background: var(--cream);
  color: var(--burgundy);
  font-family: var(--serif);
  font-size: var(--text-small);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: flex;
}

.inspector-head > div {
  align-items: center;
  gap: 10px;
  display: flex;
}

.inspector-head button {
  color: #fff;
  background: none;
  border: 0;
  place-items: center;
  padding: 4px;
  display: grid;
}

.inspector-head h2 {
  letter-spacing: 0;
  margin: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
}

.inspector-booking-summary {
  background: var(--burgundy);
}

@supports (color: color-mix(in lab, red, red)) {
  .inspector-booking-summary {
    background: color-mix(in srgb, var(--burgundy) 88%, white);
  }
}

.inspector-booking-summary {
  color: #fff;
  margin: 0 -20px;
  padding: 17px 20px 18px;
}

.inspector-booking-summary strong {
  font-size: var(--text-label);
  align-items: center;
  gap: 7px;
  display: flex;
}

.inspector-booking-summary strong svg {
  width: 16px;
  height: 16px;
}

.inspector-booking-summary strong span {
  color: #ffffffb3;
  font-weight: 500;
}

.inspector-booking-summary p {
  font-size: var(--text-label);
  text-transform: capitalize;
  margin: 10px 0 0;
}

.guest-meta {
  color: #8c8178;
  font-size: var(--text-caption);
  margin: 5px 0 12px;
}

.inspector-tags {
  gap: 5px;
  display: flex;
}

.inspector-tags [data-slot="badge"] {
  color: var(--burgundy);
  font-size: var(--text-caption);
  background: #ede4d8;
  border: 0;
  padding: 3px 6px;
}

.inspector-tabs {
  max-width: 100%;
  overflow-x: auto;
  background: none !important;
  gap: 0 !important;
  width: 100% !important;
  height: 35px !important;
  padding: 0 12px !important;
}

.inspector-tabs button {
  font-size: var(--text-caption) !important;
  flex: none !important;
  height: 35px !important;
  padding: 0 8px !important;
}

.inspector-tabs button[data-state="active"] {
  color: var(--burgundy) !important;
}

.inspector-tabs button:after {
  background: var(--burgundy) !important;
  bottom: 0 !important;
}

.inspector-tab-panel {
  padding-top: 1px;
}

.inspector-command-bar {
  grid-template-columns: minmax(0, 1fr) 54px 62px;
  margin: 22px 0 0;
  display: grid;
}

.inspector-command-bar > button {
  border-radius: 0;
  height: 48px;
}

.inspector-edit-primary, .inspector-edit-menu {
  background: var(--blue);
  border: 1px solid var(--blue);
  color: #fff;
  font-size: var(--text-label);
  font-weight: 700;
}

.inspector-edit-menu {
  border-left-color: #ffffff6b;
  place-items: center;
  display: grid;
}

.inspector-edit-menu svg, .inspector-cancel-command svg {
  width: 19px;
  height: 19px;
}

.inspector-cancel-command {
  border: 1px solid var(--terracotta);
  color: var(--terracotta);
  background: none;
  place-items: center;
  margin-left: 8px;
  display: grid;
}

.inspector-action-menu {
  min-width: 220px;
}

.reservation-facts {
  border-top: 1px solid #e6dfd8;
  border-bottom: 1px solid #e6dfd8;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 20px 0;
  padding: 15px 0;
  display: grid;
}

.reservation-facts > div {
  align-items: center;
  gap: 7px;
  display: flex;
}

.reservation-facts svg {
  color: var(--terracotta);
  width: 14px;
  height: 14px;
}

.reservation-facts span {
  flex-direction: column;
  display: flex;
}

.reservation-facts small, .guest-note small, .inspector-section small {
  color: #91867e;
  font-size: var(--text-caption);
}

.reservation-facts strong {
  font-size: var(--text-caption);
  margin-top: 2px;
}

.reservation-detail-line {
  font-size: var(--text-caption);
  border-bottom: 1px solid #eee9e3;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  display: flex;
}

.reservation-detail-line > span {
  color: #81766e;
  align-items: center;
  gap: 6px;
  display: flex;
}

.reservation-detail-line svg {
  color: var(--terracotta);
  width: 12px;
  height: 12px;
}

.guest-note {
  border-left: 2px solid var(--terracotta);
  background: #f2ece5;
  margin-bottom: 20px;
  padding: 11px;
}

.guest-note p {
  font-size: var(--text-caption);
  margin: 5px 0 0;
  line-height: 1.45;
}

.inspector-separator {
  background: #e6dfd8 !important;
  margin: 18px 0 !important;
}

.inspector-section > div {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 7px;
  display: flex;
}

.inspector-section button {
  color: var(--terracotta);
  font-size: var(--text-caption);
  background: none;
  border: 0;
}

.inspector-section p {
  color: #5e5550;
  font-size: var(--text-caption);
  margin: 4px 0;
}

.inspector-actions {
  margin-top: 22px;
}

.inspector-actions p {
  color: #8c8178;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.inspector-actions > div {
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  display: grid;
}

.inspector-actions button {
  color: #756a63;
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-height: 45px;
  display: flex;
}

.inspector-actions button.active {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.message-button {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-caption);
  border: 0;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 35px;
  margin-top: 18px;
  display: flex;
}

.message-presets {
  margin-top: 18px;
}

.message-presets > p {
  color: #8c8178;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.message-presets .message-history-link, .message-history-heading button {
  color: var(--blue);
  font-size: var(--text-caption);
  letter-spacing: 0;
  text-transform: none;
  background: none;
  border: 0;
  padding: 0;
}

.message-history-heading {
  border-bottom: 1px solid #e4ddd5;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0 !important;
  display: flex !important;
}

.message-presets > div {
  gap: 5px;
  display: flex;
}

.message-presets button {
  color: #675d56;
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #d8d0c8;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 7px 8px;
  display: flex;
}

.message-presets button.sent {
  color: #456752;
  background: #e1e9e4;
  border-color: #aebfb3;
}

.message-presets button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.message-presets > small {
  color: #9a8e85;
  font-size: var(--text-caption);
  margin-top: 8px;
  display: block;
}

.inspector-service-footer {
  z-index: 4;
  background: #fffdf9;
  border-top: 1px solid #ded7cf;
  grid-template-columns: auto minmax(125px, 1fr) auto;
  align-items: stretch;
  gap: 8px;
  margin-top: auto;
  padding: 10px 12px;
  display: grid;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.service-inspector-pane {
  position: relative;
}

.inspector-table-assignment {
  font-size: var(--text-label);
  border: 1px solid #d9d1c8;
  align-items: center;
  gap: 7px;
  min-width: 70px;
  padding: 0 10px;
  display: flex;
}

.inspector-table-assignment svg {
  width: 16px;
  height: 16px;
}

.inspector-status-trigger {
  color: #262626;
  font-size: var(--text-label);
  text-align: left;
  background: #fff;
  border: 1px solid #d9d1c8;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0 10px;
  display: flex;
  border-radius: 0 !important;
}

.inspector-status-trigger > svg {
  width: 15px;
  height: 15px;
  margin-left: auto;
}

.inspector-status-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.inspector-status-dot {
  background: var(--khaki);
  border-radius: 50%;
  width: 9px;
  height: 9px;
  display: inline-block;
}

.inspector-status-dot.arrived, .inspector-status-dot.partially-arrived, .inspector-status-dot.arriving-late {
  background: var(--terracotta);
}

.inspector-status-dot.seated, .inspector-status-dot.partially-seated {
  background: #45a85d;
}

.inspector-status-dot.finished {
  background: var(--blue);
}

.inspector-status-dot.no-show, .inspector-status-dot.cancelled {
  background: var(--burgundy);
}

.inspector-status-content {
  min-width: var(--radix-dropdown-menu-trigger-width);
  border-radius: 0;
  padding: 0;
  box-shadow: 0 1px 4px #23232333;
}

.inspector-status-content [data-slot="dropdown-menu-item"] {
  border-bottom: 1px solid #dedede;
  border-radius: 0;
  align-items: center;
  min-height: 38px;
  padding: 0 11px;
  font-size: 13px;
  font-weight: 600;
}

.inspector-status-content .inspector-status-item.selected {
  background: #eef3fb;
}

.inspector-status-content [data-slot="dropdown-menu-item"]:last-child {
  border-bottom: 0;
}

.inspector-status-option-dot {
  border-radius: 50%;
  flex: none;
  width: 11px;
  height: 11px;
  margin-right: 2px;
  display: inline-block;
}

.inspector-status-option-dot.no-show {
  background: #df5362;
}

.inspector-next-status {
  background: var(--blue);
  border: 1px solid var(--blue);
  color: #fff;
  font-size: var(--text-label);
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  font-weight: 700;
  display: flex;
}

.inspector-next-status svg {
  width: 16px;
  height: 16px;
}

.reservation-command-row {
  grid-template-columns: 1fr auto;
  gap: 6px;
  margin: 12px 0 4px;
  display: grid;
}

.reservation-command-row button {
  color: #5f554f;
  font-size: var(--text-caption);
  background: #f2ede7;
  border: 0;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  display: flex;
}

.reservation-command-row button svg {
  height: 12px;
}

.reservation-command-row button.danger {
  color: #994338;
  background: none;
  border: 1px solid #dfcbc6;
  padding: 0 10px;
}

.reservation-command-row button:disabled {
  opacity: .4;
}

.cancel-reservation-confirm {
  border-left: 2px solid var(--terracotta);
  background: #f6e8e4;
  margin: 9px 0 15px;
  padding: 12px;
}

.cancel-reservation-confirm > strong {
  color: #7d3028;
  font-size: var(--text-caption);
}

.cancel-reservation-confirm > p {
  color: #856a64;
  font-size: var(--text-caption);
  margin: 5px 0 9px;
  line-height: 1.5;
}

.cancel-reservation-confirm > input {
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d9c1bb;
  border-radius: 5px;
  width: 100%;
  height: 31px;
  padding: 0 8px;
}

.cancel-reservation-confirm > div {
  justify-content: flex-end;
  gap: 6px;
  margin-top: 8px;
  display: flex;
}

.cancel-reservation-confirm > .cancel-payment-resolution {
  background: #ffffffb8;
  border: 1px solid #dfcbc6;
  border-radius: 6px;
  justify-content: stretch;
  gap: 7px;
  margin: 8px 0;
  padding: 9px;
  display: grid;
}

.cancel-payment-resolution > strong {
  color: #493b37;
  font-size: var(--text-caption);
}

.cancel-payment-resolution > p {
  color: #76635e;
  font-size: var(--text-caption);
  margin: 0;
}

.cancel-payment-resolution > label {
  color: #554641;
  font-size: var(--text-caption);
  align-items: center;
  gap: 6px;
  display: flex;
}

.cancel-payment-resolution input[type="radio"] {
  accent-color: #8d352d;
}

.cancel-payment-resolution > .partial-refund-input {
  grid-template-columns: auto 12px 1fr;
  padding-left: 20px;
  display: grid;
}

.partial-refund-input > input {
  font-size: var(--text-caption);
  border: 1px solid #d9c1bb;
  border-radius: 4px;
  width: 100%;
  height: 27px;
  padding: 0 7px;
}

.cancel-reservation-confirm button {
  color: #76635e;
  font-size: var(--text-caption);
  background: none;
  border: 0;
  padding: 6px;
}

.cancel-reservation-confirm button:last-child {
  color: #fff;
  background: #8d352d;
  border-radius: 5px;
  padding: 6px 9px;
}

.message-job-list {
  flex-direction: column;
  padding: 14px 0;
  display: flex;
}

.message-job-list > div:not(.inspector-empty-state) {
  border-bottom: 1px solid #ece6df;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  display: grid;
}

.message-channel {
  color: #756a63;
  background: #eee8e1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 27px;
  height: 27px;
  display: flex;
}

.message-channel.sms {
  color: var(--blue);
  background: #e2eaed;
}

.message-channel.inbound {
  color: #684d80;
  background: #e8e2f0;
}

.message-channel svg {
  height: 12px;
}

.message-job-list > div > span:nth-child(2) {
  flex-direction: column;
  display: flex;
}

.message-job-list strong {
  font-size: var(--text-caption);
  text-transform: capitalize;
}

.message-job-list small {
  color: #958980;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.message-status {
  color: #7d7169;
  font-size: var(--text-caption);
  text-transform: capitalize;
  background: #ece7e1;
  border-radius: 999px;
  padding: 4px 6px;
  font-style: normal;
}

.message-status.sent, .message-status.delivered {
  color: #3e7155;
  background: #e0ebe4;
}

.message-status.suppressed {
  color: #9c9188;
  background: #ede9e5;
}

.message-status.retryable_failure, .message-status.dead_letter, .message-status.delivery_failed {
  color: #963c31;
  background: #f4dfda;
}

.message-status.processed {
  color: #3e7155;
  background: #e0ebe4;
}

.message-status.ambiguous, .message-status.rejected {
  color: #963c31;
  background: #f4dfda;
}

.message-job-list .message-retry {
  color: var(--burgundy);
  font-size: var(--text-caption);
  text-underline-offset: 2px;
  background: none;
  grid-column: 3;
  justify-self: end;
  font-weight: 700;
  text-decoration: underline;
}

.profile-stats {
  grid-template-columns: repeat(4, 1fr);
  margin: 20px 0;
  display: grid;
}

.profile-stats > div {
  text-align: center;
  border-right: 1px solid #e9e2da;
  flex-direction: column;
  display: flex;
}

.profile-stats > div:last-child {
  border: 0;
}

.profile-stats strong {
  font-family: var(--font-geist-mono);
  font-size: 16px;
}

.profile-stats small {
  color: #8b8077;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-top: 3px;
}

.profile-section {
  border-top: 1px solid #e6dfd8;
  padding: 15px 0 5px;
}

.profile-section > div {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 9px;
  display: flex;
}

.profile-section small {
  color: #8c8178;
  font-size: var(--text-caption);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.profile-section button {
  color: var(--terracotta);
  font-size: var(--text-caption);
  background: none;
  border: 0;
}

.profile-section p {
  font-size: var(--text-caption);
  justify-content: space-between;
  align-items: center;
  margin: 8px 0;
  display: flex;
}

.profile-section p span {
  color: #82776f;
}

.profile-section p strong {
  font-weight: 600;
}

.reservation-profile-panel {
  padding: 18px 0 28px;
}

.reservation-profile-loading {
  gap: 12px;
  padding: 24px 0;
  display: grid;
}

.reservation-profile-loading span {
  background: linear-gradient(90deg, #f2ede7, #e8dfd6, #f2ede7) 0 0 / 200% 100%;
  border-radius: 4px;
  height: 54px;
  animation: 1.25s ease-in-out infinite reservation-profile-pulse;
  display: block;
}

.reservation-profile-loading span:first-child {
  height: 82px;
}

@keyframes reservation-profile-pulse {
  to {
    background-position: -200% 0;
  }
}

.reservation-profile-identity {
  border-bottom: 1px solid #e6dfd8;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: flex-start;
  gap: 10px;
  padding-bottom: 16px;
  display: grid;
}

.reservation-profile-identity > div {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.reservation-profile-identity > div > strong {
  font-size: var(--text-small);
  margin-bottom: 5px;
}

.reservation-profile-identity a {
  color: #756b64;
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.reservation-profile-identity a svg {
  width: 10px;
  height: 10px;
}

.reservation-profile-identity > button {
  font-size: var(--text-caption);
  height: 29px;
  padding: 0 8px;
}

.reservation-profile-metrics {
  border-bottom: 1px solid #e6dfd8;
  grid-template-columns: repeat(2, 1fr);
  display: grid;
}

.reservation-profile-metrics > div {
  flex-direction: column;
  min-height: 64px;
  padding: 13px 11px;
  display: flex;
}

.reservation-profile-metrics > div:nth-child(odd) {
  border-right: 1px solid #e6dfd8;
}

.reservation-profile-metrics > div:nth-child(-n+2) {
  border-bottom: 1px solid #e6dfd8;
}

.reservation-profile-metrics strong {
  font: 600 15px var(--font-geist-mono);
}

.reservation-profile-metrics small {
  color: #8b8077;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-top: 4px;
}

.reservation-profile-details, .reservation-profile-notes, .reservation-profile-visits {
  border-bottom: 1px solid #e6dfd8;
  padding: 15px 0;
}

.reservation-profile-panel h3 {
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin: 0 0 10px;
}

.reservation-profile-details p {
  color: #6e645d;
  font-size: var(--text-caption);
  align-items: center;
  gap: 7px;
  margin: 7px 0;
  display: flex;
}

.reservation-profile-details svg {
  color: #91867d;
  width: 12px;
  height: 12px;
}

.reservation-profile-notes > div + div {
  margin-top: 12px;
}

.reservation-profile-notes small {
  color: #8c8178;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.reservation-profile-notes p {
  font-size: var(--text-caption);
  margin: 4px 0 0;
  line-height: 1.5;
}

.reservation-profile-visits > header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.reservation-profile-visits > header span {
  font: 600 8px var(--font-geist-mono);
  background: #eee8e1;
  border-radius: 999px;
  padding: 3px 6px;
}

.reservation-profile-visits > div {
  border-top: 1px solid #eee8e1;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  display: grid;
}

.reservation-profile-visits > div > span:first-child {
  color: var(--blue);
}

.reservation-profile-visits > div svg {
  width: 12px;
  height: 12px;
}

.reservation-profile-visits > div > span:nth-child(2) {
  flex-direction: column;
  display: flex;
}

.reservation-profile-visits strong {
  font-size: var(--text-caption);
}

.reservation-profile-visits small {
  color: #8b8077;
  font-size: var(--text-caption);
  text-transform: capitalize;
  margin-top: 3px;
}

.reservation-profile-visits > div > span:last-child {
  color: #5f554f;
  font: 600 8px var(--font-geist-mono);
  align-items: center;
  gap: 4px;
  display: flex;
}

.reservation-profile-visits > p {
  color: #8b8077;
  font-size: var(--text-caption);
}

.inspector-empty-state {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 52px 10px 20px;
  display: flex;
}

.inspector-empty-state > span {
  color: #83776f;
  background: #eee8e0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  display: flex;
}

.inspector-empty-state svg {
  height: 19px;
}

.inspector-empty-state strong {
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 500;
}

.inspector-empty-state p {
  color: #887d74;
  font-size: var(--text-caption);
  max-width: 190px;
  line-height: 1.55;
}

.inspector-empty-state button {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-caption);
  border: 0;
  border-radius: 6px;
  margin-top: 5px;
  padding: 8px 13px;
}

.reservation-receipt {
  padding: 20px 22px;
}

.reservation-receipt header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding-bottom: 14px;
  display: flex;
}

.reservation-receipt header span {
  color: #777;
  font-size: var(--text-label);
  text-transform: uppercase;
}

.reservation-receipt header strong {
  color: #2f6d51;
  font-size: var(--text-small);
  text-transform: capitalize;
}

.reservation-receipt > div {
  justify-content: space-between;
  align-items: flex-start;
  padding: 22px 0;
  display: flex;
}

.reservation-receipt > div span {
  font-size: var(--text-small);
  gap: 4px;
  display: grid;
}

.reservation-receipt > div small {
  color: #777;
  font-size: var(--text-label);
}

.reservation-receipt footer {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding-top: 15px;
  font-size: 15px;
  display: flex;
}

.reservation-receipt > p {
  color: #777;
  font-size: var(--text-label);
  margin: 20px 0 0;
  line-height: 1.55;
}

.reservation-receipt > .receipt-adjustment {
  border-top: 1px dashed var(--line);
  padding: 12px 0 0;
}

.reservation-receipt > .receipt-adjustment strong {
  color: #7d3028;
}

.reservation-receipt > .receipt-actions {
  border-bottom: 1px solid var(--line);
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding: 0 0 12px;
  display: flex;
}

.receipt-actions button {
  border: 1px solid var(--line);
  font-size: var(--text-label);
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 0 9px;
  display: flex;
}

.receipt-actions svg {
  width: 13px;
  height: 13px;
}

.reservation-receipt > .receipt-adjustment-list {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding: 14px 0 0;
  display: block;
}

.receipt-adjustment-list > strong {
  font-size: var(--text-label);
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}

.receipt-adjustment-list > div {
  font-size: var(--text-small);
  text-transform: capitalize;
  justify-content: space-between;
  align-items: flex-start;
  padding: 7px 0;
  display: flex;
}

.receipt-adjustment-list > div span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.receipt-adjustment-list > div small {
  color: #777;
  text-transform: none;
}

.receipt-adjustment-list > div > strong {
  color: #7d3028;
}

.reservation-financial-dialog, .reservation-transfer-dialog {
  max-width: 520px !important;
}

.reservation-financial-dialog > p, .reservation-current-owner {
  color: #666;
  font-size: var(--text-small);
  line-height: 1.55;
}

.reservation-financial-dialog > label, .reservation-transfer-dialog > label {
  color: #555;
  font-size: var(--text-small);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.reservation-financial-dialog textarea, .reservation-transfer-dialog textarea {
  border: 1px solid var(--line);
  resize: vertical;
  min-height: 80px;
  padding: 8px;
}

.reservation-financial-dialog > .cancel-payment-resolution {
  border: 1px solid var(--line);
  background: #faf7f2;
  border-radius: 8px;
  gap: 10px;
  margin: 0;
  padding: 14px;
  display: grid;
}

.reservation-financial-dialog > .cancel-payment-resolution legend {
  color: #3d312c;
  font-size: var(--text-small);
  padding: 0 4px;
  font-weight: 700;
}

.reservation-financial-dialog > .cancel-payment-resolution > label {
  color: #554641;
  font-size: var(--text-small);
}

.reservation-financial-dialog > .cancel-payment-resolution > p {
  color: #76635e;
  font-size: var(--text-small);
  margin: 0;
  line-height: 1.5;
}

.card-hold-amount-summary {
  border: 1px solid var(--line);
  background: #faf7f2;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  display: flex;
}

.card-hold-amount-summary span {
  color: #6c615a;
  font-size: var(--text-small);
}

.card-hold-amount-summary strong {
  color: #2f2926;
  font-size: 15px;
}

.money-input {
  border: 1px solid var(--line);
  border-radius: 6px;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.money-input > span {
  color: #766b64;
  padding-left: 10px;
}

.money-input input {
  box-shadow: none;
  border: 0;
}

.financial-dialog-warning {
  background: #fff4df;
  border-left: 3px solid #b56f21;
  padding: 10px 12px;
  color: #6d4a1d !important;
}

.reservation-receipt > .receipt-adjustment.no-show-charge strong {
  color: #295c43;
}

.reservation-receipt > .receipt-summary-row {
  border-top: 1px solid var(--line);
  padding: 10px 0;
}

.reservation-receipt > .receipt-summary-row.paid {
  color: #295c43;
  font-weight: 700;
}

.reservation-receipt-email-dialog {
  max-width: 540px !important;
}

.reservation-receipt-email-dialog > p {
  color: #666;
  font-size: var(--text-small);
  line-height: 1.55;
}

.receipt-recipient-options {
  gap: 8px;
  display: grid;
}

.receipt-recipient-options > button {
  border: 1px solid var(--line);
  text-align: left;
  border-radius: 7px;
  grid-template-columns: 22px 1fr;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  display: grid;
}

.receipt-recipient-options svg {
  color: #766b64;
  width: 17px;
  height: 17px;
}

.receipt-recipient-options span, .receipt-recipient-results button {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.receipt-recipient-options strong, .receipt-recipient-results strong {
  font-size: var(--text-small);
}

.receipt-recipient-options small, .receipt-recipient-results small, .receipt-selected-recipient small {
  color: #777;
  font-size: var(--text-label);
}

.receipt-recipient-search {
  color: #555;
  font-size: var(--text-small);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.receipt-recipient-search > span {
  border: 1px solid var(--line);
  border-radius: 6px;
  align-items: center;
  padding-left: 10px;
  display: flex;
}

.receipt-recipient-search svg {
  color: #888;
  width: 15px;
  height: 15px;
}

.receipt-recipient-search input {
  box-shadow: none;
  border: 0;
}

.receipt-recipient-results {
  border: 1px solid var(--line);
  border-radius: 6px;
  max-height: 180px;
  display: grid;
  overflow: auto;
}

.receipt-recipient-results > button {
  border-bottom: 1px solid var(--line);
  text-align: left;
  padding: 10px 12px;
}

.receipt-recipient-results > small {
  padding: 10px 12px;
}

.receipt-selected-recipient {
  border: 1px solid var(--line);
  background: #faf7f2;
  border-radius: 7px;
  gap: 3px;
  padding: 12px 14px;
  display: grid;
}

.receipt-selected-recipient > span {
  color: #777;
  font-size: var(--text-label);
  text-transform: uppercase;
}

.receipt-selected-recipient > strong {
  font-size: var(--text-small);
}

.reservation-transfer-dialog fieldset {
  border: 0;
  gap: 8px;
  margin: 0;
  padding: 0;
  display: grid;
}

.reservation-transfer-dialog legend {
  font-size: var(--text-small);
  margin-bottom: 6px;
  font-weight: 600;
}

.reservation-transfer-dialog fieldset label {
  border: 1px solid var(--line);
  align-items: flex-start;
  gap: 9px;
  padding: 12px;
  display: flex;
}

.reservation-transfer-dialog fieldset span {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.reservation-transfer-dialog fieldset small {
  color: #777;
}

.reservation-check-panel {
  padding: 20px 22px;
}

.linked-check-summary {
  border-bottom: 1px solid var(--line);
  padding-bottom: 18px;
}

.linked-check-summary > div:first-child {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.linked-check-summary > div span, .check-candidate-list h3 {
  color: #666;
  font-size: var(--text-label);
  text-transform: uppercase;
}

.linked-check-summary > div strong {
  font-size: 18px;
}

.linked-check-summary dl {
  gap: 7px;
  margin: 16px 0;
  display: grid;
}

.linked-check-summary dl div {
  font-size: var(--text-small);
  justify-content: space-between;
  display: flex;
}

.linked-check-summary dt {
  color: #777;
}

.linked-check-summary dd {
  margin: 0;
}

.check-candidate-list {
  padding-top: 18px;
}

.check-candidate-list h3 {
  margin: 0 0 10px;
}

.check-candidate-list > button {
  border-top: 1px solid var(--line);
  text-align: left;
  grid-template-columns: 1fr auto 18px;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 11px 0;
  display: grid;
}

.check-candidate-list > button span:first-child {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.check-candidate-list > button small, .check-candidate-list > p {
  color: #777;
  font-size: var(--text-label);
}

.check-candidate-list svg {
  width: 14px;
  height: 14px;
}

.history-list {
  padding: 21px 0 0 8px;
}

.history-list > div {
  border-left: 1px solid #dfd6cd;
  padding: 0 0 20px 18px;
  position: relative;
}

.history-dot {
  border: 3px solid var(--white);
  background: #b8ada4;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  top: 0;
  left: -5px;
}

.history-dot.active {
  background: var(--terracotta);
}

.history-list small {
  color: #968b83;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  margin-bottom: 4px;
  display: block;
}

.history-list strong {
  font-size: var(--text-caption);
  display: block;
}

.history-list p {
  color: #82776f;
  font-size: var(--text-caption);
  margin: 3px 0 0;
  line-height: 1.45;
}

.waitlist-avatar {
  color: var(--blue);
}

.waitlist-avatar svg {
  height: 16px;
}

.wait-quote {
  color: var(--blue);
  background: #e7edef;
  align-items: center;
  gap: 9px;
  margin: 19px 0 5px;
  padding: 13px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.wait-quote > svg {
  height: 16px;
}

.wait-quote > span {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.wait-quote small {
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.wait-quote strong {
  font-size: var(--text-caption);
  margin-top: 2px;
}

.wait-quote > i {
  background: var(--blue);
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.waitlist-actions {
  margin-top: 22px;
}

.waitlist-actions > p {
  color: #8c8178;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.waitlist-actions > button {
  color: #665c55;
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #d9d1c8;
  border-radius: 7px;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  margin-bottom: 6px;
  padding: 0 10px;
  display: flex;
}

.waitlist-actions > button svg {
  height: 13px;
}

.waitlist-actions > button.active {
  color: var(--blue);
  background: #e4ebed;
  border-color: #a8bcc6;
}

.waitlist-actions > button.seat {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.waitlist-remove {
  color: #9a5e55;
  font-size: var(--text-caption);
  text-underline-offset: 3px;
  background: none;
  border: 0;
  width: 100%;
  margin-top: 10px;
  text-decoration: underline;
}

.floor-view {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  min-height: 620px;
  padding: 18px;
}

.floor-toolbar {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.floor-toolbar > span {
  flex-direction: column;
  display: flex;
}

.floor-toolbar small {
  color: #8d8178;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.floor-toolbar > div {
  background: #eeebe6;
  border-radius: 7px;
  padding: 3px;
}

.floor-toolbar button {
  color: #766b63;
  font-size: var(--text-caption);
  background: none;
  border: 0;
  border-radius: 5px;
  padding: 6px 9px;
}

.floor-toolbar button:first-child {
  color: var(--ink);
  background: #fff;
  box-shadow: 0 1px 3px #00000014;
}

.floor-canvas {
  background: #eee9e3;
  border: 1px solid #ded7cf;
  height: 490px;
  margin-top: 15px;
  position: relative;
  overflow: hidden;
}

.floor-label {
  color: #968b82;
  font-size: var(--text-caption);
  letter-spacing: .25em;
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
}

.service-bar {
  color: #766b63;
  font-size: var(--text-caption);
  letter-spacing: .1em;
  background: #d8d0c7;
  padding: 10px 32px;
  position: absolute;
  bottom: 10%;
  left: 9%;
}

.floor-table {
  background: #fffdf9;
  border: 1px solid #ccc2b8;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 66px;
  height: 66px;
  display: flex;
  position: absolute;
  transform: translate(-50%, -50%);
  box-shadow: 0 3px 9px #4938300f;
}

.floor-table.small {
  border-radius: 8px;
  width: 57px;
  height: 57px;
}

.floor-table.wide {
  border-radius: 8px;
  width: 94px;
}

.floor-table strong {
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
}

.floor-table small {
  color: #81756d;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.floor-table.occupied {
  border-color: var(--blue);
  background: #dce6eb;
}

.floor-table.selected {
  box-shadow: 0 0 0 3px #28587b38;
}

.floor-plant {
  color: #7b8c78;
  font-size: 29px;
  position: absolute;
}

.plant-one {
  top: 7%;
  right: 7%;
}

.plant-two {
  bottom: 8%;
  right: 10%;
}

.floor-legend {
  justify-content: center;
  gap: 17px;
  padding-top: 13px;
  display: flex;
}

.floor-legend span {
  color: #847970;
  font-size: var(--text-caption);
  align-items: center;
  gap: 5px;
  display: flex;
}

.floor-legend i {
  background: #fff;
  border: 1px solid #ccc2b8;
  border-radius: 2px;
  width: 8px;
  height: 8px;
}

.floor-legend i.occupied {
  border-color: var(--blue);
  background: #dce6eb;
}

.floor-legend i.arrived {
  border-color: var(--terracotta);
  background: #f1d8d1;
}

.snapshot-view {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  grid-template-columns: 1.6fr .8fr;
  gap: 18px;
  min-height: 620px;
  padding: 22px;
  display: grid;
}

.snapshot-primary, .snapshot-list, .service-note {
  border: 1px solid #e1dad3;
  padding: 20px;
}

.snapshot-heading {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.snapshot-heading > div {
  flex-direction: column;
  display: flex;
}

.snapshot-heading small, .snapshot-list small, .service-note small {
  color: #8b8077;
  font-size: var(--text-caption);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.snapshot-heading strong {
  font-family: var(--serif);
  margin-top: 5px;
  font-size: 24px;
  font-weight: 400;
}

.snapshot-heading > span {
  color: #8b8077;
  font-size: var(--text-caption);
  align-items: center;
  gap: 5px;
  display: flex;
}

.snapshot-heading > span i {
  background: var(--burgundy);
  width: 6px;
  height: 6px;
}

.cover-chart {
  border-bottom: 1px solid #ded7cf;
  grid-template-columns: repeat(11, 1fr);
  align-items: end;
  gap: 9px;
  height: 340px;
  padding-top: 45px;
  display: grid;
}

.cover-chart > div {
  flex-direction: column;
  justify-content: end;
  align-items: center;
  height: 100%;
  display: flex;
}

.cover-chart i {
  background: var(--burgundy);
  opacity: .88;
  border-radius: 2px 2px 0 0;
  width: 55%;
}

.cover-chart small {
  color: #948981;
  font-size: var(--text-caption);
  height: 20px;
  padding-top: 6px;
}

.snapshot-column {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.snapshot-list > div {
  justify-content: space-between;
  margin-bottom: 15px;
  display: flex;
}

.snapshot-list > div strong {
  font-size: var(--text-caption);
}

.snapshot-list p {
  font-size: var(--text-caption);
  border-top: 1px solid #eee9e3;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  padding: 12px 0;
  display: flex;
}

.snapshot-list p span {
  align-items: center;
  gap: 7px;
  display: flex;
}

.snapshot-list p i {
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.snapshot-list .burgundy {
  background: var(--burgundy);
}

.snapshot-list .blue {
  background: var(--blue);
}

.snapshot-list .terracotta {
  background: var(--terracotta);
}

.service-note {
  background: #eee0cb;
}

.service-note p {
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.5;
}

.service-note button {
  color: var(--burgundy);
  font-size: var(--text-caption);
  background: none;
  border: 0;
  border-bottom: 1px solid;
  padding: 0 0 3px;
}

.dashboard-content {
  padding: 0;
}

.service-overview {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  grid-template-columns: minmax(180px, 1.2fr) minmax(160px, .8fr) minmax(145px, .7fr) minmax(210px, 1fr);
  align-items: stretch;
  min-height: 68px;
  margin-bottom: 12px;
  display: grid;
}

.service-overview > * {
  border-right: 1px solid #e5dfd8;
}

.service-overview > :last-child {
  border-right: 0;
}

.service-identity, .service-stat {
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  display: flex;
}

.service-identity > div, .service-stat > span:last-child, .availability-control > span {
  flex-direction: column;
  display: flex;
}

.service-identity strong, .service-stat strong, .availability-control strong {
  font-size: var(--text-small);
}

.service-identity small, .service-stat small, .availability-control small {
  color: #8b7f76;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.service-stat > svg {
  color: var(--blue);
  height: 17px;
}

.stat-number {
  color: var(--blue);
  font: 600 12px var(--font-geist-mono);
  background: #e9eef1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 31px;
  height: 31px;
  display: flex;
}

.availability-control {
  color: #766a62;
  text-align: left;
  background: #f5f1eb;
  border: 0;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  display: flex;
}

.availability-control svg {
  height: 17px;
}

.availability-control.open svg {
  color: #3f7654;
}

.availability-control:disabled {
  cursor: wait;
  opacity: .7;
}

.view-toolbar {
  border-bottom: 1px solid #ded7cf;
  height: 52px;
}

.service-window-label {
  flex-direction: column;
  align-items: flex-end;
  padding-right: 3px;
  display: flex;
}

.service-window-label span {
  color: #8a7f76;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.service-window-label strong {
  font-size: var(--text-caption);
  margin-top: 3px;
}

.service-grid {
  background: #fffdf9;
  border: 0;
  grid-template-columns: 310px minmax(620px, 1fr);
  min-height: calc(100vh - 108px);
  display: grid;
  overflow: auto;
}

.guest-rail {
  background: #fffdf9;
  flex-direction: column;
  min-width: 310px;
  max-height: calc(100vh - 108px);
  display: flex;
  overflow-y: auto;
}

.guest-rail-heading {
  height: 52px;
  padding: 0 15px;
}

.rail-switch button {
  font-size: var(--text-label);
}

.rail-switch button span {
  font-size: var(--text-caption);
  min-width: 18px;
  height: 18px;
}

.rail-search {
  border-bottom: 1px solid #e7e0d8;
  align-items: center;
  margin: 0 12px 10px;
  display: flex;
  position: relative;
}

.rail-search svg {
  color: #958980;
  height: 14px;
  position: absolute;
  left: 8px;
}

.rail-search input {
  font-size: var(--text-label);
  background: #f4f0eb;
  border: 0;
  border-radius: 6px;
  outline: none;
  width: 100%;
  height: 34px;
  padding: 0 9px 0 29px;
}

.guest-buckets {
  border-bottom: 1px solid #e7e0d8;
  grid-template-columns: repeat(5, 1fr);
  padding: 0 9px 9px;
  display: grid;
}

.guest-buckets button {
  color: #82776f;
  background: none;
  border: 0;
  border-radius: 5px;
  flex-direction: column;
  gap: 3px;
  padding: 7px 2px;
  display: flex;
}

.guest-buckets button span {
  font-size: var(--text-caption);
}

.guest-buckets button strong {
  font: 600 11px var(--font-geist-mono);
}

.guest-buckets button.active {
  color: var(--burgundy);
  background: #eee5da;
}

.reservation-item {
  grid-template-columns: 7px 38px minmax(0, 1fr) auto;
  gap: 8px;
  min-height: 62px;
  padding: 9px 12px;
}

.reservation-time {
  font-size: var(--text-caption);
}

.reservation-name strong {
  font-size: var(--text-label);
}

.reservation-name small {
  font-size: var(--text-caption);
  margin-top: 4px;
}

.reservation-name .reservation-note {
  color: #7a6f67;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
}

.reservation-name .seated-timer {
  color: var(--blue);
  font-variant-numeric: tabular-nums;
}

.reservation-service-tags {
  flex-wrap: wrap;
  gap: 3px;
  margin-top: 5px;
  display: flex;
}

.reservation-service-tags .venue-tag {
  color: #5d534c;
  font-size: var(--text-caption);
  background: #eee8e1;
  border: 0;
  border-radius: 999px;
  padding: 3px 5px;
  line-height: 1;
}

.guest-rail.compact .reservation-item {
  min-height: 43px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.guest-rail.compact .reservation-note, .guest-rail.compact .reservation-service-tags {
  display: none;
}

.guest-rail.compact .guest-group-heading {
  min-height: 36px;
}

.reservation-item > i {
  font-size: var(--text-caption);
  max-width: 50px;
}

.rail-empty-state {
  color: #948980;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 55px 20px;
  display: flex;
}

.rail-empty-state svg {
  height: 19px;
}

.rail-empty-state strong {
  color: #514741;
  font-size: var(--text-label);
}

.rail-empty-state span {
  font-size: var(--text-caption);
}

.rail-record-detail {
  background: #f3efe9;
  border-bottom: 1px solid #ddd5cd;
  flex-direction: column;
  padding: 16px;
  display: flex;
  position: relative;
}

.rail-record-detail > button {
  color: #786d65;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  display: flex;
  position: absolute;
  top: 8px;
  right: 8px;
}

.rail-record-detail > button svg {
  height: 14px;
}

.rail-record-detail > span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.rail-record-detail > strong {
  font-size: var(--text-small);
  margin-top: 4px;
}

.rail-record-detail dl {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 14px 0 0;
  display: grid;
}

.rail-record-detail dl div {
  flex-direction: column;
  display: flex;
}

.rail-record-detail dt {
  color: #8a7f77;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.rail-record-detail dd {
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 3px 0 0;
  overflow: hidden;
}

.reservation-name small svg {
  width: 11px;
  height: 11px;
}

.guest-groups > section {
  border-bottom: 1px solid #e5dfd8;
}

.guest-group-heading {
  justify-content: space-between;
  align-items: center;
  min-height: 45px;
  padding: 0 13px;
  display: flex;
}

.guest-group-heading > span {
  font-size: var(--text-caption);
  align-items: center;
  gap: 7px;
  display: flex;
}

.guest-group-heading svg {
  color: #77706a;
  width: 15px;
  height: 15px;
}

.guest-group-heading > span:last-child {
  font: 600 9px var(--font-geist-mono);
}

.guest-group-empty {
  color: #282421;
  font-size: var(--text-caption);
  border: 1px solid #8a817a;
  margin: 0 11px 11px;
  padding: 9px 10px;
}

.guest-status-dock {
  z-index: 3;
  background: #fff;
  border-top: 1px solid #ddd7d1;
  grid-template-columns: repeat(5, 1fr);
  min-height: 50px;
  margin-top: auto;
  display: grid;
  position: sticky;
  bottom: 0;
}

.guest-status-dock button {
  color: #817970;
  font-size: var(--text-caption);
  background: none;
  border: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  display: flex;
}

.guest-status-dock button.active {
  color: var(--burgundy);
}

.guest-status-dock svg {
  width: 14px;
  height: 14px;
}

.timeline-board {
  min-width: 760px;
  padding: 0 0 22px;
}

.assignment-toolbar {
  border-bottom: 1px solid #e7e0d8;
  align-items: center;
  gap: 5px;
  min-height: 45px;
  padding: 6px 10px;
  display: flex;
}

.assignment-toolbar > button, .manual-assignment button {
  color: #6c615a;
  font-size: var(--text-caption);
  background: #fffdf9;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 8px;
  display: flex;
}

.assignment-toolbar button svg {
  height: 12px;
}

.assignment-toolbar > button.active {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.assignment-toolbar button:disabled {
  opacity: .42;
}

.observation-label {
  color: #675c55;
  font-size: var(--text-caption);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #eee7de;
  border: 1px solid #d7ccc1;
  border-radius: 999px;
  align-items: center;
  height: 24px;
  padding: 0 8px;
  font-weight: 700;
  display: inline-flex;
}

.assignment-toolbar.observation > button {
  display: none;
}

.observation-banner {
  border-left: 2px solid var(--khaki);
  color: #625850;
  font-size: var(--text-caption);
  background: #f0ebe4;
  margin: 12px 0 0;
  padding: 8px 10px;
  line-height: 1.45;
}

.reservation-inspector button:disabled, .waitlist-inspector button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.manual-assignment {
  align-items: center;
  gap: 5px;
  margin-left: auto;
  display: flex;
}

.manual-assignment > span {
  color: #6c615a;
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 110px;
  overflow: hidden;
}

.manual-assignment select {
  color: #5f554f;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  max-width: 145px;
  height: 30px;
  padding: 0 6px;
}

.manual-assignment .confirm {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.timeline-block.assigning {
  box-shadow: 0 0 0 2px var(--burgundy);
  z-index: 3;
}

.timeline-times {
  grid-template-columns: repeat(var(--timeline-columns), 1fr);
  border-bottom: 1px solid #e7e0d8;
  align-items: end;
  height: 52px;
  margin-left: 116px;
  padding-bottom: 9px;
  display: grid;
}

.timeline-times span {
  font-size: var(--text-caption);
}

.section-label {
  height: 35px;
  padding: 0 14px;
}

button.section-label {
  color: inherit;
  cursor: pointer;
  border-left: 0;
  border-right: 0;
  width: 100%;
  font-family: inherit;
}

.section-label span, .section-label small {
  font-size: var(--text-caption);
}

.unassigned-group .section-label {
  color: #873428;
  background: #f2e9e5;
}

.unassigned-group.warnings-muted .section-label {
  color: #202020;
  background: #fff;
}

.section-label > span {
  align-items: center;
  gap: 6px;
  display: flex;
}

.unassigned-group .section-label svg {
  width: 14px;
  height: 14px;
}

.section-label .section-label-chevron {
  width: 13px;
  height: 13px;
}

.timeline-row {
  grid-template-columns: 116px 1fr;
  height: 55px;
}

.timeline-row > span {
  font-size: var(--text-caption);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding-left: 0;
}

.timeline-row > span > span {
  align-items: center;
  gap: 5px;
  display: flex;
}

.timeline-row > span > small {
  color: #6f6f6f;
  font-size: 11px;
  line-height: 1;
}

.table-priority {
  color: #6f6f6f;
  flex: none;
  align-items: center;
  font-style: normal;
  display: inline-flex;
}

.table-priority svg {
  width: 13px;
  height: 13px;
}

.table-priority-0, .table-priority-1 {
  color: var(--blue);
}

.timeline-track {
  background-size: 11.111% 100%;
}

.timeline-available-slot {
  background: var(--blue);
  align-items: center;
}

@supports (color: color-mix(in lab, red, red)) {
  .timeline-available-slot {
    background: color-mix(in srgb, var(--blue) 13%, white);
  }
}

.timeline-available-slot {
  border: 0;
  border-left: 1px solid var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .timeline-available-slot {
    border-left: 1px solid color-mix(in srgb, var(--blue) 28%, transparent);
  }
}

.timeline-available-slot {
  border-right: 1px solid var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .timeline-available-slot {
    border-right: 1px solid color-mix(in srgb, var(--blue) 12%, transparent);
  }
}

.timeline-available-slot {
  color: var(--blue);
  cursor: pointer;
  justify-content: center;
  min-width: 14px;
  transition: background .12s, box-shadow .12s;
  display: flex;
  position: absolute;
  top: 5px;
  bottom: 5px;
}

.timeline-available-slot:hover {
  background: var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .timeline-available-slot:hover {
    background: color-mix(in srgb, var(--blue) 22%, white);
  }
}

.timeline-available-slot:hover {
  box-shadow: inset 0 0 0 1px var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .timeline-available-slot:hover {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--blue) 42%, transparent);
  }
}

.timeline-available-slot:hover {
  z-index: 2;
}

.timeline-available-slot.selected {
  background: var(--blue);
  box-shadow: inset 0 0 0 2px white, 0 0 0 1px var(--blue);
  color: #fff;
  z-index: 2;
}

.timeline-available-slot:disabled {
  cursor: default;
  opacity: .35;
}

.timeline-available-slot span {
  font-size: var(--text-caption);
  font-weight: 700;
}

.timeline-availability-state {
  color: #786e67;
  font-size: var(--text-caption);
  margin-left: auto;
}

.timeline-availability-state.error {
  color: var(--terracotta);
}

.timeline-booking-actions {
  background: #fffdf9;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  padding: 3px;
  display: flex;
}

.timeline-booking-actions > span {
  color: #675d56;
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 130px;
  padding: 0 6px;
  font-weight: 650;
  overflow: hidden;
}

.timeline-booking-actions button {
  color: #5f554f;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 4px;
  height: 25px;
  padding: 0 7px;
}

.timeline-booking-actions button:first-of-type, .timeline-booking-actions button.primary {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.timeline-booking-actions button.close {
  border: 0;
  justify-content: center;
  align-items: center;
  padding: 0 4px;
  display: flex;
}

.timeline-booking-actions button.close svg {
  height: 11px;
}

.timeline-booking-actions button:disabled {
  cursor: not-allowed;
  opacity: .4;
}

.timeline-block-actions button:first-of-type, .timeline-block-actions button.danger {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.timeline-service-block {
  color: #5f554f;
  cursor: pointer;
  z-index: 2;
  background: repeating-linear-gradient(-45deg, #eee8e1, #eee8e1 5px, #e1d8ce 5px 10px);
  border: 1px solid #b9aea4;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-width: 22px;
  padding: 0 5px;
  display: flex;
  position: absolute;
  top: 6px;
  bottom: 6px;
  overflow: hidden;
}

.timeline-service-block:hover, .timeline-service-block.selected {
  border-color: var(--burgundy);
  box-shadow: 0 0 0 2px var(--burgundy);
}

@supports (color: color-mix(in lab, red, red)) {
  .timeline-service-block:hover, .timeline-service-block.selected {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--burgundy) 18%, transparent);
  }
}

.timeline-service-block svg {
  width: 10px;
  min-width: 10px;
  height: 10px;
}

.timeline-service-block span {
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  overflow: hidden;
}

.timeline-payment-invite {
  color: #fff;
  z-index: 3;
  background: #d7792c;
  border: 0;
  border-left: 3px solid #a65317;
  flex-direction: column;
  justify-content: center;
  min-width: 28px;
  padding: 0 9px;
  display: flex;
  position: absolute;
  top: 6px;
  bottom: 6px;
  overflow: hidden;
}

.timeline-payment-invite:hover, .timeline-payment-invite.selected {
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #a65317;
}

.timeline-payment-invite strong, .timeline-payment-invite small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.timeline-invite-actions button.danger {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.timeline-invite-actions select {
  color: #5f554f;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 4px;
  min-height: 32px;
  padding: 4px 6px;
}

.timeline-payment-invite strong {
  font-size: var(--text-caption);
}

.timeline-payment-invite small {
  font-size: var(--text-caption);
  opacity: .9;
}

.timeline-block {
  z-index: 1;
  border-left-width: 3px;
  padding: 0 9px;
  top: 6px;
  bottom: 6px;
}

.timeline-block strong {
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.timeline-block small {
  font-size: var(--text-caption);
}

.timeline-block.selected {
  box-shadow: 0 0 0 2px #28587b40;
}

.block-arrived {
  border-left-color: var(--terracotta);
  background: #f3ded8;
}

.block-seated, .block-partially-seated {
  border-left-color: var(--blue);
  background: #dce8ed;
}

.block-finished {
  background: #e2ebe4;
  border-left-color: #4c7a60;
}

.block-no-show {
  opacity: .52;
}

.pacing-row {
  grid-template-columns: 116px 1fr;
}

.pacing-row > span {
  font-size: var(--text-caption);
  padding-left: 14px;
}

.pacing-row > div {
  grid-template-columns: repeat(auto-fit, minmax(20px, 1fr));
  align-items: end;
  padding: 0 12px;
  display: grid;
}

.pacing-row i {
  background: var(--burgundy);
  justify-self: center;
  width: 42%;
  max-width: 18px;
  min-height: 2px;
}

.board-empty {
  color: #8a7f76;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 260px;
  display: flex;
}

.board-empty strong {
  color: #4f4540;
  font-size: var(--text-small);
}

.board-empty span {
  font-size: var(--text-caption);
}

.floor-view {
  border: 0;
  min-height: 0;
  padding: 16px;
}

.floor-toolbar {
  min-height: 44px;
}

.floor-toolbar strong {
  font-family: inherit;
  font-size: var(--text-small);
  font-weight: 650;
}

.floor-toolbar small {
  font-size: var(--text-caption);
}

.floor-controls {
  align-items: center;
  gap: 8px;
  display: flex;
  background: none !important;
  padding: 0 !important;
}

.room-tabs, .layout-toggle {
  background: #eeebe6;
  border-radius: 7px;
  padding: 3px;
  display: flex;
}

.floor-controls button:first-child {
  box-shadow: none;
}

.floor-controls button.active {
  color: var(--ink);
  background: #fff;
  box-shadow: 0 1px 3px #00000014;
}

.layout-toggle svg {
  height: 13px;
}

.operational-floor {
  background-color: #eeeae5;
  background-image: linear-gradient(#7d6f6514 1px, #0000 1px), linear-gradient(90deg, #7d6f6514 1px, #0000 1px);
  background-size: 24px 24px;
  height: calc(100vh - 315px);
  min-height: 440px;
}

.floor-room-label {
  color: #9a8f87;
  font-size: var(--text-caption);
  letter-spacing: .12em;
  text-transform: uppercase;
  position: absolute;
  top: 11px;
  left: 13px;
}

.floor-table {
  border-radius: 8px;
  transform: translate(-50%, -50%);
}

.floor-table:disabled {
  color: inherit;
  opacity: 1;
}

.floor-table small {
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  max-width: 90%;
  line-height: 1.3;
  overflow: hidden;
}

.floor-table.arrived {
  border-color: var(--terracotta);
  background: #f1d8d1;
}

.floor-table.seated, .floor-table.partially-seated {
  border-color: var(--blue);
  background: #dce6eb;
}

.floor-table.expected {
  border-color: var(--khaki);
  background: #efe4d8;
}

.floor-table[draggable="true"] {
  cursor: grab;
}

.floor-table[draggable="true"]:active {
  cursor: grabbing;
}

.floor-table.drop-target {
  transform: translate(-50%, -50%)scale(1.04);
  box-shadow: 0 0 0 4px #28587b59;
}

.table-drag-handle {
  color: #8f837b;
  width: 11px;
  height: 11px;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}

.activity-button, .servers-button {
  align-items: center;
  gap: 5px;
  display: flex;
  background: #fff !important;
  border: 1px solid #d8d0c8 !important;
}

.servers-button > svg {
  height: 12px;
}

.server-avatar-stack {
  margin-left: 2px;
  display: flex;
}

.server-avatar-stack i {
  color: #fff;
  font-size: var(--text-caption);
  border: 1px solid #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 17px;
  height: 17px;
  margin-left: -4px;
  font-style: normal;
  display: flex;
}

.floor-table-server {
  color: #fff;
  font-size: var(--text-caption);
  border: 1px solid #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 17px;
  height: 17px;
  display: flex;
  position: absolute;
  bottom: -6px;
  right: -6px;
}

.activity-button svg {
  height: 12px;
}

.activity-sheet {
  background: #fffdf9 !important;
  max-width: 390px !important;
  padding: 25px !important;
}

.activity-sheet [data-slot="sheet-title"] {
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 400;
}

.activity-sheet [data-slot="sheet-description"] {
  font-size: var(--text-caption);
}

.activity-feed {
  border-top: 1px solid var(--line);
  margin-top: 12px;
}

.activity-feed > div {
  border-bottom: 1px solid #ece6df;
  grid-template-columns: 7px 1fr auto;
  align-items: center;
  gap: 8px;
  min-height: 55px;
  display: grid;
}

.activity-feed > div > span:nth-child(2) {
  flex-direction: column;
  display: flex;
}

.activity-feed strong {
  font-size: var(--text-caption);
}

.activity-feed small {
  color: #8d8178;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.activity-feed i {
  color: #756a62;
  font-size: var(--text-caption);
  font-style: normal;
}

.activity-status {
  background: #baa898;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.activity-status.status-arrived {
  background: var(--terracotta);
}

.activity-status.status-seated {
  background: var(--blue);
}

.activity-status.status-finished {
  background: #4c7a60;
}

.floor-list-view {
  gap: 1px;
  margin-top: 15px;
  display: grid;
}

.floor-list-view > button {
  text-align: left;
  background: #fffdf9;
  border: 0;
  border-bottom: 1px solid #e8e1da;
  grid-template-columns: 48px minmax(0, 1fr) auto auto;
  align-items: center;
  padding: 11px;
  display: grid;
}

.floor-list-server {
  font-size: var(--text-caption);
  padding-left: 10px;
  font-weight: 700;
}

.server-panel-sheet {
  overflow-y: auto;
  background: #fffdf9 !important;
  gap: 0 !important;
  max-width: 410px !important;
  padding: 24px !important;
}

.server-panel-sheet [data-slot="sheet-title"] {
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 400;
}

.server-panel-sheet [data-slot="sheet-description"] {
  color: #887c74;
  font-size: var(--text-caption);
  margin-top: 4px;
}

.server-panel-error {
  border-left: 2px solid var(--terracotta);
  color: #7e3328;
  font-size: var(--text-caption);
  background: #f7e5e0;
  margin: 14px 0 0;
  padding: 9px 10px;
}

.server-panel-heading {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
  padding: 13px 0;
  display: flex;
}

.server-panel-heading > span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.server-panel-heading strong {
  font-size: var(--text-caption);
}

.server-panel-heading small {
  color: #8b8078;
  font-size: var(--text-caption);
  text-transform: capitalize;
}

.server-add-row {
  background: #f3eee8;
  grid-template-columns: 1fr 92px auto;
  align-items: center;
  gap: 6px;
  padding: 10px;
  display: grid;
}

.server-add-row input, .server-add-row select, .server-editor input, .server-settings select {
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 5px;
  height: 34px;
  padding: 0 8px;
}

.server-roster > button {
  text-align: left;
  background: none;
  border: 0;
  border-bottom: 1px solid #ebe4dd;
  grid-template-columns: 34px minmax(0, 1fr) auto 14px;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 66px;
  padding: 8px 1px;
  display: grid;
}

.server-roster > button:hover {
  background: #f7f3ee;
}

.server-avatar {
  color: #fff;
  font-size: var(--text-caption);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 31px;
  height: 31px;
  font-weight: 700;
  display: flex;
}

.server-roster > button > span:nth-child(2) {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.server-roster strong {
  font-size: var(--text-caption);
}

.server-roster small {
  color: #8d8178;
  font-size: var(--text-caption);
}

.server-roster svg {
  color: #9a8e86;
  height: 12px;
}

.server-cover-counts {
  gap: 7px;
  display: flex;
}

.server-cover-counts i {
  color: #71665f;
  font-size: var(--text-caption);
  white-space: nowrap;
  font-style: normal;
}

.server-panel-empty {
  color: #8b8078;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  padding: 34px 20px;
  display: flex;
}

.server-panel-empty svg {
  height: 24px;
}

.server-panel-empty p, .server-panel-loading {
  color: #8b8078;
  font-size: var(--text-caption);
  margin: 0;
}

.server-settings {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 17px;
}

.server-settings h3 {
  font-size: var(--text-caption);
  margin: 0 0 12px;
}

.server-toggle-row {
  font-size: var(--text-caption);
  align-items: center;
  gap: 8px;
  min-height: 34px;
  flex-direction: row !important;
  display: flex !important;
}

.server-settings > label:last-child, .server-editor > label:first-of-type {
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
  display: flex;
}

.server-settings select {
  width: 100%;
}

.server-editor-back {
  color: var(--blue);
  font-size: var(--text-caption);
  background: none;
  border: 0;
  margin: 18px 0 14px;
  padding: 0;
}

.server-editor fieldset {
  border: 0;
  margin: 15px 0;
  padding: 0;
}

.server-editor legend {
  font-size: var(--text-caption);
  margin-bottom: 8px;
}

.server-color-options {
  gap: 8px;
  display: flex;
}

.server-color-options button {
  color: #fff;
  border: 2px solid #0000;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
}

.server-color-options button.active {
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #776b64;
}

.server-color-options svg {
  height: 12px;
}

.server-table-assignment header {
  justify-content: space-between;
  display: flex;
}

.server-table-assignment header strong, .server-table-assignment header small {
  font-size: var(--text-caption);
}

.server-table-assignment button {
  color: #71665f;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 5px;
  height: 31px;
}

.server-editor-actions {
  justify-content: space-between;
  margin-top: 22px;
  display: flex;
}

.floor-list-view .table-state {
  font: 600 10px var(--font-geist-mono);
  background: #f0ece7;
  border: 1px solid #d5ccc3;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 37px;
  height: 37px;
  display: flex;
}

.floor-list-view > button > span:nth-child(2) {
  flex-direction: column;
  display: flex;
}

.floor-list-view strong {
  font-size: var(--text-label);
}

.floor-list-view small, .floor-list-view i {
  color: #8d8178;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.floor-statusbar {
  color: #83786f;
  font-size: var(--text-caption);
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding-top: 12px;
  display: flex;
}

.floor-statusbar span {
  align-items: center;
  gap: 5px;
  display: flex;
}

.floor-statusbar svg {
  color: #4c8b67;
  height: 12px;
}

.floor-statusbar i {
  border: 1px solid #cfc5bc;
  border-radius: 2px;
  width: 8px;
  height: 8px;
}

.floor-statusbar i.arrived {
  border-color: var(--terracotta);
  background: #f1d8d1;
}

.floor-statusbar i.seated {
  border-color: var(--blue);
  background: #dce6eb;
}

.snapshot-view {
  background: none;
  border: 0;
  min-height: 0;
  padding: 0;
  display: block;
}

.snapshot-titlebar {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  border-top: 0;
  justify-content: space-between;
  align-items: center;
  padding: 21px 22px;
  display: flex;
}

.snapshot-titlebar > div {
  flex-direction: column;
  display: flex;
}

.snapshot-titlebar span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
}

.snapshot-titlebar h2 {
  font-family: var(--serif);
  margin: 3px 0;
  font-size: 26px;
  font-weight: 400;
}

.snapshot-titlebar p {
  color: #8c8178;
  font-size: var(--text-caption);
  margin: 0;
}

.snapshot-titlebar button {
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d9d1c8;
  border-radius: 7px;
  align-items: center;
  gap: 7px;
  height: 32px;
  padding: 0 10px;
  display: flex;
}

.snapshot-titlebar button svg {
  height: 14px;
}

.snapshot-kpis {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  border-top: 0;
  grid-template-columns: repeat(5, 1fr);
  display: grid;
}

.snapshot-kpis > div {
  border-right: 1px solid #e5dfd8;
  flex-wrap: wrap;
  gap: 5px;
  padding: 14px 17px;
  display: flex;
}

.snapshot-kpis > div:last-child {
  border: 0;
}

.snapshot-kpis small {
  color: #81766e;
  font-size: var(--text-caption);
  text-transform: uppercase;
  flex-basis: 100%;
}

.snapshot-kpis strong {
  font: 500 21px var(--font-geist-mono);
}

.snapshot-kpis span {
  color: #93887f;
  font-size: var(--text-caption);
  align-self: end;
}

.snapshot-body {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  border-top: 0;
  grid-template-columns: minmax(0, 1.6fr) minmax(250px, .7fr);
  gap: 16px;
  padding: 18px;
  display: grid;
}

.snapshot-primary, .snapshot-list, .service-note, .capacity-card {
  padding: 17px;
}

.cover-chart {
  gap: 2px;
  height: 300px;
  overflow: hidden;
}

.cover-chart > div {
  position: relative;
}

.cover-chart b {
  font: 600 7px var(--font-geist-mono);
  position: absolute;
  top: 5px;
}

.cover-chart i {
  width: 68%;
  min-height: 1px;
  display: block;
}

.cover-chart small {
  font-size: var(--text-caption);
  white-space: nowrap;
}

.empty-note {
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.empty-note > svg {
  color: var(--burgundy);
  flex: none;
  height: 16px;
}

.empty-note p {
  color: #6f6259;
  font-family: inherit;
  font-size: var(--text-caption);
  margin: 6px 0 0;
  line-height: 1.5;
}

.capacity-card {
  border: 1px solid #e1dad3;
  align-items: center;
  gap: 10px;
  display: flex;
}

.capacity-card svg {
  color: var(--blue);
  height: 18px;
}

.capacity-card span {
  flex-direction: column;
  display: flex;
}

.capacity-card small {
  color: #8b8077;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.capacity-card strong {
  font-size: var(--text-caption);
  margin-top: 3px;
}

.date-control label {
  cursor: pointer;
  border: 1px solid #d9d1c8;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.date-control label svg {
  pointer-events: none;
  height: 14px;
}

.date-control label input {
  cursor: pointer;
  opacity: 0;
  width: 100%;
  position: absolute;
  inset: 0;
}

@media (max-width: 1100px) {
  .service-overview {
    grid-template-columns: 1fr 1fr;
  }

  .service-overview > :nth-child(2) {
    border-right: 0;
  }

  .service-overview > :nth-child(3), .service-overview > :nth-child(4) {
    border-top: 1px solid #e5dfd8;
  }
}

@media (max-width: 720px) {
  .dashboard-content {
    padding: 10px;
  }

  .service-overview {
    grid-template-columns: 1fr 1fr;
  }

  .service-grid {
    grid-template-columns: 230px minmax(620px, 1fr);
    min-height: calc(100vh - 250px);
  }

  .guest-rail {
    min-width: 230px;
  }

  .guest-buckets, .snapshot-kpis {
    grid-template-columns: repeat(2, 1fr);
  }

  .snapshot-kpis > div {
    border-bottom: 1px solid #e5dfd8;
  }

  .snapshot-body {
    grid-template-columns: minmax(620px, 1fr) 260px;
    overflow: auto;
  }

  .service-window-label {
    display: none;
  }
}

[data-slot="dialog-overlay"] {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: #1e110f6b !important;
}

.new-reservation-modal {
  background: var(--white) !important;
  border: 0 !important;
  border-radius: 14px !important;
  width: calc(100% - 30px) !important;
  max-width: 520px !important;
  padding: 28px !important;
  display: block !important;
  box-shadow: 0 28px 80px #200f0d47 !important;
}

.modal-head {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.modal-head h2 {
  font-family: var(--serif);
  letter-spacing: -.04em;
  margin: 0;
  font-size: 33px;
  font-weight: 400;
}

.modal-head > button {
  background: none;
  border: 0;
}

.booking-search-fields {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  grid-template-columns: 1fr 1fr;
  margin: 22px 0;
  display: grid;
}

.booking-search-fields > button, .booking-search-fields > label, .booking-search-fields > div {
  background: none;
  border: 0;
  align-items: center;
  gap: 9px;
  min-height: 68px;
  padding: 0 12px;
  display: flex;
}

.booking-search-fields > button, .booking-search-fields > label {
  border-right: 1px solid var(--line);
  padding-left: 0;
}

.booking-search-fields input {
  color: var(--ink);
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
}

.booking-search-fields svg {
  color: var(--terracotta);
  height: 16px;
}

.booking-search-fields span {
  font-size: var(--text-caption);
  flex-direction: column;
  flex: 1;
  display: flex;
}

.booking-search-fields small {
  color: #8c8178;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-bottom: 2px;
}

.booking-search-fields > div button {
  background: #eee8e1;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  padding: 0;
  display: flex;
}

.booking-search-fields > div button svg {
  color: var(--ink);
  height: 11px;
}

.staff-times > small, .staff-guest-search {
  color: #847970;
  font-size: var(--text-caption);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.staff-times > div {
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  margin: 8px 0 20px;
  display: grid;
}

.staff-times button {
  color: var(--burgundy);
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  padding: 9px 2px;
}

.staff-times button.active {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.staff-guest-search {
  flex-direction: column;
  gap: 7px;
  display: flex;
  position: relative;
}

.staff-guest-search > svg {
  color: #91867d;
  height: 15px;
  position: absolute;
  top: 29px;
  left: 9px;
}

.staff-guest-search input {
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #d8d0c8;
  border-radius: 7px;
  height: 38px;
  padding: 0 39px 0 31px;
}

.staff-guest-search span {
  background: var(--cream);
  color: var(--burgundy);
  font-size: var(--text-caption);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  display: flex;
  position: absolute;
  bottom: 6px;
  right: 7px;
}

.staff-summary {
  background: #f0e9df;
  gap: 22px;
  margin: 18px 0;
  padding: 12px;
  display: flex;
}

.staff-summary span {
  color: #675d56;
  font-size: var(--text-caption);
  align-items: center;
  gap: 5px;
  display: flex;
}

.staff-summary svg {
  height: 13px;
}

.staff-booking-fields {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  display: grid;
}

.staff-booking-fields label {
  color: #71665e;
  font-size: var(--text-caption);
  grid-template-columns: 14px 1fr;
  gap: 6px;
  display: grid;
}

.staff-booking-fields label.full {
  grid-column: 1 / -1;
}

.staff-booking-fields label > svg {
  color: var(--terracotta);
  height: 13px;
  margin-top: 27px;
}

.staff-booking-fields label > input {
  grid-column: 1 / -1;
}

.staff-booking-fields input {
  font-size: var(--text-caption);
  background: none;
  border-color: #d8d0c8;
}

.staff-sms-consent {
  color: #71665e;
  font-size: var(--text-caption);
  align-items: center;
  gap: 7px;
  margin-top: 13px;
  display: flex;
}

.staff-sms-consent input {
  accent-color: var(--burgundy);
}

.walk-in-modal {
  max-width: 550px !important;
}

.walk-in-party {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  min-height: 72px;
  margin: 22px 0 0;
  display: flex;
}

.walk-in-party > span {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1px 9px;
  display: grid;
}

.walk-in-party > span svg {
  color: var(--terracotta);
  grid-row: 1 / 3;
  height: 18px;
}

.walk-in-party small {
  color: #8c8178;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.walk-in-party strong {
  font-size: var(--text-label);
}

.walk-in-party > div {
  gap: 6px;
  display: flex;
}

.walk-in-party > div button {
  background: #eee8e1;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
}

.walk-in-party > div svg {
  height: 12px;
}

.walk-in-option {
  border-bottom: 1px solid #e7e0d8;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 15px 0;
  display: grid;
}

.walk-in-option > div:first-child {
  flex-direction: column;
  display: flex;
}

.walk-in-option small {
  font-size: var(--text-caption);
  font-weight: 650;
}

.walk-in-option span {
  color: #8c8178;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.walk-in-option > div:last-child {
  gap: 5px;
  display: flex;
}

.walk-in-option button {
  color: #766b63;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  background: none;
  border: 1px solid #d7cec5;
  border-radius: 6px;
  padding: 7px;
}

.walk-in-option button.active {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.walk-in-fields {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 17px 0;
  display: grid;
}

.walk-in-fields label {
  color: #71665e;
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.walk-in-fields label > span {
  color: #a0948b;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-top: -14px;
  margin-left: auto;
}

.walk-in-fields input, .walk-in-fields textarea {
  font-size: var(--text-caption);
  background: none;
  border-color: #d8d0c8;
}

.walk-in-fields textarea {
  resize: none;
  min-height: 62px;
}

.walk-in-fields .walk-in-sms-consent {
  flex-direction: row;
  grid-column: 1 / -1;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.walk-in-sms-consent input {
  accent-color: var(--burgundy);
  margin-top: 2px;
}

.walk-in-fields .walk-in-sms-consent > span {
  color: #71665e;
  font-size: var(--text-caption);
  text-transform: none;
  gap: 3px;
  margin: 0;
  display: grid;
}

.walk-in-sms-consent small {
  color: #92867d;
  font-size: var(--text-caption);
}

.walk-in-summary {
  background: #f0e9df;
  gap: 20px;
  margin-bottom: 17px;
  padding: 11px;
  display: flex;
}

.walk-in-summary span {
  color: #675d56;
  font-size: var(--text-caption);
  align-items: center;
  gap: 5px;
  display: flex;
}

.walk-in-summary svg {
  height: 13px;
}

.edit-reservation-modal {
  max-height: calc(100vh - 34px);
  overflow-y: auto;
  background: var(--white) !important;
  border: 0 !important;
  border-radius: 14px !important;
  width: calc(100% - 30px) !important;
  max-width: 610px !important;
  padding: 28px !important;
  display: block !important;
  box-shadow: 0 28px 80px #200f0d47 !important;
}

.edit-reservation-modal form {
  margin-top: 20px;
}

.edit-section {
  border-top: 1px solid #e4ddd5;
  grid-template-columns: 105px 1fr;
  gap: 18px;
  padding: 17px 0;
  display: grid;
}

.edit-section > span {
  color: #82766e;
  font-size: var(--text-caption);
  text-transform: uppercase;
  align-items: center;
  gap: 6px;
  padding-top: 8px;
  display: flex;
}

.edit-section > span svg {
  color: var(--terracotta);
  height: 13px;
}

.edit-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  display: grid;
}

.edit-grid.three {
  grid-template-columns: 1.15fr 1fr 1fr;
}

.edit-grid label {
  color: #6c615a;
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.edit-grid label.full {
  grid-column: 1 / -1;
}

.edit-grid input, .edit-grid select, .edit-grid textarea {
  color: #352a26;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  height: 35px;
  padding: 0 9px;
}

.edit-grid textarea {
  resize: vertical;
  height: 64px;
  padding: 9px;
}

.service-tag-picker {
  color: #6c615a;
  font-size: var(--text-caption);
  gap: 5px;
  min-width: 0;
  display: grid;
}

.tag-picker-trigger {
  color: #352a26;
  font-size: var(--text-caption);
  background: #fff;
  border-color: #d8d0c8;
  border-radius: 6px;
  justify-content: flex-start;
  width: 100%;
  height: 35px;
  padding: 0 9px;
}

.tag-picker-trigger > svg {
  width: 14px;
  height: 14px;
}

.tag-picker-trigger > svg:last-child {
  margin-left: auto;
}

.service-tag-popover {
  width: 290px;
  padding: 12px;
}

.service-tag-popover > strong {
  font-size: var(--text-small);
}

.service-tag-popover > p {
  color: #766b64;
  font-size: var(--text-caption);
  margin: 4px 0 10px;
}

.service-tag-popover > div {
  max-height: 260px;
  display: grid;
  overflow-y: auto;
}

.service-tag-popover > div > button {
  font-size: var(--text-small);
  text-align: left;
  background: none;
  border: 0;
  border-top: 1px solid #eee7df;
  justify-content: space-between;
  align-items: center;
  min-height: 38px;
  padding: 0 3px;
  display: flex;
}

.service-tag-popover > div > button.selected {
  color: var(--burgundy);
  font-weight: 650;
}

.service-tag-popover > div > button svg {
  width: 14px;
  height: 14px;
}

.service-tag-popover > div > small {
  color: #766b64;
  padding: 15px 3px;
}

.service-tag-picker-values {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.service-tag-picker-values > button {
  background: none;
  border: 0;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.service-tag-picker-values > button > svg {
  color: #766b64;
  width: 11px;
  height: 11px;
  margin-left: -3px;
}

.reservation-context-section > p {
  color: #6f655f;
  line-height: 1.45;
}

.edit-payment-notice {
  color: #5f4b40;
  font-size: var(--text-caption);
  background: #f3eee8;
  border-left: 2px solid #9d684d;
  margin: 12px 0 0 123px;
  padding: 10px 12px;
  line-height: 1.45;
}

.edit-payment-decrease > p {
  margin: 0 0 10px;
}

.edit-payment-decrease .edit-grid {
  gap: 10px;
}

.receipt-adjustment-retry {
  color: #7b4934;
  cursor: pointer;
  font-size: var(--text-caption);
  background: none;
  border: 0;
  padding: 0;
  font-weight: 700;
  text-decoration: underline;
}

.receipt-adjustment-retry:disabled {
  cursor: wait;
  opacity: .6;
}

.edit-send-update {
  margin: 5px 0 18px 123px;
}

.edit-modal-footer {
  background: #f1ece6;
  justify-content: space-between;
  align-items: center;
  margin: 0 -28px -28px;
  padding: 15px 28px;
  display: flex;
}

.edit-modal-footer > span {
  color: #7c7169;
  font-size: var(--text-caption);
  align-items: center;
  gap: 6px;
  display: flex;
}

.edit-modal-footer > span svg {
  height: 12px;
}

.edit-modal-footer [data-slot="button"] {
  font-size: var(--text-caption);
  min-width: 135px;
}

.staff-booking-modal {
  --tw-translate-x: 0px !important;
  --tw-translate-y: 0px !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  gap: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  max-height: none !important;
  padding: 0 !important;
  display: block !important;
  inset: 0 !important;
  overflow: hidden !important;
  transform: none !important;
}

.staff-booking-header {
  border-bottom: 1px solid #e0e0e0;
  grid-template-columns: 78px auto 1fr 72px 72px;
  align-items: center;
  height: 73px;
  display: grid;
}

.staff-booking-header > button {
  background: none;
  border: 0;
  border-right: 1px solid #e1e1e1;
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.staff-booking-header > button:last-child {
  border-left: 1px solid #e1e1e1;
  border-right: 0;
}

.staff-booking-header svg {
  width: 18px;
  height: 18px;
}

.staff-booking-header h2 {
  font-family: var(--font-geist-sans), sans-serif;
  letter-spacing: -.025em;
  margin: 0;
  padding-left: 18px;
  font-size: 24px;
  font-weight: 650;
}

.staff-booking-header.search {
  grid-template-columns: auto 1fr 72px 72px;
}

.staff-booking-header.search > button:first-child {
  display: none;
}

.staff-booking-header.search h2 {
  padding-left: 37px;
}

.staff-booking-progress {
  background: linear-gradient(90deg, var(--burgundy) 33%, #e3e3e3 33%);
  height: 3px;
  transition: background .18s;
}

.staff-booking-progress.details {
  background: linear-gradient(90deg, var(--burgundy) 67%, #e3e3e3 67%);
}

.staff-booking-source-context {
  background: #f8f5f0;
  border-bottom: 1px solid #e4ddd5;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: 2px 18px;
  padding: 11px 38px;
  display: grid;
}

.staff-booking-source-context strong {
  color: var(--burgundy);
  font-size: 12px;
  font-weight: 700;
}

.staff-booking-source-context span {
  color: #4f4a45;
  font-size: 12px;
}

.staff-booking-source-context small {
  color: #77706a;
  grid-column: 1 / -1;
  font-size: 11px;
}

.staff-booking-source-context + .staff-booking-search, .staff-booking-source-context + .staff-booking-details-layout {
  height: calc(100vh - 135px);
}

.staff-booking-source-context ~ .staff-payment-choice {
  max-height: calc(100vh - 135px);
  overflow-y: auto;
}

.staff-booking-search {
  max-width: 730px;
  height: calc(100vh - 76px);
  margin: 0 auto;
  padding: 28px 0 90px;
  overflow-y: auto;
}

.staff-booking-section {
  margin-bottom: 46px;
}

.staff-booking-section-title {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  display: flex;
}

.staff-booking-section-title > span {
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 650;
  display: flex;
}

.staff-booking-section-title svg {
  width: 17px;
  height: 17px;
}

.staff-booking-section-title > button {
  color: var(--blue);
  font-size: var(--text-small);
  background: none;
  border: 0;
  text-decoration: underline;
}

.staff-calendar-strip {
  border: 1px solid #d9d9d9;
  border-radius: 7px;
  overflow: hidden;
}

.staff-calendar-strip > header {
  justify-content: space-between;
  align-items: center;
  height: 48px;
  padding: 0 13px;
  display: flex;
}

.staff-calendar-strip > header strong {
  font-size: 16px;
}

.staff-calendar-strip > header time {
  font-size: var(--text-small);
  font-weight: 650;
  text-decoration: underline;
}

.staff-calendar-strip > div {
  border-top: 1px solid #dedede;
  grid-template-columns: 46px repeat(7, 1fr) 46px;
  display: grid;
}

.staff-calendar-strip > div button {
  background: #fff;
  border: 0;
  border-right: 1px solid #e3e3e3;
  min-height: 88px;
}

.staff-calendar-strip > div button:last-child {
  border-right: 0;
}

.staff-calendar-strip > div button:not(:first-child):not(:last-child) {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: flex;
}

.staff-calendar-strip > div button span {
  color: #656565;
  font-size: var(--text-small);
}

.staff-calendar-strip > div button strong {
  font-size: 19px;
}

.staff-calendar-strip > div button.active {
  background: var(--cream);
}

@supports (color: color-mix(in lab, red, red)) {
  .staff-calendar-strip > div button.active {
    background: color-mix(in srgb, var(--cream) 58%, white);
  }
}

.staff-calendar-strip > div button.active {
  box-shadow: inset 0 0 0 2px var(--burgundy);
  color: var(--burgundy);
}

.staff-party-strip {
  border: 1px solid #ddd;
  display: flex;
  overflow-x: auto;
}

.staff-party-strip button {
  background: #fff;
  border: 0;
  border-right: 1px solid #e2e2e2;
  flex: 0 0 52px;
  height: 90px;
  font-size: 18px;
  font-weight: 600;
}

.staff-party-strip button.active {
  background: var(--cream);
}

@supports (color: color-mix(in lab, red, red)) {
  .staff-party-strip button.active {
    background: color-mix(in srgb, var(--cream) 58%, white);
  }
}

.staff-party-strip button.active {
  box-shadow: inset 0 0 0 2px var(--burgundy);
  color: var(--burgundy);
}

.staff-overbook-toggle, .staff-owner-toggle, .staff-summary-toggle {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  display: flex;
  position: relative;
}

.staff-overbook-toggle input, .staff-owner-toggle input, .staff-summary-toggle input {
  opacity: 0;
  width: 1px;
  height: 1px;
  position: absolute;
}

.staff-overbook-toggle i, .staff-owner-toggle i, .staff-summary-toggle i {
  background: #aaa;
  border-radius: 999px;
  order: -1;
  width: 38px;
  height: 22px;
  padding: 3px;
  transition: all .15s;
  position: relative;
}

.staff-overbook-toggle i:after, .staff-owner-toggle i:after, .staff-summary-toggle i:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  transition: all .15s;
  position: absolute;
  top: 3px;
  left: 3px;
}

.staff-overbook-toggle input:checked + i, .staff-owner-toggle input:checked + i, .staff-summary-toggle input:checked + i {
  background: var(--burgundy);
}

.staff-overbook-toggle input:checked + i:after, .staff-owner-toggle input:checked + i:after, .staff-summary-toggle input:checked + i:after {
  transform: translateX(16px);
}

.staff-booking-loading {
  color: #777;
  font-size: var(--text-small);
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 170px;
  display: flex;
}

.staff-booking-loading i {
  background: var(--blue);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  animation: .9s infinite alternate staff-pulse;
}

.staff-booking-loading i:nth-child(2) {
  animation-delay: .15s;
}

.staff-booking-loading i:nth-child(3) {
  margin-right: 5px;
  animation-delay: .3s;
}

@keyframes staff-pulse {
  from {
    opacity: .25;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(-3px);
  }
}

.staff-availability-groups {
  gap: 30px;
  display: grid;
}

.staff-availability-groups section > header {
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  display: flex;
}

.staff-availability-groups h4 {
  margin: 0;
  font-size: 14px;
}

.staff-availability-groups header span {
  font-size: var(--text-caption);
  text-transform: uppercase;
  background: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 2px 5px;
}

.staff-availability-groups section > div {
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  display: grid;
}

.staff-availability-groups section > div button {
  background: #fff;
  border: 1px solid #ddd;
  justify-content: space-between;
  align-items: center;
  height: 55px;
  padding: 0 13px;
  display: flex;
}

.staff-availability-groups section > div button:hover, .staff-availability-groups section > div button.active {
  border-color: var(--burgundy);
  box-shadow: 0 0 0 1px var(--burgundy);
}

.staff-availability-groups section > div button:disabled {
  color: #888;
  opacity: .75;
  background: #f3f3f3;
}

.staff-availability-groups section > div button.unavailable {
  color: #6f6761;
  background: #f4f2ef;
  border-color: #d8d3ce;
}

.staff-availability-groups section > div button.unavailable:hover {
  background: var(--cream);
}

@supports (color: color-mix(in lab, red, red)) {
  .staff-availability-groups section > div button.unavailable:hover {
    background: color-mix(in srgb, var(--cream) 48%, white);
  }
}

.staff-availability-groups section > div button.unavailable:hover {
  border-color: var(--terracotta);
  box-shadow: 0 0 0 1px var(--terracotta);
}

.staff-availability-groups button strong {
  font-size: var(--text-small);
}

.staff-availability-groups button small {
  color: #777;
  font-size: var(--text-caption);
}

.staff-availability-empty {
  font-size: var(--text-small);
  border: 1px dashed #d4d4d4;
  justify-content: center;
  align-items: center;
  min-height: 180px;
  display: flex;
}

.staff-booking-page-error {
  border-left: 3px solid var(--terracotta);
  color: #7c2825;
  font-size: var(--text-small);
  background: #f8e7e4;
  max-width: 730px;
  margin: -70px auto 30px;
  padding: 10px 13px;
}

.staff-availability-override-dialog, .staff-booking-adjustment-dialog {
  max-width: 480px !important;
}

.staff-availability-override-dialog [data-slot="dialog-header"] {
  padding-right: 24px;
}

.staff-override-title-icon {
  background: var(--cream);
  align-items: center;
}

@supports (color: color-mix(in lab, red, red)) {
  .staff-override-title-icon {
    background: color-mix(in srgb, var(--cream) 70%, white);
  }
}

.staff-override-title-icon {
  color: var(--burgundy);
  border-radius: 50%;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 4px;
  display: flex;
}

.staff-override-title-icon svg {
  width: 19px;
  height: 19px;
}

.staff-override-fields {
  gap: 15px;
  padding: 4px 0 8px;
  display: grid;
}

.staff-override-fields label {
  gap: 7px;
  display: grid;
}

.staff-override-fields label > span {
  color: #5f5751;
  font-size: var(--text-label);
  font-weight: 650;
}

.staff-override-fields [data-slot="select-trigger"] {
  width: 100%;
  height: 42px;
}

.staff-override-fields textarea {
  resize: vertical;
  min-height: 88px;
}

.staff-adjustment-mode {
  border-radius: var(--radius-lg);
  background: #f3f1ef;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  padding: 3px;
  display: grid;
}

.staff-adjustment-mode button {
  border-radius: calc(var(--radius-lg) - 3px);
  color: #746c66;
  cursor: pointer;
  font: inherit;
  font-size: var(--text-label);
  background: none;
  border: 0;
  min-height: 38px;
  padding: 0 12px;
  font-weight: 650;
}

.staff-adjustment-mode button[data-active="true"] {
  color: var(--burgundy);
  background: #fff;
  box-shadow: 0 1px 4px #28201c1a;
}

.staff-configured-discount-preview {
  background: var(--cream);
  align-items: center;
}

@supports (color: color-mix(in lab, red, red)) {
  .staff-configured-discount-preview {
    background: color-mix(in srgb, var(--cream) 48%, white);
  }
}

.staff-configured-discount-preview {
  border: 1px solid var(--khaki);
}

@supports (color: color-mix(in lab, red, red)) {
  .staff-configured-discount-preview {
    border: 1px solid color-mix(in srgb, var(--khaki) 58%, white);
  }
}

.staff-configured-discount-preview {
  border-radius: var(--radius-lg);
  justify-content: space-between;
  padding: 14px;
  display: flex;
}

.staff-configured-discount-preview > span {
  gap: 3px;
  display: grid;
}

.staff-configured-discount-preview small {
  color: #756b64;
  font-size: var(--text-caption);
}

.staff-configured-discount-preview > strong {
  color: var(--burgundy);
}

.staff-adjustment-money-field {
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  grid-template-columns: 32px 1fr;
  align-items: center;
  min-height: 42px;
  display: grid;
  overflow: hidden;
}

.staff-adjustment-money-field > span {
  color: #756b64;
  justify-self: end;
}

.staff-adjustment-money-field input {
  border: 0;
  height: 40px;
  box-shadow: none !important;
}

.staff-override-fields > p {
  border-left: 3px solid var(--terracotta);
  color: #7c2825;
  font-size: var(--text-label);
  background: #f8e7e4;
  margin: 0;
  padding: 9px 11px;
}

.staff-summary-override {
  background: var(--cream);
}

@supports (color: color-mix(in lab, red, red)) {
  .staff-summary-override {
    background: color-mix(in srgb, var(--cream) 58%, white);
  }
}

.staff-summary-override {
  border-left: 3px solid var(--burgundy);
  color: var(--burgundy);
  font-size: var(--text-caption);
  letter-spacing: .035em;
  text-transform: uppercase;
  margin: 12px 0;
  padding: 9px 10px;
  font-weight: 700;
}

.staff-booking-details-layout {
  grid-template-columns: minmax(0, 552px) 260px;
  gap: 24px;
  max-width: 814px;
  height: calc(100vh - 76px);
  margin: 0 auto;
  padding: 26px 0 80px;
  display: grid;
  overflow-y: auto;
}

.staff-guest-step > h3, .staff-visit-heading {
  margin: 0 0 18px;
  font-size: 18px;
}

.staff-guest-search > label {
  border: 1px solid var(--blue);
  grid-template-columns: 44px 1fr 36px;
  align-items: center;
  min-height: 48px;
  display: grid;
}

.staff-guest-search > label > svg {
  justify-self: center;
  height: 17px;
}

.staff-guest-search > label input {
  background: none;
  border: 0;
  outline: none;
  height: 46px;
}

.staff-guest-search > label button {
  background: none;
  border: 0;
}

.staff-guest-search > label button svg {
  height: 15px;
}

.staff-guest-search > p {
  color: #6e6e6e;
  font-size: var(--text-label);
  margin: 8px 2px;
}

.staff-guest-results {
  border: 1px solid #ddd;
  margin-top: 14px;
  box-shadow: 0 4px 10px #0000001f;
}

.staff-guest-results > button {
  text-align: left;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #e7e7e7;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  padding: 8px 12px;
  display: grid;
}

.staff-guest-results > button:hover {
  background: #f6f3ef;
}

.staff-guest-results > button > span:last-child {
  flex-direction: column;
  display: flex;
}

.staff-guest-results strong {
  font-size: var(--text-small);
}

.staff-guest-results small {
  color: #777;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.guest-result-avatar, .guest-result-add {
  font-size: var(--text-caption);
  background: #eee;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

.guest-result-add svg {
  height: 15px;
}

.staff-guest-results > p {
  color: #777;
  font-size: var(--text-label);
  margin: 0;
  padding: 17px;
}

.staff-guest-form {
  gap: 0;
  display: grid;
}

.staff-guest-identity-grid {
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  display: grid;
}

.staff-guest-identity-grid label {
  color: #777;
  font-size: var(--text-caption);
  grid-template-columns: 16px 1fr;
  gap: 6px;
  display: grid;
}

.staff-guest-identity-grid label svg {
  width: 14px;
  height: 14px;
}

.staff-guest-identity-grid label input, .staff-guest-identity-grid .full {
  grid-column: 1 / -1;
}

.staff-back-to-search {
  color: var(--blue);
  font-size: var(--text-label);
  background: none;
  border: 0;
  justify-self: center;
  margin: 14px 0 26px;
  text-decoration: underline;
}

.staff-owner-toggle {
  border: 1px solid #ddd;
  justify-content: space-between;
  min-height: 50px;
  padding: 0 13px;
}

.staff-owner-toggle i, .staff-summary-toggle i {
  order: 0;
}

.staff-owner-fields {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 10px 0;
  display: grid;
}

.staff-booking-field-row {
  border: 1px dashed #ddd;
  border-top: 0;
  grid-template-columns: minmax(180px, 1fr) minmax(80px, 230px);
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 8px 13px;
  display: grid;
}

.staff-booking-field-row > span {
  color: #666;
  font-size: var(--text-small);
  align-items: center;
  gap: 9px;
  display: flex;
}

.staff-booking-field-row svg {
  color: var(--terracotta);
  width: 17px;
  height: 17px;
}

.staff-booking-field-row > button {
  color: var(--blue);
  font-size: var(--text-label);
  background: none;
  border: 0;
  justify-self: end;
  text-decoration: underline;
}

.staff-guest-form > .service-tag-picker {
  border: 1px dashed #ddd;
  border-top: 0;
  grid-template-columns: minmax(180px, 1fr) minmax(80px, 230px);
  min-height: 58px;
  padding: 8px 13px;
}

.staff-guest-form > .service-tag-picker > span {
  color: #666;
  font-size: var(--text-small);
  align-self: center;
}

.staff-guest-form > .service-tag-picker .service-tag-picker-values {
  grid-column: 1 / -1;
}

.staff-visit-heading {
  border-top: 1px solid #ddd;
  margin-top: 24px;
  padding-top: 24px;
}

.staff-booking-summary {
  border: 1px solid #ddd;
  align-self: start;
  position: sticky;
  top: 0;
}

.staff-booking-summary > header {
  border-bottom: 1px solid #ddd;
  align-items: center;
  min-height: 48px;
  display: flex;
}

.staff-booking-summary > header strong {
  font-size: var(--text-small);
  flex: 1;
  padding: 0 14px;
}

.staff-booking-summary > header button {
  color: var(--blue);
  background: none;
  border: 0;
  border-left: 1px solid #ddd;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 48px;
  display: flex;
}

.staff-booking-summary > header svg {
  height: 15px;
}

.staff-booking-summary ul {
  gap: 13px;
  margin: 0;
  padding: 22px 24px;
  list-style: none;
  display: grid;
}

.staff-booking-summary li {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  display: flex;
}

.staff-booking-summary li svg {
  color: #777;
  width: 15px;
  height: 15px;
}

.staff-booking-summary li span {
  color: #777;
  margin-left: -4px;
}

.staff-summary-guest {
  border-top: 1px solid #ddd;
  align-items: center;
  gap: 9px;
  margin: 0 24px;
  padding: 20px 0;
  display: flex;
}

.staff-summary-guest > svg {
  height: 15px;
}

.staff-summary-guest span {
  flex-direction: column;
  display: flex;
}

.staff-summary-guest strong {
  font-size: var(--text-small);
}

.staff-summary-guest small {
  color: #777;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.staff-summary-charges {
  font-size: var(--text-label);
  border-top: 1px solid #ddd;
  justify-content: space-between;
  align-items: center;
  margin: 0 24px;
  padding: 14px 0;
  display: flex;
}

.staff-summary-charges span {
  align-items: center;
  gap: 6px;
  display: flex;
}

.staff-summary-charges svg {
  height: 14px;
}

.staff-summary-toggle {
  font-size: var(--text-label);
  border-top: 1px solid #ddd;
  justify-content: space-between;
  min-height: 60px;
  padding: 10px 24px;
}

.staff-booking-summary-error {
  color: #7c2825;
  font-size: var(--text-caption);
  background: #f8e7e4;
  margin: 0;
  padding: 10px 14px;
}

.staff-complete-reservation, .staff-add-charge {
  width: 100%;
  border-radius: 0 !important;
  min-height: 61px !important;
}

.staff-complete-reservation {
  background: var(--burgundy) !important;
}

.staff-complete-reservation:disabled {
  color: #fff !important;
  background: #d8d8d8 !important;
}

.staff-add-charge {
  margin-top: 18px;
  background: #fff !important;
}

.staff-payment-choice {
  max-width: 720px;
  margin: 0 auto;
  padding: 64px 24px;
}

.staff-payment-choice > header {
  text-align: center;
  margin-bottom: 30px;
}

.staff-payment-choice > header > span {
  color: var(--burgundy);
  font-size: var(--text-caption);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 750;
}

.staff-payment-choice h3 {
  font-family: var(--serif);
  margin: 10px 0 8px;
  font-size: 34px;
  font-weight: 500;
}

.staff-payment-choice p {
  color: #766c65;
  font-size: var(--text-small);
  margin: 0;
}

.staff-payment-options {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.staff-payment-options > button {
  text-align: left;
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 8px;
  align-items: flex-start;
  gap: 14px;
  min-height: 112px;
  padding: 22px;
  display: flex;
}

.staff-payment-options > button:hover {
  border-color: var(--blue);
  box-shadow: 0 8px 24px #28587b1a;
}

.staff-payment-options > button:disabled {
  cursor: wait;
  opacity: .55;
}

.staff-payment-options svg {
  color: var(--blue);
  width: 21px;
  height: 21px;
}

.staff-payment-options span {
  gap: 7px;
  display: grid;
}

.staff-payment-options strong {
  color: #2f2824;
  font-size: 14px;
}

.staff-payment-options small {
  color: #766c65;
  font-size: var(--text-caption);
  line-height: 1.5;
}

.staff-payment-expiry {
  border-top: 1px solid #ded5cc;
  grid-template-columns: auto 180px;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
  padding-top: 22px;
  display: grid;
}

.staff-payment-expiry > span {
  color: #443b36;
  font-size: var(--text-small);
  font-weight: 700;
}

.staff-payment-expiry select {
  color: #443b36;
  font-size: var(--text-label);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 5px;
  height: 38px;
  padding: 0 10px;
}

.staff-payment-expiry small {
  color: #766c65;
  font-size: var(--text-caption);
  grid-column: 1 / -1;
}

.reservation-payment-step.staff {
  max-width: 580px;
  height: calc(100vh - 76px);
  margin: 0 auto;
  padding: 48px 24px 80px;
  overflow-y: auto;
}

.reservation-payment-step.staff h2 {
  font-size: 34px;
}

.staff-booking-modal-minimized {
  width: 420px !important;
  height: auto !important;
  inset: auto 24px 24px auto !important;
}

.staff-booking-mini-bar {
  grid-template-columns: 24px 1fr auto 32px;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 12px 14px;
  display: grid;
  box-shadow: 0 12px 35px #00000040;
}

.staff-booking-mini-bar > svg {
  height: 18px;
}

.staff-booking-mini-bar > span {
  flex-direction: column;
  display: flex;
}

.staff-booking-mini-bar strong {
  font-size: var(--text-small);
}

.staff-booking-mini-bar small {
  color: #777;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.staff-booking-mini-bar button {
  color: var(--burgundy);
  font-size: var(--text-caption);
  background: none;
  border: 0;
}

.staff-booking-mini-bar button svg {
  height: 15px;
}

@media (max-width: 900px) {
  .staff-booking-search {
    max-width: calc(100% - 40px);
  }

  .staff-booking-details-layout {
    max-width: calc(100% - 32px);
  }
}

@media (max-width: 720px) {
  .staff-booking-header {
    grid-template-columns: 54px auto 1fr 50px 50px;
  }

  .staff-booking-header h2 {
    padding-left: 12px;
    font-size: 17px;
  }

  .staff-booking-source-context {
    flex-direction: column;
    padding: 9px 12px;
    display: flex;
  }

  .staff-booking-search {
    max-width: calc(100% - 24px);
    padding-top: 20px;
  }

  .staff-calendar-strip > div {
    grid-template-columns: 34px repeat(7, minmax(54px, 1fr)) 34px;
    overflow-x: auto;
  }

  .staff-availability-groups section > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .staff-booking-details-layout {
    max-width: calc(100% - 24px);
    display: block;
  }

  .staff-booking-summary {
    margin-top: 24px;
    position: static;
  }

  .staff-booking-modal-minimized {
    width: auto !important;
    bottom: 12px !important;
    left: 12px !important;
    right: 12px !important;
  }

  .staff-payment-choice {
    padding: 38px 16px;
  }

  .staff-payment-options {
    grid-template-columns: 1fr;
  }
}

.availability-main {
  min-height: 100vh;
}

.availability-planning-workspace {
  min-height: calc(100vh - 48px);
}

.availability-planning-workspace .availability-planning-canvas {
  background: #fff;
  min-width: 0;
  margin-right: 16px;
  padding: 40px 24px 72px;
}

.planning-index {
  color: #1d1d1f;
  width: 100%;
  max-width: 1120px;
}

.planning-index-heading {
  border-bottom: 1px solid #d8d8d8;
  min-height: 57px;
}

.planning-index-heading h1 {
  letter-spacing: -.025em;
  margin: 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.planning-index-intro {
  margin: 25px 0 38px;
  font-size: 14px;
  line-height: 20px;
}

.planning-index-intro a, .planning-section-heading strong {
  color: var(--blue);
  font-weight: 500;
}

.planning-index-intro a {
  text-decoration: underline;
}

.planning-index-error {
  color: #7b2920;
  background: #f7e5e1;
  border: 1px solid #d6aaa1;
  margin: -20px 0 28px;
  padding: 12px 14px;
  font-size: 14px;
}

.planning-section {
  margin-top: 38px;
}

.planning-section + .planning-section {
  margin-top: 40px;
}

.planning-section-heading {
  margin-bottom: 24px;
  display: block;
  position: relative;
}

.planning-section-heading > div {
  min-width: 0;
}

.planning-section-heading h2 {
  letter-spacing: -.02em;
  margin: 0 0 8px;
  padding-right: 190px;
  font-family: inherit;
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
}

.planning-section-heading p {
  max-width: 800px;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.planning-section-heading [data-slot="button"] {
  background: var(--blue);
  border-color: var(--blue);
  box-shadow: none;
  border-radius: 4px;
  flex: none;
  height: 44px;
  padding: 0 17px;
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 0;
}

.planning-section-heading [data-slot="button"]:hover {
  background: #204866;
  border-color: #204866;
}

.planning-section-heading [data-slot="button"] svg {
  width: 16px;
  height: 16px;
}

.planning-section-frame {
  border: 1px solid #d8d8d8;
  border-radius: 12px;
  overflow: hidden;
}

.planning-tabs {
  border-bottom: 1px solid #d8d8d8;
  align-items: stretch;
  height: 50px;
  margin: 0 16px;
  display: flex;
}

.planning-tabs button {
  color: #171717;
  background: none;
  border: 0;
  border-bottom: 3px solid #0000;
  margin-right: 26px;
  padding: 3px 0 0;
  font-size: 14px;
  font-weight: 600;
}

.planning-tabs button span {
  color: #777;
  margin-left: 5px;
  font-size: 12px;
  font-weight: 500;
}

.planning-tabs button.active {
  border-bottom-color: var(--blue);
  color: var(--blue);
}

.planning-schedule-list {
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  display: flex;
}

.planning-schedule-card, .planning-special-card {
  background: #fff;
  border: 1px solid #d8d8d8;
}

.planning-schedule-card > header, .planning-special-card > header {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 76px;
  padding: 16px 20px;
  display: flex;
}

.planning-schedule-card h3, .planning-special-card h3 {
  margin: 0;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
}

.planning-date-range {
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  flex: none;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.planning-date-range svg {
  width: 15px;
  height: 15px;
}

.planning-week-grid {
  border: 1px solid #d8d8d8;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-height: 100px;
  margin: 0 20px;
  display: grid;
}

.planning-week-day {
  border-right: 1px solid #e1e1e1;
  min-width: 0;
}

.planning-week-day:last-child {
  border-right: 0;
}

.planning-week-day > strong {
  justify-content: center;
  align-items: center;
  height: 41px;
  font-size: 12px;
  font-weight: 600;
  display: flex;
}

.planning-week-day > div {
  border-top: 1px solid #e1e1e1;
  min-height: 57px;
  padding: 5px 4px;
}

.planning-week-day span {
  background: #f5f5f5;
  border: 1px solid #e2e2e2;
  border-radius: 3px;
  flex-direction: column;
  min-height: 48px;
  padding: 7px 18px 6px 7px;
  display: flex;
  position: relative;
}

.planning-week-day span + span {
  margin-top: 4px;
}

.planning-week-day b, .planning-week-day small {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  overflow: hidden;
}

.planning-week-day small {
  font-weight: 400;
}

.planning-week-day i {
  background: var(--terracotta);
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  top: 11px;
  right: 7px;
}

.planning-schedule-card > footer, .planning-special-card > footer {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 92px;
  padding: 16px 20px;
  display: flex;
}

.planning-schedule-card > footer p, .planning-special-card > footer p {
  margin: 0;
  font-size: 12px;
  line-height: 18px;
}

.planning-schedule-card > footer > div, .planning-special-card > footer > div {
  gap: 12px;
  display: flex;
}

.planning-schedule-card > footer [data-slot="button"], .planning-special-card > footer [data-slot="button"] {
  border-color: var(--blue);
  color: var(--blue);
  border-radius: 4px;
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.planning-schedule-card > footer [data-slot="button"] svg, .planning-special-card > footer [data-slot="button"] svg {
  width: 16px;
  height: 16px;
}

.planning-schedule-card > footer .planning-archive-action, .planning-special-card > footer .planning-archive-action {
  color: #8a342a;
  border-color: #0000;
}

.planning-special-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 16px;
  display: grid;
}

.planning-special-card > header {
  flex-direction: column;
  align-items: flex-start;
  min-height: 112px;
}

.planning-special-card > footer {
  border-top: 1px solid #e1e1e1;
  flex-direction: column;
  align-items: flex-start;
}

.planning-special-card > footer > div {
  align-self: flex-end;
}

.planning-closed-list {
  padding: 8px 16px 16px;
}

.planning-closed-row {
  border-bottom: 1px solid #e1e1e1;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 10px 4px;
  display: grid;
}

.planning-closed-row > svg {
  color: #777;
  width: 18px;
  height: 18px;
}

.planning-closed-row > span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.planning-closed-row strong {
  font-size: 14px;
}

.planning-closed-row small {
  color: #666;
  font-size: 12px;
}

.planning-closed-row [data-slot="button"] {
  height: 36px;
}

.planning-empty {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 164px;
  padding: 28px;
  display: flex;
}

.planning-empty > svg {
  color: #6c6c6c;
  width: 24px;
  height: 24px;
  margin-bottom: 12px;
}

.planning-empty h3 {
  margin: 0 0 8px;
  font-family: inherit;
  font-size: 20px;
  font-weight: 600;
}

.planning-empty p {
  color: #555;
  max-width: 560px;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.planning-loading {
  gap: 10px;
  padding: 16px;
  display: grid;
}

.planning-loading i {
  background: #ededed;
  height: 76px;
  animation: 1.4s ease-in-out infinite loading-pulse;
  display: block;
}

.planning-loading i:nth-child(2) {
  animation-delay: .12s;
}

.planning-loading i:nth-child(3) {
  animation-delay: .24s;
}

.planning-loading.compact i {
  height: 48px;
}

.availability-editor-back {
  color: #1f1f1f;
  background: none;
  border: 0;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.availability-editor-back svg {
  width: 17px;
  height: 17px;
}

.availability-editor-layout {
  display: block;
}

.availability-editor-layout > .schedule-rail {
  display: none;
}

.availability-editor-layout > .schedule-editor {
  max-width: 1180px;
}

.availability-topbar {
  z-index: 20;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #fffdf9f0;
  border-bottom: 1px solid #ded7cf;
  justify-content: space-between;
  align-items: center;
  height: 56px;
  padding: 0 26px;
  display: flex;
  position: sticky;
  top: 48px;
}

.availability-topbar > div:first-child {
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.availability-topbar strong {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 400;
}

.availability-kicker {
  color: #978a80;
  font-size: var(--text-caption);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}

.availability-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.availability-actions [data-slot="button"] {
  font-size: var(--text-caption);
  height: 34px;
  padding: 0 11px;
}

.draft-dirty-state {
  color: #8a552d;
  font-size: var(--text-caption);
  background: #f6e9d7;
  border-radius: 999px;
  padding: 6px 9px;
  font-weight: 700;
}

.availability-menu {
  background: none;
  border: 0;
  padding: 0;
  display: none;
}

.gate-state {
  color: #756a62;
  font-size: var(--text-caption);
  border-right: 1px solid #ded7cf;
  align-items: center;
  gap: 7px;
  margin-right: 2px;
  padding-right: 13px;
  display: flex;
}

.gate-state i {
  background: #a09791;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.gate-state.live i {
  background: #4c8b67;
  box-shadow: 0 0 0 3px #4c8b671f;
}

.gate-state.paused {
  color: #8b342b;
}

.gate-state.paused i {
  background: var(--terracotta);
}

.availability-layout {
  grid-template-columns: 238px minmax(0, 1fr);
  min-height: calc(100vh - 68px);
  display: grid;
}

.schedule-rail {
  background: #eee9e2;
  border-right: 1px solid #d9d1c9;
  padding: 22px 13px;
}

.rail-title {
  justify-content: space-between;
  align-items: center;
  padding: 0 8px 13px;
  display: flex;
}

.rail-title span {
  font-family: var(--serif);
  font-size: 20px;
}

.rail-title button, .override-card button {
  background: #fffdf9;
  border: 1px solid #d8d0c8;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 27px;
  height: 27px;
  display: flex;
}

.rail-title svg, .override-card button svg {
  height: 13px;
}

.schedule-tabs {
  border-bottom: 1px solid #d6cec5;
  margin-bottom: 11px;
  display: flex;
}

.schedule-tabs button {
  color: #8c8179;
  font-size: var(--text-caption);
  background: none;
  border: 0;
  padding: 8px 7px;
  position: relative;
}

.schedule-tabs button small {
  font-size: var(--text-caption);
  background: #ddd6cf;
  border-radius: 999px;
  margin-left: 4px;
  padding: 1px 4px;
}

.schedule-tabs button.active {
  color: var(--burgundy);
  font-weight: 700;
}

.schedule-tabs button.active:after {
  background: var(--burgundy);
  content: "";
  height: 2px;
  position: absolute;
  bottom: -1px;
  left: 7px;
  right: 7px;
}

.schedule-card {
  color: inherit;
  text-align: left;
  background: none;
  border: 1px solid #0000;
  border-radius: 9px;
  grid-template-columns: 7px minmax(0, 1fr) 13px;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-bottom: 5px;
  padding: 11px 9px;
  display: grid;
}

.schedule-card:hover {
  background: #ffffff7a;
}

.schedule-card.active {
  background: #fffdf9;
  border-color: #d8d0c7;
  box-shadow: 0 4px 13px #3626200a;
}

.schedule-card > span:nth-child(2) {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.schedule-card strong {
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.schedule-card small {
  color: #91857c;
  font-size: var(--text-caption);
  margin-top: 4px;
}

.schedule-card svg {
  color: #9d9188;
  height: 12px;
}

.schedule-dot {
  background: #a79d96;
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.schedule-dot.published {
  background: #4c8b67;
}

.schedule-dot.past {
  background: #b3aaa3;
}

.rail-empty {
  color: #887d74;
  font-size: var(--text-caption);
  padding: 12px 8px;
}

.schedule-rail-actions {
  border-bottom: 1px solid #d6cec5;
  padding-bottom: 8px;
}

.duplicate-schedule, .archive-schedule {
  color: #746960;
  font-size: var(--text-caption);
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 10px 8px;
  display: flex;
}

.duplicate-schedule:hover, .archive-schedule:hover {
  color: var(--burgundy);
}

.duplicate-schedule svg, .archive-schedule svg {
  height: 12px;
}

.archive-schedule {
  color: #8b554d;
}

.schedule-name-dialog {
  max-width: 430px;
}

.schedule-name-dialog > label {
  color: #655b54;
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 7px;
  padding: 8px 0 12px;
  display: flex;
}

.override-card {
  border-top: 1px solid #d6cec5;
  grid-template-columns: 20px 1fr auto;
  align-items: center;
  gap: 9px;
  margin-top: 22px;
  padding: 18px 7px 0;
  display: grid;
}

.special-day-tabs, .closed-day-tabs {
  margin: 9px 0 6px;
}

.override-card > svg {
  color: var(--terracotta);
  height: 17px;
}

.override-card > span {
  flex-direction: column;
  display: flex;
}

.override-card strong {
  font-size: var(--text-caption);
}

.override-card small {
  color: #8e827a;
  font-size: var(--text-caption);
  margin-top: 3px;
  line-height: 1.4;
}

.closed-day-action {
  margin-top: 14px;
}

.date-override-row {
  border-bottom: 1px solid #d8d0c8;
  justify-content: space-between;
  align-items: center;
  margin: 0 7px;
  padding: 10px 0;
  display: flex;
}

.date-override-row > span {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.date-override-row strong {
  font-size: var(--text-caption);
}

.date-override-row small {
  color: #8e827a;
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  overflow: hidden;
}

.date-override-row button {
  color: #8e827a;
  background: none;
  border: 0;
  align-items: center;
  padding: 5px;
  display: flex;
}

.date-override-row button:hover {
  color: var(--burgundy);
}

.date-override-row svg {
  width: 12px;
  height: 12px;
}

.configuration-check-row {
  align-items: flex-start;
  line-height: 1.5;
  flex-direction: row !important;
}

.configuration-check-row input {
  margin-top: 2px;
}

.schedule-editor {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 35px 38px 24px;
}

.editor-heading {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 25px;
  display: flex;
}

.editor-heading h1 {
  font-family: var(--serif);
  letter-spacing: -.035em;
  margin: 6px 0 5px;
  font-size: 36px;
  font-weight: 400;
}

.editor-heading p {
  color: #7d726a;
  font-size: var(--text-caption);
  margin: 0;
}

.published-pill {
  color: #397052;
  font-size: var(--text-caption);
  text-transform: uppercase;
  background: #e5eee8;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 7px 10px;
  font-weight: 700;
  display: flex;
}

.published-pill svg {
  height: 11px;
}

.editor-steps {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.editor-steps button {
  color: #91857c;
  font-size: var(--text-caption);
  text-align: left;
  background: none;
  border: 0;
  border-right: 1px solid #e6dfd8;
  align-items: center;
  gap: 9px;
  min-height: 49px;
  padding: 0 15px;
  display: flex;
}

.editor-steps button:last-child {
  border-right: 0;
}

.editor-steps button > span {
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  border: 1px solid #d8d0c8;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 21px;
  height: 21px;
  display: flex;
}

.editor-steps button > span svg {
  height: 10px;
}

.editor-steps button.active {
  color: var(--burgundy);
  background: #f1e9dd;
  font-weight: 700;
}

.editor-steps button.active > span {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.editor-steps button.complete {
  color: #4c765f;
}

.editor-steps button.complete > span {
  background: #e0ebe4;
  border-color: #bad0c1;
}

.editor-panel {
  background: #fffdf9;
  border: 1px solid #ded7cf;
  border-top: 0;
  min-height: 470px;
}

.configuration-section {
  grid-template-columns: minmax(220px, .75fr) minmax(360px, 1.25fr);
  gap: 65px;
  padding: 47px 50px;
  display: grid;
}

.section-copy > span, .floor-toolbar > div > span, .review-summary > span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}

.section-copy h2, .floor-toolbar h2, .review-summary h2 {
  font-family: var(--serif);
  letter-spacing: -.03em;
  margin: 10px 0 12px;
  font-size: 29px;
  font-weight: 400;
  line-height: 1.05;
}

.section-copy p, .review-summary > p {
  color: #83776f;
  font-family: var(--serif);
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.configuration-form {
  flex-direction: column;
  gap: 17px;
  display: flex;
}

.configuration-form label, .table-inspector label {
  color: #655b54;
  font-size: var(--text-caption);
  letter-spacing: .035em;
  flex-direction: column;
  gap: 6px;
  font-weight: 650;
  display: flex;
}

.configuration-form label small, .table-inspector label small {
  color: #9b8f86;
  font-size: var(--text-caption);
  font-weight: 400;
}

.configuration-form input, .table-inspector input {
  font-size: var(--text-caption);
  background: #fff;
  border-color: #d8d0c8;
  border-radius: 6px;
  height: 36px;
}

.configuration-form select, .table-inspector select {
  color: #332724;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  height: 36px;
  padding: 0 9px;
}

.form-pair, .form-triple {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  display: grid;
}

.form-triple {
  grid-template-columns: repeat(3, 1fr);
}

.configuration-callout {
  color: var(--blue);
  background: #edf1f2;
  align-items: center;
  gap: 12px;
  padding: 12px;
  display: flex;
}

.configuration-callout > svg {
  height: 17px;
}

.configuration-callout span {
  flex-direction: column;
  display: flex;
}

.configuration-callout strong {
  font-size: var(--text-caption);
}

.configuration-callout small {
  color: #71818b;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.weekday-picker {
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  display: grid;
}

.weekday-picker button {
  color: #82766d;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  height: 31px;
}

.weekday-picker button.active {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.floor-authoring {
  padding: 28px;
}

.floor-toolbar {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  display: flex;
}

.floor-toolbar h2 {
  margin: 7px 0 3px;
  font-size: 25px;
}

.floor-toolbar small {
  color: #8d8178;
  font-size: var(--text-caption);
}

.floor-toolbar [data-slot="button"] {
  font-size: var(--text-caption);
}

.floor-authoring-grid {
  grid-template-columns: minmax(430px, 1fr) 220px;
  min-height: 365px;
  display: grid;
}

.floor-designer {
  background-color: #f2ede6;
  background-image: linear-gradient(#e6ded5 1px, #0000 1px), linear-gradient(90deg, #e6ded5 1px, #0000 1px);
  background-size: 20px 20px;
  border: 1px solid #d9d0c7;
  position: relative;
  overflow: hidden;
}

.room-label {
  color: #6f645d;
  font-size: var(--text-caption);
  z-index: 2;
  align-items: center;
  gap: 6px;
  display: flex;
  position: absolute;
  top: 12px;
  left: 13px;
}

.room-label svg {
  height: 12px;
}

.room-label small {
  color: #9b8f86;
  margin-left: 4px;
}

.author-table {
  color: #392e2a;
  background: #fffdf9;
  border: 1px solid #bdb2a8;
  border-radius: 50%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: box-shadow .15s, border-color .15s;
  display: flex;
  position: absolute;
  box-shadow: 0 3px 10px #39292312;
}

.author-table.rectangle {
  border-radius: 7px;
}

.author-table.square {
  border-radius: 8px;
}

.author-table strong {
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
}

.author-table small {
  color: #8e8279;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.author-table.selected {
  border: 2px solid var(--terracotta);
  box-shadow: 0 0 0 4px #a5402d24;
}

.table-inspector {
  background: #f8f5f0;
  border: 1px solid #d9d0c7;
  border-left: 0;
  flex-direction: column;
  gap: 13px;
  padding: 18px;
  display: flex;
}

.table-inspector > div:first-child {
  border-bottom: 1px solid #e2dbd3;
  flex-direction: column;
  padding-bottom: 13px;
  display: flex;
}

.table-inspector > div:first-child strong {
  font-family: var(--serif);
  margin-top: 4px;
  font-size: 20px;
  font-weight: 400;
}

.combination-editor {
  border: 1px solid #d9d0c7;
  border-top: 0;
  padding: 20px;
}

.combination-editor > header, .turn-rule-editor > header, .advanced-grid-toolbar {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.combination-editor > header > div, .turn-rule-editor > header > div {
  align-items: center;
  gap: 10px;
  display: flex;
}

.combination-editor header svg, .turn-rule-editor header svg {
  color: var(--terracotta);
  height: 16px;
}

.combination-editor header span, .turn-rule-editor header span, .advanced-grid-toolbar > div:first-child {
  flex-direction: column;
  display: flex;
}

.combination-editor header strong, .turn-rule-editor header strong, .advanced-grid-toolbar strong {
  font-size: var(--text-caption);
}

.combination-editor header small, .turn-rule-editor header small, .advanced-grid-toolbar small {
  color: #91857c;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.combination-row {
  border-top: 1px solid #e6dfd8;
  grid-template-columns: 150px minmax(220px, 1fr) 70px 70px 28px;
  align-items: end;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  display: grid;
}

.combination-row label {
  color: #655b54;
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.combination-row input {
  font-size: var(--text-caption);
  height: 32px;
}

.combination-row > button, .turn-rule-row > button {
  color: #a05a4d;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  height: 32px;
  display: flex;
}

.combination-row > button svg, .turn-rule-row > button svg {
  height: 14px;
}

.combination-tables > span {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.combination-tables button {
  color: #746860;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 5px;
  min-width: 36px;
  height: 32px;
}

.combination-tables button.active {
  border-color: var(--terracotta);
  color: var(--burgundy);
  background: #eee0d9;
  font-weight: 700;
}

.combination-editor > p, .turn-rule-editor > p {
  color: #91857c;
  font-size: var(--text-caption);
  margin: 16px 0 0;
}

.service-authoring {
  min-height: 470px;
}

.service-selector {
  background: #fffdf9;
  border-bottom: 1px solid #ded7cf;
  justify-content: space-between;
  align-items: stretch;
  min-height: 62px;
  padding: 8px 18px;
  display: flex;
}

.service-selector > div {
  gap: 5px;
  min-width: 0;
  display: flex;
  overflow-x: auto;
}

.service-selector > div > button {
  color: #82766d;
  text-align: left;
  background: none;
  border: 1px solid #0000;
  border-radius: 7px;
  flex-direction: column;
  flex: none;
  justify-content: center;
  min-width: 112px;
  padding: 7px 10px;
  display: flex;
}

.service-selector > div > button strong {
  font-size: var(--text-caption);
}

.service-selector > div > button small {
  color: #9b8f86;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.service-selector > div > button.active {
  color: var(--burgundy);
  background: #f1e9dd;
  border-color: #decfc2;
}

.service-selector > span {
  flex: none;
  align-items: center;
  gap: 3px;
  margin-left: 10px;
  display: flex;
}

.service-selector > span [data-slot="button"] {
  font-size: var(--text-caption);
  height: 34px;
}

.service-selector > span [data-variant="ghost"] {
  width: 32px;
  padding: 0;
}

.service-selector > span svg {
  height: 13px;
}

.service-editor-tabs {
  background: #f8f5f0;
  border-bottom: 1px solid #ded7cf;
  gap: 4px;
  padding: 10px 18px 0;
  display: flex;
}

.service-editor-tabs button {
  color: #8d8178;
  font-size: var(--text-caption);
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  padding: 10px 12px;
}

.service-editor-tabs button.active {
  border-bottom-color: var(--terracotta);
  color: var(--burgundy);
  font-weight: 700;
}

.advanced-grid-editor {
  padding: 22px;
}

.advanced-grid-toolbar {
  margin-bottom: 14px;
}

.advanced-grid-toolbar > div:first-child > span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-weight: 700;
}

.advanced-grid-toolbar > div:last-child {
  align-items: center;
  gap: 8px;
  display: flex;
}

.grid-mode-switch {
  background: #eee9e2;
  border-radius: 6px;
  padding: 3px;
  display: flex;
}

.grid-mode-switch button {
  color: #84786f;
  font-size: var(--text-caption);
  background: none;
  border: 0;
  border-radius: 4px;
  height: 26px;
  padding: 0 9px;
}

.grid-mode-switch button.active {
  color: var(--burgundy);
  background: #fff;
  font-weight: 700;
  box-shadow: 0 1px 4px #31221c17;
}

.advanced-grid-scroll {
  border: 1px solid #d9d0c7;
  overflow-x: auto;
}

.advanced-grid {
  min-width: max-content;
  display: grid;
}

.advanced-grid > * {
  border-bottom: 1px solid #e5ded7;
  border-right: 1px solid #e5ded7;
}

.grid-corner, .grid-time, .grid-row-label, .grid-metric-label {
  background: #f8f5f0;
  align-items: center;
  min-height: 38px;
  padding: 0 10px;
  display: flex;
}

.grid-corner {
  color: #746960;
  font-size: var(--text-caption);
  gap: 6px;
}

.grid-corner svg {
  height: 12px;
}

.grid-time {
  color: #786c64;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  justify-content: center;
}

.grid-row-label {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.grid-row-label strong, .grid-metric-label strong {
  font-size: var(--text-caption);
}

.grid-row-label small, .grid-metric-label small {
  color: #9a8e85;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.grid-metric-label.online {
  color: var(--burgundy);
}

.grid-pace-input {
  color: #4b403a;
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  text-align: center;
  background: #fffdf9;
  border: 0;
  border-radius: 0;
  width: 100%;
  min-width: 0;
  min-height: 38px;
}

.grid-pace-input.online {
  color: var(--burgundy);
  background: #fbf3ef;
}

.grid-cell {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  background: #f1ede7;
  border-top: 0;
  border-left: 0;
  justify-content: center;
  align-items: center;
  min-height: 38px;
  display: flex;
}

.grid-cell:hover {
  box-shadow: inset 0 0 0 2px #7e4e4338;
}

.grid-cell.active {
  background: #e4eee7;
}

.grid-cell.active span {
  background: #4c8b67;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 3px #4c8b6721;
}

.advanced-grid-empty {
  color: #8f837a;
  font-size: var(--text-caption);
  padding: 18px;
}

.advanced-grid-bulk-dialog {
  max-width: 520px;
}

.advanced-grid-bulk-form {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.advanced-grid-bulk-form label {
  color: #685d56;
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.advanced-grid-bulk-form select {
  color: #4d423c;
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  height: 38px;
  padding: 0 10px;
}

.advanced-grid-bulk-summary {
  color: #746960;
  font-size: var(--text-caption);
  background: #f5f0e9;
  border-radius: 6px;
  margin: 0;
  padding: 10px 12px;
  line-height: 1.5;
}

.advanced-grid-bulk-error {
  color: #9c392f;
  font-size: var(--text-caption);
  margin: 0;
}

.turn-rule-editor {
  border: 1px solid #d9d0c7;
  border-top: 0;
  padding: 18px;
}

.turn-rule-head, .turn-rule-row {
  grid-template-columns: 78px 78px 90px 110px 110px 28px;
  gap: 7px;
  display: grid;
}

.turn-rule-head {
  color: #958980;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-top: 16px;
  padding: 0 4px 5px;
}

.turn-rule-row {
  border-top: 1px solid #ebe4dc;
  padding: 8px 0;
}

.turn-rule-row input {
  font-size: var(--text-caption);
  height: 31px;
}

.review-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  min-height: 470px;
  display: grid;
}

.review-summary {
  padding: 43px 47px;
}

.review-metrics {
  border-top: 1px solid #e3dcd4;
  border-bottom: 1px solid #e3dcd4;
  grid-template-columns: repeat(3, 1fr);
  margin: 25px 0;
  display: grid;
}

.review-metrics div {
  border-right: 1px solid #e3dcd4;
  flex-direction: column;
  padding: 16px 7px;
  display: flex;
}

.review-metrics div:last-child {
  border-right: 0;
}

.review-metrics strong {
  font-family: var(--font-geist-mono);
  font-size: 19px;
}

.review-metrics small {
  color: #91857c;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-top: 3px;
}

.review-summary dl {
  margin: 0;
}

.review-summary dl div {
  font-size: var(--text-caption);
  justify-content: space-between;
  padding: 8px 0;
  display: flex;
}

.review-summary dt {
  color: #93877f;
}

.review-summary dd {
  text-align: right;
  margin: 0;
  font-weight: 650;
}

.publication-inspector {
  color: #f6ede3;
  background: #2d211f;
  flex-direction: column;
  padding: 32px;
  display: flex;
}

.publication-inspector .availability-kicker {
  color: #c6a99d;
}

.publication-inspector h3 {
  font-family: var(--serif);
  margin: 8px 0;
  font-size: 23px;
  font-weight: 400;
}

.publication-inspector > p {
  color: #ffffff85;
  font-size: var(--text-caption);
  margin: 0 0 18px;
  line-height: 1.55;
}

.publication-inspector > [data-slot="button"] {
  font-size: var(--text-caption);
  margin-bottom: 14px;
}

.publication-inspector > [data-slot="button"][data-variant="outline"] {
  color: #fff;
  background: #ffffff0a;
  border-color: #ffffff29;
}

.publication-inspector ul {
  flex-direction: column;
  gap: 8px;
  max-height: 120px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  display: flex;
  overflow: auto;
}

.publication-inspector li {
  background: #a5402d29;
  align-items: flex-start;
  gap: 8px;
  padding: 8px;
  display: flex;
}

.publication-inspector li > svg {
  color: #e48c7c;
  height: 12px;
}

.publication-inspector li span {
  flex-direction: column;
  display: flex;
}

.publication-inspector li strong {
  font-size: var(--text-caption);
}

.publication-inspector li small {
  color: #ffffff73;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.publish-lock {
  border-top: 1px solid #ffffff1a;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding: 16px 0;
  display: flex;
}

.publish-lock > svg {
  color: #d7ad7d;
  height: 16px;
}

.publish-lock span {
  flex-direction: column;
  display: flex;
}

.publish-lock strong {
  font-size: var(--text-caption);
}

.publish-lock small {
  color: #ffffff73;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.configuration-notice {
  color: #326a4b;
  font-size: var(--text-caption);
  background: #e4eee7;
  align-items: center;
  gap: 8px;
  margin-top: 11px;
  padding: 10px 13px;
  display: flex;
}

.configuration-notice.error {
  color: #8a3028;
  background: #f5e2dd;
}

.configuration-notice svg {
  height: 13px;
}

.editor-footer {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  padding-top: 15px;
  display: grid;
}

.editor-footer > span {
  color: #91857c;
  font-size: var(--text-caption);
  text-align: center;
}

.editor-footer [data-slot="button"] {
  font-size: var(--text-caption);
  min-width: 90px;
}

@media (max-width: 1050px) {
  .availability-layout {
    grid-template-columns: 205px minmax(0, 1fr);
  }

  .schedule-editor {
    padding: 30px 24px;
  }

  .configuration-section {
    gap: 35px;
    padding: 40px 34px;
  }

  .floor-authoring-grid {
    grid-template-columns: minmax(360px, 1fr) 205px;
  }
}

@media (max-width: 820px) {
  .availability-menu {
    display: block;
  }

  .availability-menu svg {
    height: 19px;
  }

  .availability-layout {
    display: block;
  }

  .schedule-rail {
    border-bottom: 1px solid #d9d1c9;
    border-right: 0;
    display: none;
  }

  .availability-topbar {
    padding: 0 14px;
  }

  .availability-topbar .availability-kicker, .availability-actions > [data-slot="button"]:last-child {
    display: none;
  }

  .schedule-editor {
    padding: 24px 16px;
  }

  .configuration-section {
    grid-template-columns: 1fr;
  }

  .section-copy {
    max-width: 480px;
  }

  .floor-authoring-grid {
    grid-template-columns: 1fr;
  }

  .floor-designer {
    min-height: 390px;
  }

  .table-inspector {
    border-top: 0;
    border-left: 1px solid #d9d0c7;
    grid-template-columns: repeat(2, 1fr);
    display: grid;
  }

  .table-inspector > div:first-child {
    grid-column: 1 / -1;
  }

  .review-layout {
    grid-template-columns: 1fr;
  }

  .publication-inspector {
    min-height: 330px;
  }

  .combination-row {
    grid-template-columns: 1fr 1fr 70px 70px 28px;
  }

  .combination-tables {
    grid-area: 2 / 1 / auto / -1;
  }

  .advanced-grid-toolbar {
    align-items: flex-start;
    gap: 12px;
  }
}

@media (max-width: 560px) {
  .availability-topbar strong {
    font-size: 16px;
  }

  .gate-state {
    border: 0;
    margin: 0;
    padding: 0;
    font-size: 0;
  }

  .availability-actions [data-slot="button"] {
    width: 34px;
    padding: 0;
    font-size: 0;
  }

  .availability-actions [data-slot="button"] svg {
    margin: 0;
  }

  .editor-heading h1 {
    font-size: 29px;
  }

  .editor-heading p {
    max-width: 260px;
    line-height: 1.5;
  }

  .published-pill {
    padding: 7px;
    font-size: 0;
  }

  .editor-steps button {
    font-size: var(--text-caption);
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 6px 2px;
  }

  .configuration-section {
    gap: 28px;
    padding: 31px 22px;
  }

  .form-triple {
    grid-template-columns: 1fr;
  }

  .weekday-picker {
    gap: 3px;
  }

  .weekday-picker button {
    font-size: var(--text-caption);
  }

  .floor-authoring {
    padding: 17px;
  }

  .floor-authoring-grid {
    margin: 0 -17px -17px;
  }

  .floor-toolbar {
    align-items: flex-end;
  }

  .floor-toolbar [data-slot="button"] {
    width: 32px;
    font-size: 0;
  }

  .floor-designer {
    min-width: 0;
  }

  .table-inspector {
    grid-template-columns: 1fr;
  }

  .table-inspector > div:first-child {
    grid-column: auto;
  }

  .review-summary {
    padding: 31px 22px;
  }

  .publication-inspector {
    padding: 26px 22px;
  }

  .editor-footer > span {
    display: none;
  }

  .editor-footer {
    grid-template-columns: auto 1fr;
  }

  .editor-footer > [data-slot="button"]:last-child {
    justify-self: end;
  }

  .combination-row {
    grid-template-columns: 1fr 1fr 28px;
  }

  .combination-row > label:first-child, .combination-tables {
    grid-column: 1 / -1;
  }

  .combination-tables {
    grid-row: auto;
  }

  .advanced-grid-editor {
    padding: 14px;
  }

  .service-selector {
    align-items: center;
    padding: 7px 10px;
  }

  .service-selector > span [data-slot="button"] {
    width: 32px;
    padding: 0;
    font-size: 0;
  }

  .advanced-grid-toolbar {
    flex-direction: column;
  }

  .turn-rule-head {
    display: none;
  }

  .turn-rule-row {
    grid-template-columns: repeat(2, 1fr) 28px;
  }

  .turn-rule-row > :nth-child(3), .turn-rule-row > :nth-child(4), .turn-rule-row > :nth-child(5) {
    grid-column: span 1;
  }
}

@media (max-width: 820px) {
  .availability-planning-workspace {
    display: block;
  }

  .availability-planning-workspace > .control-subnav {
    display: none;
  }

  .availability-planning-workspace .availability-planning-canvas {
    margin: 0;
    padding: 24px 16px 56px;
  }

  .planning-index-intro {
    margin-bottom: 30px;
  }

  .planning-section {
    margin-top: 32px;
  }

  .planning-section-heading {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    display: flex;
  }

  .planning-section-heading h2 {
    padding-right: 0;
  }

  .planning-section-heading [data-slot="button"] {
    align-self: flex-start;
    position: static;
  }

  .planning-tabs {
    margin: 0 12px;
    overflow-x: auto;
  }

  .planning-tabs button {
    flex: none;
  }

  .planning-schedule-list, .planning-special-grid {
    padding: 12px;
  }

  .planning-special-grid {
    grid-template-columns: 1fr;
  }

  .planning-schedule-card > header, .planning-special-card > header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .planning-date-range {
    flex: 0 auto;
    max-width: 100%;
    font-size: 12px;
    line-height: 18px;
  }

  .planning-week-grid {
    grid-template-columns: repeat(7, 112px);
    overflow-x: auto;
  }

  .planning-schedule-card > footer, .planning-special-card > footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .planning-schedule-card > footer > div, .planning-special-card > footer > div {
    flex-wrap: wrap;
    align-self: stretch;
  }

  .planning-schedule-card > footer [data-slot="button"], .planning-special-card > footer [data-slot="button"] {
    flex: auto;
  }

  .planning-closed-row {
    grid-template-columns: 20px minmax(0, 1fr);
  }

  .planning-closed-row [data-slot="button"] {
    grid-column: 2;
    justify-self: start;
  }
}

.availability-shell > .availability-main:first-child .availability-topbar {
  top: 0;
}

.schedule-flow-topbar {
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid #d8d8d8;
  grid-template-columns: 52px minmax(0, 1fr) 144px;
  align-items: stretch;
  height: 60px;
  padding: 0;
  display: grid;
  position: sticky;
  top: 0;
}

.schedule-flow-topbar .availability-editor-back {
  border: 0;
  border-right: 1px solid #dedede;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  min-width: 0;
  height: 60px;
  margin: 0;
  padding: 0;
  font-size: 0;
  display: flex;
}

.schedule-flow-topbar .availability-editor-back svg {
  width: 16px;
  height: 16px;
}

.schedule-flow-topbar .editor-steps {
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  align-items: stretch;
  margin: 0;
  display: grid;
}

.schedule-flow-topbar .editor-steps button {
  color: #111;
  background: #fff;
  border: 0;
  min-height: 60px;
  font-size: 14px;
  font-weight: 600;
  position: relative;
}

.schedule-flow-topbar .editor-steps button:hover {
  background: #fafafa;
}

.schedule-flow-topbar .editor-steps button.active:before {
  content: "";
  background: #3968df;
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.schedule-flow-topbar .schedule-publish-button {
  box-shadow: none;
  color: #aaa;
  background: #ddd;
  border-color: #ddd;
  border-radius: 2px;
  place-self: center;
  height: 34px;
  padding: 0 10px;
  font-size: 13px;
}

.schedule-flow-topbar .schedule-publish-button:disabled {
  color: #aaa;
  opacity: 1;
  background: #e3e3e3;
}

.availability-editor-layout {
  background: #fff;
  grid-template-columns: 300px minmax(980px, 1fr);
  min-height: calc(100vh - 60px);
  display: grid;
  overflow: visible;
}

.schedule-flow-help {
  background: #f6f6f6;
  border-right: 1px solid #d9d9d9;
  min-height: calc(100vh - 60px);
  padding: 28px 24px 72px 28px;
  position: relative;
}

.schedule-help-icon {
  color: #3968df;
  background: #f3f6ff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 78px;
  height: 78px;
  margin: 0 0 30px;
  display: flex;
}

.schedule-help-icon svg {
  stroke-width: 2.4px;
  width: 27px;
  height: 27px;
}

.schedule-flow-help h1 {
  color: #626262;
  letter-spacing: 0;
  margin: 0 0 15px;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
}

.schedule-flow-help p {
  color: #666;
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.42;
}

.schedule-flow-help p button {
  color: #315cae;
  font: inherit;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
}

.schedule-flow-help .schedule-help-button {
  color: #fff;
  background: #6f6f6f;
  border: 0;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 251px;
  height: 33px;
  font-size: 14px;
  display: flex;
  position: fixed;
  bottom: 22px;
  left: 24px;
}

.schedule-help-button svg {
  width: 15px;
  height: 15px;
  margin-right: 8px;
}

.availability-editor-layout > .schedule-editor {
  min-width: 980px;
  max-width: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.availability-editor-layout .editor-panel {
  background: #fff;
  border: 0;
}

.schedule-review-status {
  z-index: 25;
  background: #fff;
  border-bottom: 1px solid #dedede;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  height: 50px;
  padding: 0 9px;
  display: grid;
  position: sticky;
  top: 60px;
}

.schedule-review-status > div:first-child {
  align-items: center;
  min-width: 0;
  display: flex;
}

.schedule-review-status > div:first-child > span {
  color: #2f7545;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid #b9d7c0;
  border-radius: 2px;
  align-items: center;
  height: 21px;
  padding: 0 7px;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  display: flex;
}

.schedule-review-status > div:first-child > span i, .schedule-booking-status > i {
  background: #2e8a53;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  margin-right: 7px;
}

.schedule-review-status > div:first-child > span.draft {
  color: #666;
  border-color: #bbb;
}

.schedule-review-status > div:first-child > span.draft i {
  background: #888;
}

.schedule-review-status > div:first-child > strong {
  white-space: nowrap;
  border-right: 1px solid #ddd;
  margin-left: 13px;
  padding-right: 13px;
  font-size: 14px;
  font-weight: 600;
}

.schedule-review-status > div:first-child > small {
  white-space: nowrap;
  align-items: center;
  margin-left: 14px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.schedule-review-status > div:first-child > small svg {
  width: 16px;
  height: 16px;
  margin-right: 10px;
}

.schedule-booking-status {
  border-left: 1px solid #ddd;
  align-items: center;
  padding-left: 14px;
  display: flex;
}

.schedule-booking-status span {
  font-size: 14px;
}

.schedule-booking-status button {
  color: #315cae;
  background: none;
  border: 0;
  padding: 0 0 0 14px;
  display: flex;
}

.schedule-booking-status svg {
  width: 16px;
  height: 16px;
}

.schedule-review-status > [data-slot="button"] {
  color: #9e2431;
  border-color: #a72f3b;
  border-radius: 2px;
  height: 34px;
  padding: 0 10px;
  font-size: 13px;
}

.tock-details-step {
  width: 680px;
  margin: 32px auto 80px;
}

.tock-editor-card {
  border: 1px solid #d9d9d9;
  margin-bottom: 32px;
}

.tock-editor-card > h2 {
  border-bottom: 1px solid #d9d9d9;
  margin: 0;
  padding: 15px 16px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
}

.tock-editor-card-body {
  padding: 16px;
}

.tock-details-step .tock-editor-card:first-child .tock-editor-card-body {
  gap: 12px;
  display: grid;
}

.tock-editor-card label {
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 600;
  display: block;
}

.tock-details-step .tock-editor-card:first-child label {
  margin-bottom: 0;
}

.tock-details-step .tock-editor-card:first-child input {
  margin-top: 3px;
}

.tock-editor-card label:last-child {
  margin-bottom: 0;
}

.tock-editor-card input {
  box-shadow: none;
  border-color: #d5d5d5;
  border-radius: 3px;
  height: 44px;
  margin-top: 6px;
  font-size: 14px;
}

.tock-date-control {
  display: block;
  position: relative;
}

.tock-date-control svg {
  pointer-events: none;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 21px;
  right: 14px;
}

.tock-date-control input::-webkit-calendar-picker-indicator {
  opacity: 0;
}

.tock-timezone-field {
  display: none !important;
}

.tock-info-callout {
  background: #f0f5ff;
  border: 1px solid #c7d4e8;
  margin-bottom: 7px;
  padding: 20px 16px;
  font-size: 14px;
  line-height: 1.45;
}

.tock-info-callout a {
  color: #315cae;
  text-decoration: underline;
}

.tock-experience-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tock-experience-card li {
  color: #686868;
  border-bottom: 1px solid #ddd;
  justify-content: space-between;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  display: flex;
}

.tock-experience-card li:last-child {
  border-bottom: 0;
}

.tock-experience-card li small {
  color: #9b3b44;
  font-size: 11px;
}

.tock-floor-step {
  grid-template-columns: 280px minmax(700px, 1fr);
  height: calc(100vh - 110px);
  min-height: 596px;
  display: grid;
  position: relative;
}

.tock-floor-sidebar {
  background: #fafafa;
  border-right: 1px solid #ddd;
  padding: 18px 16px;
}

.tock-floor-sidebar > header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
  display: flex;
}

.tock-floor-sidebar h2 {
  margin: 0;
  font-family: inherit;
  font-size: 16px;
}

.tock-floor-sidebar > header button, .tock-seating-card > button {
  color: #315cae;
  background: none;
  border: 0;
  align-items: center;
  padding: 0;
  font-size: 14px;
  display: flex;
}

.tock-floor-sidebar > header svg {
  width: 15px;
  height: 15px;
  margin-right: 7px;
}

.tock-seating-card {
  background: #fff;
  border: 1px solid #d9d9d9;
  padding: 17px 16px 19px;
}

.tock-seating-card > div {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.tock-seating-card > div > button {
  background: #aaa;
  border: 0;
  border-radius: 15px;
  width: 37px;
  height: 20px;
  padding: 2px;
}

.tock-seating-card > div > button span {
  background: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  display: block;
}

.tock-seating-card p {
  margin: 15px 0 4px;
  font-size: 14px;
  line-height: 1.35;
}

.tock-seating-card > button {
  text-decoration: underline;
}

.tock-floor-card {
  text-align: left;
  background: #fff;
  border: 1px solid #3968df;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 90px;
  margin-top: 32px;
  padding: 12px 16px;
  display: flex;
}

.tock-floor-card > span {
  flex-direction: column;
  display: flex;
}

.tock-floor-card strong {
  font-size: 16px;
  line-height: 1.2;
}

.tock-floor-card small {
  color: #666;
  margin-top: 4px;
  font-size: 13px;
}

.tock-floor-card > svg {
  width: 16px;
  height: 16px;
}

.tock-floor-canvas-wrap {
  min-width: 0;
  overflow: hidden;
}

.tock-floor-tools {
  background: #fff;
  border-bottom: 1px solid #ddd;
  align-items: stretch;
  height: 45px;
  display: flex;
}

.tock-floor-tools > span {
  color: #888;
  border-right: 1px solid #eee;
  align-items: center;
  padding: 0 26px;
  display: flex;
}

.tock-floor-tools button {
  color: #777;
  background: #fff;
  border: 0;
  border-right: 1px solid #eee;
  min-width: 35px;
}

.tock-floor-tools i {
  border-right: 1px solid #ddd;
  width: 10px;
}

.tock-floor-tools svg {
  width: 15px;
  height: 15px;
}

.tock-floor-canvas {
  background-color: #fff;
  background-image: linear-gradient(#ddd 1px, #0000 1px), linear-gradient(90deg, #ddd 1px, #0000 1px);
  background-size: 24px 24px;
  height: calc(100vh - 155px);
  min-height: 551px;
  position: relative;
  overflow: hidden;
}

.tock-floor-table {
  background: #e5e5e5;
  border: 0;
  border-radius: 3px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  box-shadow: 0 1px 2px #0000002e;
}

.tock-floor-table.round {
  border-radius: 50%;
}

.tock-floor-table.selected {
  box-shadow: 0 0 0 2px #3968df;
}

.tock-floor-table strong {
  font-size: 12px;
  font-weight: 500;
}

.tock-floor-table small {
  margin-top: 2px;
  font-size: 11px;
}

.tock-floor-actions {
  gap: 11px;
  display: grid;
  position: absolute;
  top: 80px;
  right: 32px;
}

.tock-floor-actions [data-slot="button"] {
  color: #315cae;
  background: #fff;
  border-color: #3968df;
  border-radius: 3px;
  justify-content: flex-start;
  min-width: 180px;
  height: 38px;
  font-size: 14px;
}

.tock-floor-actions svg {
  width: 16px;
  height: 16px;
}

.tock-table-drawer, .tock-combinations-drawer, .tock-service-drawer {
  z-index: 30;
  background: #fff;
  border-left: 1px solid #ccc;
  width: 390px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  overflow-y: auto;
  box-shadow: -8px 0 20px #0000001a;
}

.tock-table-drawer > header, .tock-combinations-drawer > header, .tock-service-drawer > header {
  border-bottom: 1px solid #ddd;
  justify-content: space-between;
  align-items: center;
  min-height: 58px;
  padding: 0 18px;
  display: flex;
}

.tock-table-drawer > header button, .tock-combinations-drawer > header button, .tock-service-drawer > header button {
  color: #315cae;
  background: none;
  border: 0;
}

.tock-table-drawer > div {
  gap: 16px;
  padding: 18px;
  display: grid;
}

.tock-table-drawer label, .tock-service-form label {
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  display: grid;
}

.tock-combinations-drawer .table-combinations-editor {
  border: 0;
  margin: 0;
}

.tock-services-step {
  height: calc(100vh - 110px);
  min-height: 596px;
  position: relative;
  overflow: hidden;
}

.tock-service-calendar {
  grid-template-columns: 195px minmax(0, 1fr);
  height: 100%;
  display: grid;
  position: relative;
  overflow: hidden;
}

.tock-time-axis {
  border-right: 1px solid #d9d9d9;
  margin-top: 48px;
  position: relative;
}

.tock-time-axis span {
  border-top: 1px solid #ddd;
  justify-content: flex-end;
  align-items: flex-start;
  width: 195px;
  height: 48px;
  padding: 4px 7px 0 0;
  font-size: 12px;
  font-weight: 600;
  display: flex;
  position: absolute;
  right: 0;
}

.tock-service-days-grid {
  grid-template-columns: repeat(7, minmax(112px, 1fr));
  min-width: 784px;
  display: grid;
  overflow: hidden;
}

.tock-service-days-grid > section {
  border-right: 1px solid #ddd;
}

.tock-service-days-grid header {
  border-bottom: 1px solid #ddd;
  justify-content: center;
  align-items: center;
  height: 48px;
  font-size: 12px;
  font-weight: 600;
  display: flex;
}

.tock-service-day-body {
  background-image: repeating-linear-gradient(#0000 0 47px, #ddd 47px 48px);
  height: calc(100vh - 158px);
  min-height: 548px;
  position: relative;
}

.tock-service-day-body > button {
  text-align: left;
  background: #f7f7f7;
  border: 0;
  border-bottom: 1px solid #bbb;
  min-height: 70px;
  padding: 12px 10px;
  display: block;
  position: absolute;
  left: 1px;
  right: 14px;
  box-shadow: 0 2px 3px #00000021;
}

.tock-service-day-body > button:after {
  content: "";
  background: repeating-linear-gradient(135deg, #ddd 0 3px, #fff 3px 7px);
  height: 57px;
  position: absolute;
  bottom: -64px;
  left: 0;
  right: 0;
}

.tock-service-day-body strong, .tock-service-day-body small {
  font-size: 13px;
  display: block;
}

.tock-service-day-body > button > strong {
  position: absolute;
  top: 12px;
  left: 10px;
}

.tock-service-day-body > button > small {
  position: absolute;
  top: 31px;
  left: 10px;
}

.tock-service-day-body i {
  background: #a64be0;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 14px;
  right: 10px;
}

.tock-add-service {
  color: #315cae;
  z-index: 10;
  background: #fff;
  border-color: #3968df;
  border-radius: 3px;
  height: 38px;
  font-size: 14px;
  position: absolute;
  top: 80px;
  right: 32px;
}

.tock-service-drawer {
  top: 0;
}

.tock-service-drawer nav {
  border-bottom: 1px solid #ddd;
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.tock-service-drawer nav button {
  background: #fff;
  border: 0;
  border-bottom: 3px solid #0000;
  min-height: 44px;
  font-size: 13px;
}

.tock-service-drawer nav button.active {
  color: #315cae;
  border-bottom-color: #3968df;
}

.tock-service-form {
  gap: 16px;
  padding: 18px;
  display: grid;
}

.tock-service-form select {
  border: 1px solid #ccc;
  border-radius: 3px;
  height: 38px;
}

.tock-day-picker {
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  display: grid;
}

.tock-day-picker button {
  background: #fff;
  border: 1px solid #ccc;
  height: 30px;
  font-size: 10px;
}

.tock-day-picker button.active {
  color: #fff;
  background: #315cae;
  border-color: #315cae;
}

.tock-service-drawer .advanced-grid-editor {
  border: 0;
  margin: 0;
  padding: 14px;
}

.schedule-review {
  background: #fff;
  min-height: calc(100vh - 110px);
}

.schedule-review-content {
  padding: 16px 16px 70px;
}

.schedule-review-content > h1 {
  margin: 0 0 10px;
  font-family: inherit;
  font-size: 18px;
}

.schedule-review-service {
  border: 1px solid #d8d8d8;
  margin-bottom: 16px;
}

.schedule-review-service > h2 {
  border-bottom: 1px solid #d8d8d8;
  margin: 0;
  padding: 16px;
  font-family: inherit;
  font-size: 16px;
}

.schedule-review-columns {
  grid-template-columns: minmax(260px, .95fr) minmax(300px, 1.05fr) minmax(300px, 1fr);
  padding: 16px;
  display: grid;
}

.schedule-review-columns > section {
  border-right: 1px solid #e2e2e2;
  min-height: 295px;
  padding: 0 18px;
}

.schedule-review-columns > section:first-child {
  padding-left: 0;
}

.schedule-review-columns > section:last-child {
  border-right: 0;
  padding-right: 0;
}

.schedule-review-section-heading {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.schedule-review-section-heading h3 {
  margin: 0;
  font-family: inherit;
  font-size: 14px;
}

.schedule-review-section-heading button {
  color: #315cae;
  background: #fff;
  border: 1px solid #315cae;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  display: flex;
}

.schedule-review-section-heading svg {
  width: 15px;
  height: 15px;
}

.schedule-service-days {
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  display: flex;
}

.schedule-service-days > svg {
  color: #666;
  width: 17px;
  height: 17px;
}

.schedule-service-days span {
  font-size: 14px;
  font-weight: 600;
}

.schedule-service-time {
  margin-top: 20px;
  font-size: 14px;
  display: block;
}

.schedule-table-availability {
  margin-top: 16px;
}

.schedule-table-head, .schedule-table-row {
  grid-template-columns: minmax(115px, 1fr) 50px 50px 54px;
  display: grid;
}

.schedule-table-head {
  color: #666;
  background: #f7f7f7;
  padding: 8px 9px;
  font-size: 11px;
}

.schedule-table-head span:not(:first-child) {
  text-align: center;
}

.schedule-table-row {
  border-bottom: 1px solid #ddd;
  min-height: 146px;
  padding: 10px 9px;
}

.schedule-table-row > span {
  min-width: 0;
  padding-left: 20px;
  position: relative;
}

.schedule-table-row .swatch {
  width: 14px;
  height: 14px;
  position: absolute;
  top: 2px;
  left: 0;
}

.swatch-0 {
  background: #eea43b;
}

.swatch-1 {
  background: #4cb7a9;
}

.swatch-2 {
  background: #dce9f8;
}

.schedule-table-row strong {
  font-size: 13px;
  line-height: 1.35;
  display: block;
}

.schedule-table-row small {
  color: #666;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.3;
  display: block;
}

.schedule-table-row b {
  text-align: center;
  font-size: 13px;
}

.schedule-review-capacity > h3 {
  margin: 3px 0 14px;
  font-family: inherit;
  font-size: 14px;
}

.schedule-review-capacity dl {
  margin: 0;
}

.schedule-review-capacity dl > div {
  justify-content: space-between;
  margin-bottom: 9px;
  font-size: 13px;
  display: flex;
}

.schedule-review-capacity dt {
  color: #666;
}

.schedule-review-capacity dd {
  margin: 0;
}

.schedule-review-capacity em, .schedule-review-turns em {
  color: #3f7850;
  text-transform: uppercase;
  background: #e2f0e4;
  border: 1px solid #b7d2bd;
  border-radius: 2px;
  margin-left: 6px;
  padding: 2px 5px;
  font-size: 10px;
  font-style: normal;
}

.schedule-review-turns {
  border-top: 1px solid #ddd;
  margin-top: 16px;
  padding-top: 16px;
}

.schedule-review-turns h3 {
  margin: 0 0 14px;
  font-family: inherit;
  font-size: 14px;
}

.schedule-review-turns em {
  color: #315cae;
  background: #eef3fb;
  border-color: #cbd6e8;
}

.schedule-floor-summary {
  border: 1px solid #d8d8d8;
  padding: 16px;
}

.schedule-floor-summary > strong {
  margin-top: 20px;
  font-size: 14px;
  display: block;
}

.schedule-floor-summary dl {
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 18px 0 0;
  display: grid;
}

.schedule-floor-summary dl > div {
  justify-content: space-between;
  font-size: 13px;
  display: flex;
}

.schedule-floor-summary dd {
  margin: 0;
  font-weight: 600;
}

.schedule-publication-issues, .configuration-notice {
  margin: 14px 16px;
}

.availability-editor-layout .editor-footer {
  z-index: 26;
  background: #fff;
  border-top: 1px solid #ddd;
  justify-content: flex-end;
  gap: 10px;
  margin: 0;
  padding: 12px 18px;
  display: flex;
  position: sticky;
  bottom: 0;
}

.availability-editor-layout .editor-footer > [data-slot="button"]:first-child {
  margin-right: auto;
}

@media (max-width: 680px) {
  .schedule-flow-topbar {
    grid-template-columns: 52px 280px 144px;
    width: 476px;
  }

  .schedule-flow-topbar .editor-steps {
    grid-template-columns: repeat(4, 70px);
  }

  .schedule-flow-topbar .editor-steps button {
    padding: 0 7px;
    font-size: 13px;
    line-height: 1.15;
  }

  .availability-editor-layout {
    grid-template-columns: 300px 980px;
    width: 1280px;
  }

  .schedule-flow-help {
    min-height: calc(100vh - 60px);
  }

  .availability-editor-layout > .schedule-editor {
    min-width: 980px;
  }

  .schedule-review-status {
    height: 88px;
  }

  .schedule-review-status > div:first-child {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .schedule-review-status > div:first-child > strong {
    border: 0;
    margin-left: 10px;
    padding: 0;
  }

  .schedule-review-status > div:first-child > small {
    display: none;
  }
}

.workspace-status.success {
  color: #326a4b;
  background: #e4eee7;
  border-color: #4c8b67;
  align-items: center;
  gap: 7px;
  display: flex;
}

.workspace-status.success svg {
  width: 14px;
  height: 14px;
}

.dashboard-shell {
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}

.dashboard-main, .section-main, .availability-main {
  width: 100%;
  min-width: 0;
}

.dashboard-global-header {
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid #dedede;
  align-items: stretch;
  height: 48px;
  min-height: 48px;
  display: flex;
  position: sticky;
  top: 0;
}

.dashboard-global-brand {
  color: var(--burgundy);
  justify-content: center;
  align-items: center;
  width: 48px;
  text-decoration: none;
  display: flex;
}

.dashboard-global-brand .brand-mark > span {
  display: none;
}

.dashboard-global-brand .brand-mark svg {
  width: 22px;
  height: 22px;
}

.dashboard-global-nav {
  align-items: stretch;
  gap: 27px;
  height: 100%;
  display: flex;
}

.dashboard-global-nav a {
  color: #191919;
  white-space: nowrap;
  align-items: center;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  display: flex;
  position: relative;
}

.dashboard-global-nav a:after {
  background: var(--burgundy);
  content: "";
  opacity: 0;
  height: 3px;
  transition: all .14s;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scaleX(.65);
}

.dashboard-global-nav a:hover:after, .dashboard-global-nav a.active:after {
  opacity: 1;
  transform: scaleX(1);
}

.dashboard-global-actions {
  align-items: stretch;
  margin-left: auto;
  display: flex;
}

.dashboard-help, .dashboard-location {
  color: #222;
  background: none;
  border: 0;
  border-left: 1px solid #e6e6e6;
  align-items: center;
  display: flex;
}

.dashboard-access-denied {
  background: var(--cream);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 48px;
  min-height: 100vh;
  padding: 32px;
  display: flex;
}

.dashboard-access-denied .brand-mark {
  color: var(--burgundy);
}

.dashboard-access-denied section {
  text-align: center;
  background: #fff;
  border: 1px solid #e0d9d1;
  border-radius: 16px;
  flex-direction: column;
  align-items: center;
  max-width: 520px;
  padding: 42px;
  display: flex;
  box-shadow: 0 18px 50px #41241e14;
}

.dashboard-access-denied section > svg {
  color: var(--burgundy);
  width: 32px;
  height: 32px;
  margin-bottom: 20px;
}

.dashboard-access-denied p {
  color: var(--burgundy);
  font-size: var(--text-label);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 12px;
  font-weight: 700;
}

.dashboard-access-denied h1 {
  font-family: var(--serif);
  letter-spacing: -.03em;
  margin: 0;
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 400;
}

.dashboard-access-denied section > span {
  color: #6f6760;
  margin: 18px 0 26px;
  font-size: 14px;
  line-height: 1.6;
}

.dashboard-access-denied section > a {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-small);
  border-radius: 8px;
  padding: 11px 18px;
  text-decoration: none;
}

.dashboard-help {
  font-size: var(--text-small);
  gap: 6px;
  width: 74.5px;
  margin-right: 8px;
  padding: 0 12px;
}

.dashboard-help svg {
  width: 15px;
  height: 15px;
}

.dashboard-support-dialog nav {
  gap: 10px;
  margin-top: 8px;
  display: grid;
}

.dashboard-support-dialog nav > a {
  color: #222;
  border: 1px solid #dedede;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 68px;
  padding: 12px 14px;
  text-decoration: none;
  display: flex;
}

.dashboard-support-dialog nav > a:hover {
  border-color: var(--blue);
}

.dashboard-support-dialog nav span {
  gap: 4px;
  display: grid;
}

.dashboard-support-dialog nav strong {
  font-size: 14px;
}

.dashboard-support-dialog nav small {
  color: #686868;
  font-size: var(--text-small);
}

.dashboard-support-dialog nav svg {
  color: var(--blue);
  width: 18px;
  height: 18px;
}

.dashboard-location {
  text-align: left;
  flex: 0 0 266px;
  gap: 9px;
  max-width: 266px;
  padding: 0 13px;
}

.dashboard-location > span:first-child {
  background: var(--cream);
  color: var(--burgundy);
  font-family: var(--serif);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
}

.dashboard-location > span:last-child {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.dashboard-location strong, .dashboard-location small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.dashboard-location strong {
  font-size: var(--text-label);
}

.dashboard-location small {
  color: #6f6f6f;
  font-size: var(--text-caption);
  margin-top: 1px;
}

.dashboard-location-chevron {
  color: #777;
  width: 14px;
  height: 14px;
  margin-left: auto;
}

.dashboard-location-menu {
  min-width: 280px;
}

.dashboard-location-menu [data-slot="dropdown-menu-label"] {
  flex-direction: column;
  gap: 3px;
  padding: 10px;
  display: flex;
}

.dashboard-location-menu [data-slot="dropdown-menu-label"] strong {
  font-size: var(--text-label);
}

.dashboard-location-menu [data-slot="dropdown-menu-label"] span {
  color: #777;
  font-size: var(--text-caption);
  font-weight: 400;
}

.dashboard-location-menu .dashboard-location-section-label {
  color: #857b73;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 9px 10px 5px;
  font-size: 10px;
  font-weight: 700;
  display: block;
}

.dashboard-location-menu [data-slot="dropdown-menu-item"] {
  gap: 10px;
  min-height: 50px;
  padding: 7px 10px;
}

.dashboard-location-menu [data-slot="dropdown-menu-item"] > span {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.dashboard-location-menu [data-slot="dropdown-menu-item"] strong, .dashboard-location-menu [data-slot="dropdown-menu-item"] small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.dashboard-location-menu [data-slot="dropdown-menu-item"] strong {
  font-size: var(--text-label);
}

.dashboard-location-menu [data-slot="dropdown-menu-item"] small {
  color: #777;
  font-size: var(--text-caption);
}

.dashboard-global-actions .global-controls {
  border-left: 1px solid #e6e6e6;
  gap: 0;
}

.dashboard-global-actions .global-search-trigger {
  background: none;
  border: 0;
  border-radius: 0;
  justify-content: center;
  width: 48px;
  height: 47px;
  padding: 0;
  font-size: 0;
}

.dashboard-global-actions .global-search-trigger kbd {
  display: none;
}

.dashboard-global-actions .global-icon-button, .dashboard-global-actions .account-trigger {
  background: none;
  border: 0;
  border-left: 1px solid #e6e6e6;
  border-radius: 0;
  width: 48px;
  height: 47px;
}

.dashboard-global-actions .account-trigger svg {
  width: 16px;
  height: 16px;
}

.dashboard-availability-state {
  background: var(--burgundy);
  color: #fff;
  justify-content: center;
  align-items: center;
  width: 48px;
  display: flex;
}

.dashboard-availability-state svg {
  width: 17px;
  height: 17px;
}

@media (max-width: 820px) {
  .dashboard-global-header {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
  }

  .dashboard-global-brand {
    flex: 0 0 40px;
    width: 40px;
  }

  .dashboard-global-nav {
    contain: inline-size;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    flex: auto;
    gap: 18px;
    min-width: 0;
    max-width: calc(100vw - 124px);
    padding: 0 8px;
    overflow-x: auto;
  }

  .dashboard-global-nav::-webkit-scrollbar {
    display: none;
  }

  .dashboard-global-nav a {
    font-size: var(--text-small);
  }

  .dashboard-global-actions {
    flex: none;
  }

  .dashboard-help, .dashboard-location {
    display: none;
  }

  .dashboard-global-actions .global-controls {
    border-left: 1px solid #e6e6e6;
    display: flex;
  }

  .dashboard-global-actions .global-search-trigger {
    display: none;
  }

  .dashboard-global-actions .account-trigger {
    width: 42px;
    display: flex;
  }

  .dashboard-availability-state {
    width: 42px;
  }
}

.global-controls {
  align-items: center;
  gap: 6px;
  display: flex;
}

.global-search-trigger {
  color: #766b63;
  font-size: var(--text-caption);
  background: #f5f1ec;
  border: 1px solid #ddd5cd;
  border-radius: 7px;
  align-items: center;
  gap: 6px;
  height: 33px;
  padding: 0 8px;
  display: flex;
}

.global-search-trigger > svg {
  height: 14px;
}

.global-search-trigger kbd {
  font-size: var(--text-caption);
  background: #e8e2db;
  border-radius: 4px;
  align-items: center;
  gap: 2px;
  margin-left: 6px;
  padding: 3px 5px;
  display: flex;
}

.global-search-trigger kbd svg {
  height: 9px;
}

.global-icon-button, .account-trigger {
  background: #fffdf9;
  border: 1px solid #ddd5cd;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 33px;
  height: 33px;
  display: flex;
  position: relative;
}

.global-icon-button svg {
  height: 15px;
}

.global-icon-button i {
  background: var(--terracotta);
  color: #fff;
  font: 600 6px var(--font-geist-mono);
  border: 2px solid #fffdf9;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  display: flex;
  position: absolute;
  top: -5px;
  right: -4px;
}

.account-trigger span {
  background: var(--cream);
  color: var(--burgundy);
  font-size: var(--text-caption);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 23px;
  height: 23px;
  display: flex;
}

.alerts-menu, .account-menu {
  background: #fffdf9 !important;
  min-width: 270px !important;
  padding: 7px !important;
}

.alerts-menu [data-slot="dropdown-menu-label"], .account-menu [data-slot="dropdown-menu-label"] {
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 3px;
  padding: 8px;
  display: flex;
}

.account-menu [data-slot="dropdown-menu-label"] span {
  color: #8b8077;
  font-size: var(--text-caption);
  font-weight: 400;
}

.alerts-menu [data-slot="dropdown-menu-item"], .account-menu [data-slot="dropdown-menu-item"], .account-menu [data-slot="dropdown-menu-checkbox-item"] {
  font-size: var(--text-caption);
  min-height: 35px;
  padding: 6px 8px;
  text-decoration: none;
}

.dashboard-alert-pulse {
  background: var(--blue);
  align-items: center;
  animation: 1.1s ease-in-out infinite alternate dashboard-alert-pulse;
}

@supports (color: color-mix(in lab, red, red)) {
  .dashboard-alert-pulse {
    background: color-mix(in srgb, var(--blue) 96%, #fff 4%);
  }
}

.dashboard-alert-pulse {
  color: #fff;
  text-align: center;
  z-index: 120;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  display: flex;
  position: fixed;
  inset: 48px 0 0;
}

.dashboard-alert-pulse > svg {
  width: 34px;
  height: 34px;
}

.dashboard-alert-pulse strong {
  font: 650 28px/1.15 var(--font-dm-sans);
}

.dashboard-alert-pulse span {
  font-size: var(--text-body);
}

.dashboard-alert-pulse button {
  color: var(--blue);
  cursor: pointer;
  background: #fff;
  border: 0;
  border-radius: 6px;
  min-height: 38px;
  margin-top: 8px;
  padding: 0 18px;
  font-weight: 700;
}

@keyframes dashboard-alert-pulse {
  from {
    background-color: var(--blue);
  }

  to {
    background-color: #3472a0;
  }
}

.account-page-main {
  background: #f5f3f0;
  padding: 12px;
  overflow: auto;
}

.account-page-card {
  background: #fff;
  border: 1px solid #eee9e4;
  border-radius: 8px;
  min-height: calc(100vh - 72px);
  padding: 0 20px 40px;
}

.account-page-card > header {
  border-bottom: 1px solid #e8e5e1;
  justify-content: space-between;
  align-items: center;
  min-height: 62px;
  display: flex;
}

.account-page-card h1 {
  font: 650 22px/1.2 var(--font-dm-sans);
  margin: 0;
}

.account-page-body {
  gap: 16px;
  max-width: 440px;
  padding-top: 24px;
  display: grid;
}

.account-page-body h2 {
  font: 650 var(--text-body)/1.2 var(--font-dm-sans);
  margin: 0 0 4px;
}

.account-page-body > label, .account-phone-row label {
  gap: 7px;
  display: grid;
}

.account-page-body label > span {
  color: #423c37;
  font-size: var(--text-caption);
  font-weight: 650;
}

.account-page-body input, .account-page-body select {
  background: #fff;
  border: 1px solid #d8d4cf;
  border-radius: 4px;
  min-height: 40px;
}

.account-page-body select {
  padding: 0 10px;
}

.account-phone-row {
  grid-template-columns: 90px 1fr;
  gap: 8px;
  display: grid;
}

.account-page-error {
  color: #8a2e23;
  font-size: var(--text-caption);
  background: #fff0ed;
  border: 1px solid #e3aaa0;
  border-radius: 8px;
  margin: 0;
  padding: 10px 12px;
}

.account-security-card {
  border: 1px solid #dedbd7;
  border-radius: 4px;
  margin-top: 10px;
}

.account-security-card > div {
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.account-security-card strong {
  font-size: var(--text-label);
}

.account-security-card p {
  color: #736a63;
  font-size: var(--text-caption);
  border-top: 1px solid #ece9e5;
  margin: 0;
  padding: 14px;
  line-height: 1.5;
}

.alerts-menu [data-slot="dropdown-menu-item"] > span:nth-child(2) {
  flex-direction: column;
  display: flex;
}

.alerts-menu strong {
  font-size: var(--text-caption);
}

.alerts-menu small {
  color: #8d8178;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.alert-dot {
  background: var(--terracotta);
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.alert-dot.no_show {
  background: #9b493d;
}

.alert-dot.notify {
  background: var(--blue);
}

.menu-empty {
  color: #8d8178;
  font-size: var(--text-caption);
  text-align: center;
  margin: 0;
  padding: 22px;
}

.global-search-dialog {
  overflow: hidden;
  background: #fffdf9 !important;
  gap: 0 !important;
  max-width: 620px !important;
  padding: 0 !important;
  top: 18% !important;
  transform: translate(-50%) !important;
}

.global-search-dialog > [data-slot="dialog-title"], .global-search-dialog > [data-slot="dialog-description"] {
  display: none;
}

.global-search-input {
  border-bottom: 1px solid var(--line);
  align-items: center;
  height: 58px;
  display: flex;
  position: relative;
}

.global-search-input svg {
  color: #8b8077;
  height: 18px;
  position: absolute;
  left: 18px;
}

.global-search-input input {
  background: none;
  border: 0;
  outline: none;
  width: 100%;
  height: 100%;
  padding: 0 50px;
  font-size: 14px;
}

.global-search-results {
  max-height: 420px;
  padding: 8px;
  overflow-y: auto;
}

.global-search-results > a {
  color: inherit;
  border-radius: 7px;
  grid-template-columns: 31px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 52px;
  padding: 7px 10px;
  text-decoration: none;
  display: grid;
}

.global-search-results > a:hover, .global-search-results > a:focus {
  background: #f0e9df;
}

.global-search-results > a > svg, .search-route-icon {
  color: var(--burgundy);
  background: #ece6df;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 31px;
  height: 31px;
  padding: 8px;
  display: flex;
}

.search-route-icon svg {
  height: 15px;
}

.global-search-results > a > span:last-child {
  grid-template-columns: 1fr auto;
  display: grid;
}

.global-search-results small {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  grid-column: 1 / -1;
}

.global-search-results strong {
  font-size: var(--text-caption);
  margin-top: 2px;
}

.global-search-results i {
  color: #8c8178;
  font-size: var(--text-caption);
  font-style: normal;
}

.search-state {
  color: #8d8178;
  font-size: var(--text-caption);
  text-align: center;
  padding: 38px;
}

.global-search-dialog footer {
  border-top: 1px solid var(--line);
  background: #f3efe9;
  gap: 14px;
  padding: 9px 14px;
  display: flex;
}

.global-search-dialog footer span {
  color: #8c8178;
  font-size: var(--text-caption);
}

.global-search-dialog footer kbd {
  color: #645a53;
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 3px;
  padding: 2px 4px;
}

.dashboard-dark .dashboard-shell, .dashboard-dark .section-canvas, .dashboard-dark .timeline-view, .dashboard-dark .floor-view, .dashboard-dark .snapshot-titlebar, .dashboard-dark .snapshot-kpis, .dashboard-dark .snapshot-body {
  color: #f1e9df;
  background: #191716;
}

.dashboard-dark .dashboard-topbar, .dashboard-dark .section-topbar, .dashboard-dark .view-toolbar, .dashboard-dark .service-overview, .dashboard-dark .guest-rail {
  background: #211e1c;
  border-color: #3a3532;
}

.dashboard-dark .workspace-subnav {
  background: #24211f;
  border-color: #3a3532;
}

.dashboard-dark .workspace-subnav button {
  color: #b8ada4;
}

.dashboard-dark .workspace-subnav button.active {
  color: #f0d8d0;
  background: #352f2c;
}

.dashboard-dark .data-table-wrap, .dashboard-dark .data-toolbar, .dashboard-dark .canvas-heading, .dashboard-dark .section-canvas {
  border-color: #3a3532;
}

.dashboard-dark .data-table-wrap td strong, .dashboard-dark .canvas-heading h2, .dashboard-dark .section-title h1 {
  color: #f5eee6;
}

.dashboard-dark .data-table-wrap [data-slot="table-row"] {
  border-color: #393431;
}

.dashboard-dark .clickable-row:hover {
  background: #302a27 !important;
}

.dashboard-dark .global-search-trigger, .dashboard-dark .global-icon-button, .dashboard-dark .account-trigger {
  color: #d5cac1;
  background: #2a2522;
  border-color: #443d39;
}

.dashboard-compact .section-topbar, .dashboard-compact .dashboard-topbar {
  height: 55px;
  min-height: 55px;
}

.dashboard-compact .section-workspace {
  min-height: calc(100vh - 55px);
}

.dashboard-compact .workspace-subnav {
  min-height: calc(100vh - 55px);
  padding-top: 12px;
}

.dashboard-compact .data-table-wrap [data-slot="table-cell"] {
  height: 42px;
}

.dashboard-compact .reservation-item {
  min-height: 49px;
}

.dashboard-compact .service-overview {
  min-height: 55px;
}

.section-main {
  min-height: 100vh;
}

.dashboard-section-denied {
  text-align: center;
  background: #f7f4ef;
  align-content: center;
  justify-items: center;
  padding: 40px 20px;
  display: grid;
}

.dashboard-section-denied > svg {
  color: var(--burgundy);
  width: 32px;
  height: 32px;
  margin-bottom: 16px;
}

.dashboard-section-denied h1 {
  font: 650 24px/1.2 var(--font-dm-sans);
  margin: 0;
}

.dashboard-section-denied p {
  color: #746b64;
  max-width: 480px;
  margin: 12px 0 20px;
  line-height: 1.55;
}

.dashboard-section-denied a {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-label);
  border-radius: 6px;
  padding: 10px 16px;
  font-weight: 700;
  text-decoration: none;
}

.section-topbar {
  border-bottom: 1px solid var(--line);
  z-index: 15;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #fffdf9f2;
  align-items: center;
  gap: 18px;
  min-height: 56px;
  padding: 0 22px;
  display: flex;
  position: sticky;
  top: 48px;
}

.section-menu, .section-mobile-brand {
  display: none;
}

.section-title {
  flex-direction: column;
  min-width: 185px;
  display: flex;
}

.section-title span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
}

.section-title h1 {
  font-family: var(--serif);
  margin: 4px 0 0;
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
}

.section-search {
  background: #f2eee8;
  border: 1px solid #e1dad3;
  border-radius: 7px;
  align-items: center;
  width: 34%;
  max-width: 340px;
  height: 34px;
  margin-left: auto;
  display: flex;
  position: relative;
}

.section-search svg {
  color: #91867d;
  height: 14px;
  position: absolute;
  left: 10px;
}

.section-search input {
  font-size: var(--text-caption);
  background: none;
  border: 0;
  outline: none;
  width: 100%;
  height: 100%;
  padding: 0 10px 0 31px;
}

.section-actions {
  align-items: center;
  gap: 7px;
  display: flex;
}

.section-actions [data-slot="button"] {
  font-size: var(--text-caption);
  height: 34px;
}

.section-actions svg {
  height: 14px;
}

.section-workspace {
  grid-template-columns: 212px minmax(0, 1fr);
  min-height: calc(100vh - 104px);
  display: grid;
}

.workspace-subnav {
  background: #f0ece7;
  border-right: 1px solid #dcd4cc;
  min-height: calc(100vh - 104px);
  padding: 20px 11px;
}

.subnav-heading {
  flex-direction: column;
  padding: 0 8px 16px;
  display: flex;
}

.subnav-heading strong {
  font-size: var(--text-label);
}

.subnav-heading span {
  color: #93877f;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.workspace-subnav nav {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.workspace-subnav nav > div {
  flex-direction: column;
  display: flex;
}

.workspace-subnav nav p {
  color: #9a8e85;
  font-size: var(--text-caption);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin: 15px 8px 5px;
  font-weight: 700;
}

.workspace-subnav button {
  color: #6d625b;
  font-size: var(--text-caption);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 6px;
  min-height: 32px;
  padding: 0 9px;
}

.workspace-subnav button:hover {
  background: #ffffff8c;
}

.workspace-subnav button.active {
  color: var(--burgundy);
  background: #fff;
  font-weight: 650;
  box-shadow: 0 1px 3px #31211b12;
}

.operations-workspace {
  grid-template-columns: 276px minmax(0, 1fr);
  min-height: calc(100vh - 48px);
}

.operations-workspace .workspace-subnav {
  background: #f5f5f5;
  min-height: calc(100vh - 48px);
  padding: 16px;
}

.operations-workspace .workspace-subnav nav {
  gap: 4px;
}

.operations-workspace .workspace-subnav button, .operations-workspace .workspace-subnav a {
  color: #211d1b;
  border-radius: 4px;
  align-items: center;
  min-height: 32px;
  margin-right: 4px;
  padding: 0 9px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.operations-workspace .workspace-subnav button.active, .operations-workspace .workspace-subnav a.active {
  background: var(--burgundy);
  box-shadow: none;
  color: #fff;
}

.operations-workspace .section-canvas {
  background: #fff;
  margin-right: 16px;
  padding: 34px 24px;
}

.operations-workspace .operations-canvas-heading {
  border-bottom: 1px solid var(--line);
  align-items: center;
  min-height: 73px;
  margin-bottom: 25px;
}

.operations-workspace .operations-canvas-heading h1 {
  letter-spacing: -.02em;
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  transform: translateY(-8px);
}

.section-canvas {
  background: #fffdf9;
  min-width: 0;
  padding: 24px;
}

.canvas-heading {
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 22px;
  display: flex;
}

.canvas-heading > div:first-child {
  flex-direction: column;
  display: flex;
}

.canvas-heading span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 650;
}

.canvas-heading h2 {
  font-family: var(--serif);
  letter-spacing: -.03em;
  margin: 5px 0 4px;
  font-size: 30px;
  font-weight: 400;
}

.canvas-heading p {
  color: #847970;
  font-size: var(--text-caption);
  margin: 0;
}

.topbar-date {
  border: 1px solid var(--line);
  border-radius: 6px;
  align-items: center;
  height: 34px;
  padding: 0 7px;
  display: flex;
  position: relative;
}

.topbar-date svg {
  height: 14px;
}

.topbar-date input {
  cursor: pointer;
  opacity: 0;
  width: 100%;
  position: absolute;
  inset: 0;
}

.data-toolbar {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  min-height: 52px;
  padding: 8px 0;
  display: flex;
}

.data-toolbar > div {
  align-items: center;
  gap: 7px;
  display: flex;
}

.data-toolbar select, .report-filters select, .report-filters input, .chit-controls select {
  color: #5f554f;
  font-size: var(--text-caption);
  background: #fffdf9;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  height: 32px;
  padding: 0 27px 0 9px;
}

.data-toolbar > div > span {
  color: #8d8178;
  font-size: var(--text-caption);
}

.data-toolbar button, .pagination button {
  color: #665b54;
  font-size: var(--text-caption);
  background: #fff;
  border: 1px solid #d8d0c8;
  border-radius: 6px;
  align-items: center;
  gap: 5px;
  height: 31px;
  padding: 0 9px;
  display: flex;
}

.data-toolbar button svg {
  height: 13px;
}

.data-toolbar button:disabled {
  opacity: .45;
}

.notify-report, .operations-report {
  position: relative;
}

.operations-report-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin-top: -92px;
  padding-bottom: 49px;
  display: flex;
}

.operations-report-actions button {
  border-radius: 4px;
  height: 44px;
  padding-inline: 16px;
  font-size: 14px;
}

.operations-report-actions button:first-child {
  width: 124px;
}

.operations-report-actions button:last-child {
  width: 89px;
}

.operations-report-actions button {
  border-color: var(--blue);
  color: var(--blue);
}

.operations-report-actions svg, .reservation-date-row svg {
  height: 15px;
}

.reservation-date-row {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 11px;
  display: flex;
}

.reservation-date-range {
  color: #25211f;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  align-items: center;
  min-width: 216px;
  height: 36px;
  padding: 0 12px;
  font-size: 14px;
  display: flex;
  position: relative;
}

.reservation-date-range-trigger {
  border-radius: 3px;
  width: 216px;
  height: 36px;
  font-size: 14px;
}

.unassigned-date-trigger.reservation-date-range-trigger {
  height: 36px;
}

.fulfillment-report .reservation-date-row {
  margin-bottom: 9px;
}

.fulfillment-report .reservation-filter-grid {
  margin-bottom: 39px;
}

.reservation-date-range input {
  cursor: pointer;
  opacity: 0;
  position: absolute;
  inset: 0;
}

.reservation-filter-grid {
  grid-template-columns: repeat(7, minmax(100px, 1fr));
  gap: 7px;
  margin-bottom: 37px;
  display: grid;
}

.reservation-filter-grid label {
  color: #5f5a56;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  display: grid;
}

.reservation-filter-grid select {
  color: #211d1b;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  min-width: 0;
  height: 48px;
  padding: 0 11px;
  font-size: 14px;
}

.operations-wide-table {
  border: 1px solid var(--line);
  min-height: 120px;
}

.data-table-wrap.operations-wide-table [data-slot="table"] {
  table-layout: fixed;
  min-width: 2160px;
  font-size: 14px;
}

.data-table-wrap.operations-wide-table [data-slot="table-head"] {
  color: #221f1d;
  letter-spacing: 0;
  text-transform: none;
  background: #f6f6f6;
  height: 57px;
  font-size: 14px;
  font-weight: 500;
}

.operations-wide-table thead tr {
  height: 56px;
}

.data-table-wrap.operations-wide-table [data-slot="table-cell"] {
  height: 52px;
  font-size: 14px;
  line-height: 20px;
}

.data-table-wrap.operations-wide-table td strong {
  font-size: 14px;
  font-weight: 600;
}

.data-table-wrap.operations-wide-table td small {
  font-size: var(--text-small);
  line-height: 16px;
}

.operations-wide-table th, .operations-wide-table td {
  border-right: 1px solid var(--line);
  width: 120px;
  min-width: 120px;
}

.operations-wide-table th {
  white-space: normal !important;
}

.operations-wide-table td {
  text-overflow: ellipsis;
  overflow: hidden;
}

.operations-wide-table .notify-sort {
  justify-content: space-between;
  width: 100%;
}

.data-table-wrap.fulfillment-wide-table {
  min-height: 130px;
}

.data-table-wrap.fulfillment-wide-table.is-empty {
  height: 120px;
  min-height: 120px;
  overflow-y: hidden;
}

.data-table-wrap.operations-wide-table.fulfillment-delivery-table [data-slot="table"] {
  min-width: 1680px;
}

.data-table-wrap.operations-wide-table.fulfillment-pickup-table [data-slot="table"] {
  min-width: 1200px;
}

.data-table-wrap.operations-wide-table.fulfillment-pickup-table [data-slot="table-head"], .data-table-wrap.operations-wide-table.fulfillment-pickup-table thead tr {
  height: 48px;
}

.fulfillment-empty {
  border-top: 1px solid var(--line);
  color: #24211f;
  align-items: center;
  height: 72px;
  padding: 0 25px;
  font-size: 14px;
  display: flex;
}

.fulfillment-sort-head {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.fulfillment-sort-head > span:first-child {
  text-align: left;
  white-space: normal;
}

.fulfillment-sort-actions {
  margin-left: 5px;
  display: grid;
}

.fulfillment-sort-actions button {
  color: #aaa;
  width: 14px;
  height: 12px;
  line-height: 0;
}

.fulfillment-sort-actions button.active {
  color: #222;
}

.fulfillment-sort-actions svg {
  width: 12px;
  height: 12px;
}

.fulfillment-row-link {
  color: var(--blue);
  text-align: left;
  text-underline-offset: 2px;
  font-weight: 600;
  -webkit-text-decoration: underline #0000;
  text-decoration: underline #0000;
}

.fulfillment-row-link:hover, .fulfillment-row-link:focus-visible {
  text-decoration-color: currentColor;
}

.fulfillment-inspector {
  gap: 0 !important;
  width: min(520px, 100vw) !important;
  max-width: 520px !important;
}

.fulfillment-inspector > [data-slot="sheet-header"] {
  border-bottom: 1px solid #ddd;
  padding: 20px 24px;
}

.fulfillment-inspector-status {
  color: #666;
  font-size: var(--text-small);
  align-items: center;
  gap: 10px;
  display: flex;
}

.fulfillment-inspector-body {
  flex: 1;
  min-height: 0;
  padding: 22px 24px;
  overflow-y: auto;
}

.fulfillment-inspector-body section {
  margin-bottom: 24px;
}

.fulfillment-inspector-body h3 {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  display: flex;
}

.fulfillment-inspector-body h3 svg {
  width: 15px;
  height: 15px;
}

.fulfillment-inspector-body dl {
  gap: 8px;
  margin: 0;
  display: grid;
}

.fulfillment-inspector-body dl div, .fulfillment-total {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.fulfillment-inspector-body dt, .fulfillment-inspector-body p, .fulfillment-inspector-body label {
  color: #666;
  font-size: var(--text-small);
}

.fulfillment-inspector-body dd {
  color: #222;
  font-size: var(--text-small);
  margin: 0;
}

.fulfillment-inspector-body label:not(.offering-inline-check) {
  flex-direction: column;
  gap: 5px;
  margin-top: 12px;
  display: flex;
}

.fulfillment-item-list {
  border-bottom: 1px solid #ddd;
  margin: 0 0 12px;
  padding: 0 0 6px;
  list-style: none;
}

.fulfillment-item-list li {
  font-size: var(--text-small);
  justify-content: space-between;
  padding: 7px 0;
  display: flex;
}

.fulfillment-item-list strong, .fulfillment-total strong {
  font-weight: 600;
}

.fulfillment-note-field textarea {
  resize: vertical;
  border: 1px solid #ccc;
  min-height: 74px;
  padding: 8px;
}

.fulfillment-inspector-footer {
  border-top: 1px solid #ddd;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center !important;
  padding: 14px 20px !important;
  display: flex !important;
}

.unassigned-report {
  margin-top: -8px;
}

.operations-unassigned-canvas .operations-canvas-heading {
  min-height: 62px;
}

.operations-unassigned-canvas .operations-canvas-heading h1 {
  transform: translateY(-10px);
}

.unassigned-filters {
  align-items: end;
  gap: 16px;
  display: flex;
}

.unassigned-filters > label {
  gap: 4px;
  display: grid;
}

.unassigned-filters > label > span {
  color: #171717;
  font-size: var(--text-small);
  font-weight: 500;
  line-height: 16px;
}

.unassigned-date-trigger, .unassigned-filters select {
  color: #171717;
  text-align: left;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  justify-content: space-between;
  align-items: center;
  height: 44px;
  padding: 0 12px;
  font-size: 15px;
  display: flex;
}

.unassigned-date-trigger {
  width: 216px;
}

.unassigned-date-trigger svg {
  width: 14px;
  height: 14px;
}

.unassigned-date-trigger:focus-visible {
  border-color: var(--burgundy);
  outline: 0;
}

.unassigned-filters select {
  width: 154px;
  min-width: 154px;
}

.unassigned-selection-actions {
  align-items: center;
  gap: 12px;
  margin-left: auto;
  display: flex;
}

.unassigned-selection-actions > span {
  color: #666;
  font-size: 13px;
}

.unassigned-selection-actions [data-slot="button"] {
  border-radius: 3px;
  height: 36px;
}

.unassigned-selection-actions svg {
  width: 14px;
  height: 14px;
}

.unassigned-grid-wrap {
  border: 1px solid #d8d8d8;
  min-height: 248px;
  margin-top: 16px;
  position: relative;
}

.unassigned-grid-wrap [data-slot="table"] {
  table-layout: fixed;
}

.unassigned-grid-wrap [data-slot="table-container"] {
  overflow: hidden;
}

.unassigned-grid-wrap [data-slot="table-head"] {
  color: #171717;
  text-transform: none;
  background: #f7f7f7;
  border-right: 0;
  height: 48px;
  padding: 0 24px;
  font-size: 15px;
  font-weight: 600;
}

.unassigned-grid-wrap [data-slot="table-head"] button {
  font: inherit;
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  display: flex;
  overflow: hidden;
}

.unassigned-grid-wrap [data-slot="table-head"] button span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.unassigned-grid-wrap [data-slot="table-head"] button svg {
  width: 13px;
  min-width: 13px;
  height: 13px;
  margin-left: auto;
}

.unassigned-grid-wrap [data-slot="table-head"]:first-child {
  width: 48px;
}

.unassigned-grid-wrap [data-slot="table-head"]:nth-child(2) {
  width: 170px;
}

.unassigned-grid-wrap [data-slot="table-head"]:nth-child(3), .unassigned-grid-wrap [data-slot="table-head"]:nth-child(4), .unassigned-grid-wrap [data-slot="table-head"]:nth-child(7) {
  width: 145px;
}

.unassigned-grid-wrap [data-slot="table-head"]:nth-child(5) {
  width: 100px;
}

.unassigned-grid-wrap [data-slot="table-head"]:nth-child(6) {
  width: 205px;
}

.unassigned-grid-wrap [data-slot="table-head"]:nth-child(8) {
  width: 88px;
}

.unassigned-grid-wrap [data-slot="table-cell"] {
  text-overflow: ellipsis;
  height: 48px;
  padding: 0 24px;
  font-size: 14px;
  overflow: hidden;
}

.unassigned-grid-wrap [data-slot="table-head"]:first-child, .unassigned-grid-wrap [data-slot="table-cell"]:first-child {
  padding-left: 16px;
  padding-right: 8px;
}

.unassigned-grid-wrap [data-slot="table-head"]:last-child, .unassigned-grid-wrap [data-slot="table-cell"]:last-child {
  text-align: right;
  padding-left: 8px;
  padding-right: 12px;
}

.unassigned-grid-wrap [data-slot="table-row"][data-state="selected"] {
  background: var(--champagne);
}

@supports (color: color-mix(in lab, red, red)) {
  .unassigned-grid-wrap [data-slot="table-row"][data-state="selected"] {
    background: color-mix(in srgb, var(--champagne) 45%, white);
  }
}

.unassigned-grid-wrap [data-slot="table-cell"]:last-child [data-slot="button"] {
  color: var(--burgundy);
  padding-inline: 8px;
  font-weight: 600;
}

.unassigned-assignment-dialog {
  max-width: 640px;
  max-height: min(720px, 100vh - 32px);
  padding: 24px;
  overflow: hidden;
}

.unassigned-assignment-dialog [data-slot="dialog-title"] {
  font-size: 20px;
}

.unassigned-assignment-dialog [data-slot="dialog-footer"] {
  margin: 0 -24px -24px;
  padding: 16px 24px;
}

.unassigned-assignment-list {
  gap: 0;
  max-height: 430px;
  margin: 4px -24px;
  display: grid;
  overflow-y: auto;
}

.unassigned-assignment-row {
  border-top: 1px solid #e4e4e4;
  grid-template-columns: minmax(0, 1fr) 260px;
  align-items: center;
  gap: 20px;
  padding: 14px 24px;
  display: grid;
}

.unassigned-assignment-row:last-child {
  border-bottom: 1px solid #e4e4e4;
}

.unassigned-assignment-row > div:first-child {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.unassigned-assignment-row strong, .unassigned-assignment-row span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.unassigned-assignment-row span {
  color: #666;
  font-size: 13px;
}

.unassigned-assignment-row [data-slot="select-trigger"] {
  border-radius: 3px;
  width: 100%;
}

.unassigned-assignment-error {
  color: #9b1c31;
  margin: 0;
  font-size: 13px;
}

.unassigned-empty {
  color: #6e6e6e;
  justify-content: center;
  align-items: center;
  height: 150px;
  font-size: 16px;
  display: flex;
}

.unassigned-pagination {
  color: #666;
  border-top: 1px solid #d8d8d8;
  justify-content: flex-end;
  align-items: center;
  height: 48px;
  padding: 0 18px;
  display: flex;
}

.unassigned-pagination > span:first-child {
  margin-right: 44px;
}

.unassigned-pagination > span:not(:first-child) {
  margin: 0 8px;
}

.unassigned-pagination [data-slot="button"] {
  color: #666;
  border-radius: 0;
  width: 36px;
  height: 36px;
}

.unassigned-pagination svg {
  width: 14px;
  height: 14px;
}

.unassigned-date-popover {
  background: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 0;
  grid-template-columns: 332px 152px;
  align-items: stretch;
  gap: 0;
  width: 508px;
  padding: 12px;
  display: grid;
  box-shadow: 0 2px 4px #00000024;
}

.unassigned-calendar-pane {
  border-right: 1px solid #d8d8d8;
  padding-right: 12px;
}

.unassigned-calendar-pane [data-slot="calendar"] {
  --cell-size: 46px;
  padding: 0;
}

.unassigned-calendar-pane .rdp-month {
  gap: 0;
}

.unassigned-calendar-pane .rdp-month_caption, .unassigned-calendar-pane .rdp-nav {
  height: 44px;
}

.unassigned-calendar-pane .rdp-week {
  margin-top: 0;
}

.unassigned-calendar-pane .rdp-weekdays {
  align-items: center;
  height: 46px;
}

.unassigned-calendar-pane .rdp-weekday {
  color: #171717;
  font-size: 14px;
  font-weight: 600;
}

.unassigned-calendar-pane [data-selected-single="true"], .unassigned-calendar-pane [data-range-start="true"], .unassigned-calendar-pane [data-range-end="true"] {
  background: var(--burgundy);
  border-radius: 0 !important;
}

.unassigned-date-inputs {
  grid-template-columns: 99px 12px 99px;
  align-items: center;
  gap: 30px;
  width: 270px;
  margin: 18px 0 6px 25px;
  display: grid;
}

.unassigned-date-inputs input {
  border: 1px solid #d8d8d8;
  border-radius: 0;
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 8px;
  font-size: 14px;
}

.unassigned-date-presets {
  grid-auto-rows: 36px;
  align-content: start;
  gap: 6px;
  padding-left: 13px;
  display: grid;
}

.unassigned-date-presets [data-slot="button"] {
  border-radius: 0;
  width: 136px;
  height: 36px;
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 760px) {
  .unassigned-filters {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    display: grid;
  }

  .unassigned-date-trigger, .unassigned-filters select {
    width: 100%;
    min-width: 0;
  }

  .unassigned-selection-actions {
    grid-column: 1 / -1;
    justify-content: space-between;
    margin-left: 0;
  }

  .unassigned-grid-wrap [data-slot="table-container"] {
    overflow-x: auto;
  }

  .unassigned-grid-wrap [data-slot="table"] {
    min-width: 1046px;
  }

  .unassigned-assignment-dialog {
    max-width: calc(100% - 24px);
    padding: 20px;
  }

  .unassigned-assignment-list {
    margin-inline: -20px;
  }

  .unassigned-assignment-row {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
    padding-inline: 20px;
  }

  .unassigned-assignment-dialog [data-slot="dialog-footer"] {
    margin: 0 -20px -20px;
    padding: 14px 20px;
  }
}

@media (max-width: 1050px) {
  .reservation-filter-grid {
    grid-template-columns: repeat(3, minmax(130px, 1fr));
  }
}

.notify-report-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  min-height: 43px;
  margin-top: -65px;
  padding-bottom: 20px;
  display: flex;
}

.notify-report-actions button {
  font-size: var(--text-caption);
  border-radius: 5px;
  height: 32px;
}

.notify-report-actions button svg {
  height: 13px;
}

.notify-filterbar {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  grid-template-columns: 150px minmax(170px, 1fr) auto auto auto;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  padding: 8px 0;
  display: grid;
}

.notify-date-range {
  color: #625851;
  font-size: var(--text-caption);
  font-weight: 600;
}

.notify-filterbar .inline-search input {
  width: 100%;
}

.notify-filterbar select {
  color: #5f554f;
  font-size: var(--text-caption);
  background: #fffdf9;
  border: 1px solid #d8d0c8;
  border-radius: 5px;
  height: 32px;
  padding: 0 26px 0 9px;
}

.notify-table-wrap {
  border-top: 0;
}

.notify-sort {
  color: inherit;
  font: inherit;
  white-space: nowrap;
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.notify-sort svg {
  width: 10px;
  height: 10px;
}

.notify-row {
  cursor: pointer;
}

.notify-row:hover {
  background: #eee0cb59;
}

.notify-row td {
  font-size: var(--text-caption);
  vertical-align: middle;
}

.notify-row td small {
  color: #8b8078;
  font-size: var(--text-caption);
  margin-top: 2px;
  display: block;
}

.notify-detail-sheet {
  background: #fffdf9;
  max-width: 390px !important;
}

.notify-detail-body {
  border-block: 1px solid var(--line);
  padding: 0 16px;
  overflow: auto;
}

.notify-detail-body dl {
  margin: 0;
}

.notify-detail-body dl > div {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 95px 1fr;
  gap: 16px;
  padding: 12px 0;
  display: grid;
}

.notify-detail-body dt {
  color: #8a7e75;
  font-size: var(--text-caption);
}

.notify-detail-body dd {
  font-size: var(--text-caption);
  overflow-wrap: anywhere;
  text-transform: capitalize;
  margin: 0;
}

.notify-create-dialog {
  max-width: 580px !important;
}

.notify-create-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.notify-create-form label {
  color: #685e57;
  font-size: var(--text-caption);
  gap: 5px;
  display: grid;
}

.notify-create-form input, .notify-create-form select, .notify-create-form textarea {
  font-size: var(--text-caption);
  background: #fffdf9;
  border: 1px solid #d8d0c8;
  border-radius: 5px;
  min-height: 34px;
  padding: 7px 9px;
}

.notify-create-form .full {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .notify-filterbar {
    grid-template-columns: 1fr 1fr;
  }

  .notify-date-range {
    grid-column: 1 / -1;
  }

  .notify-report-actions {
    justify-content: flex-start;
    margin-top: 0;
  }
}

.inline-search {
  align-items: center;
  display: flex;
  position: relative;
}

.inline-search svg {
  color: #8e837a;
  height: 13px;
  position: absolute;
  left: 8px;
}

.inline-search input {
  font-size: var(--text-caption);
  background: #f4f0eb;
  border: 1px solid #ddd5cd;
  border-radius: 6px;
  width: 190px;
  height: 32px;
  padding: 0 8px 0 27px;
}

.data-table-wrap {
  border-bottom: 1px solid var(--line);
  min-height: 220px;
  position: relative;
  overflow-x: auto;
}

.data-table-wrap [data-slot="table"] {
  font-size: var(--text-caption);
}

.data-table-wrap [data-slot="table-head"] {
  color: #857a72;
  font-size: var(--text-caption);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  height: 38px;
}

.data-table-wrap [data-slot="table-cell"] {
  color: #665c55;
  white-space: nowrap;
  height: 54px;
}

.data-table-wrap td strong {
  color: var(--ink);
  font-size: var(--text-caption);
  display: block;
}

.data-table-wrap td small {
  color: #93887f;
  font-size: var(--text-caption);
  text-overflow: ellipsis;
  max-width: 220px;
  margin-top: 3px;
  display: block;
  overflow: hidden;
}

.clickable-row {
  cursor: pointer;
}

.clickable-row:hover {
  background: #f5f0e9 !important;
}

.mono-cell {
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
}

.record-status {
  text-transform: capitalize;
  font-size: var(--text-caption) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}

.status-arrived, .status-confirmed, .guest-active, .notify-active, .order-paid {
  color: #3d704f;
  background: #e5eee8;
  border-color: #b8d0c0;
}

.status-seated, .order-open {
  color: var(--blue);
  background: #e2ebef;
  border-color: #b7cbd5;
}

.status-no_show, .status-cancelled, .guest-inactive, .notify-expired {
  color: #8f3d32;
  background: #f3e3df;
  border-color: #dfbbb1;
}

.table-empty {
  color: #92867e;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  min-height: 220px;
  padding: 35px;
  display: flex;
}

.table-empty svg {
  height: 20px;
}

.table-empty strong {
  color: #514741;
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 500;
}

.table-empty span {
  font-size: var(--text-caption);
}

.record-sheet {
  background: #fffdf9 !important;
  max-width: 420px !important;
  padding: 27px !important;
}

.record-sheet [data-slot="sheet-title"] {
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 400;
}

.record-sheet [data-slot="sheet-description"] {
  font-size: var(--text-caption);
}

.record-detail {
  border-top: 1px solid var(--line);
  margin-top: 16px;
}

.record-detail > div {
  border-bottom: 1px solid #ece6df;
  justify-content: space-between;
  align-items: center;
  min-height: 45px;
  display: flex;
}

.record-detail span {
  color: #8d8178;
  font-size: var(--text-caption);
}

.record-detail strong {
  font-size: var(--text-caption);
}

.record-primary-action {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-caption);
  border: 0;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 38px;
  margin-top: 20px;
  text-decoration: none;
  display: flex;
}

.record-primary-action svg {
  height: 14px;
}

.loading-lines {
  flex-direction: column;
  gap: 9px;
  display: flex;
}

.loading-lines i {
  background: #eee9e3;
  height: 48px;
  animation: 1.2s infinite pulse;
  display: block;
}

.loading-lines i:nth-child(2) {
  animation-delay: .1s;
}

.loading-lines i:nth-child(3) {
  animation-delay: .2s;
}

.spin {
  animation: .8s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.bulk-actions {
  background: #ece3d8;
  align-items: center;
  gap: 10px;
  min-height: 43px;
  padding: 0 12px;
  display: flex;
}

.bulk-actions strong {
  color: var(--burgundy);
  font-size: var(--text-caption);
}

.bulk-actions button {
  color: #6f625a;
  font-size: var(--text-caption);
  text-underline-offset: 3px;
  background: none;
  border: 0;
  text-decoration: underline;
}

.guest-name-cell {
  align-items: center;
  gap: 8px;
  display: flex;
}

.guest-name-button {
  color: inherit;
  text-align: left;
  background: none;
  border: 0;
  padding: 0;
}

.guest-name-cell i {
  background: var(--cream);
  color: var(--burgundy);
  font-size: var(--text-caption);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  font-style: normal;
  display: flex;
}

.tag-list {
  gap: 3px;
  display: flex;
}

.tag-list [data-slot="badge"] {
  font-size: var(--text-caption);
}

.pagination {
  justify-content: space-between;
  align-items: center;
  padding-top: 13px;
  display: flex;
}

.pagination > span {
  color: #8d8178;
  font-size: var(--text-caption);
}

.pagination > div {
  gap: 5px;
  display: flex;
}

.guest-editor {
  max-width: 560px !important;
}

.guest-editor [data-slot="dialog-title"] {
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 400;
}

.guest-editor [data-slot="dialog-description"] {
  font-size: var(--text-caption);
}

.guest-editor-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 12px;
  display: grid;
}

.guest-editor-grid label {
  color: #756a62;
  font-size: var(--text-caption);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.guest-editor-grid .span-two {
  grid-column: 1 / -1;
}

.guest-editor-grid [data-slot="input"], .guest-editor-grid [data-slot="textarea"] {
  font-size: var(--text-caption);
}

.guest-editor-grid .checkbox-label {
  flex-direction: row;
  align-items: center;
}

.dialog-actions {
  justify-content: flex-end;
  gap: 7px;
  margin-top: 15px;
  display: flex;
}

.guest-profile-sheet {
  overflow-y: auto;
  background: #fffdf9 !important;
  max-width: 470px !important;
  padding: 27px !important;
}

.guest-profile-sheet > [data-slot="sheet-title"], .guest-profile-sheet > [data-slot="sheet-description"] {
  display: none;
}

.profile-header {
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 12px;
  display: grid;
}

.profile-header > span {
  background: var(--cream);
  color: var(--burgundy);
  font-family: var(--serif);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  height: 48px;
  display: flex;
}

.profile-header h2 {
  font-family: var(--serif);
  margin: 0;
  font-size: 25px;
  font-weight: 400;
}

.profile-header p {
  color: #8d8178;
  font-size: var(--text-caption);
  margin: 4px 0 0;
}

.profile-header [data-slot="button"] {
  font-size: var(--text-caption);
}

.profile-metrics {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  grid-template-columns: repeat(3, 1fr);
  margin: 22px 0 7px;
  padding: 15px 0;
  display: grid;
}

.profile-metrics > div {
  border-right: 1px solid #e7e0d8;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.profile-metrics > div:last-child {
  border: 0;
}

.profile-metrics svg {
  color: var(--terracotta);
  height: 13px;
}

.profile-metrics strong {
  font: 500 14px var(--font-geist-mono);
  margin-top: 5px;
}

.profile-metrics small {
  color: #8d8178;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.profile-tabs {
  background: none !important;
  height: 42px !important;
}

.profile-tabs button {
  font-size: var(--text-caption) !important;
}

.profile-panel {
  padding-top: 8px;
}

.profile-line {
  border-bottom: 1px solid #ece6df;
  justify-content: space-between;
  align-items: center;
  min-height: 50px;
  display: flex;
}

.profile-line > span {
  color: #8e837a;
  align-items: center;
  gap: 7px;
  display: flex;
}

.profile-line svg {
  height: 13px;
}

.profile-line small {
  font-size: var(--text-caption);
}

.profile-line strong {
  font-size: var(--text-caption);
  text-align: right;
  max-width: 65%;
}

.profile-note {
  background: #f0e8dc;
  margin-top: 15px;
  padding: 14px;
}

.profile-note small {
  color: #8b7f76;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.profile-note p {
  font-family: var(--serif);
  font-size: var(--text-small);
  margin: 6px 0 0;
  line-height: 1.45;
}

.consent-line {
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  display: flex;
}

.consent-line > span {
  font-size: var(--text-caption);
}

.visit-list > div {
  border-bottom: 1px solid #ece6df;
  justify-content: space-between;
  align-items: center;
  padding: 13px 0;
  display: flex;
}

.visit-list span {
  flex-direction: column;
  display: flex;
}

.visit-list strong {
  font-size: var(--text-caption);
}

.visit-list small {
  color: #8e837a;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.profile-empty {
  color: #8c8078;
  font-size: var(--text-caption);
  text-align: center;
  padding: 35px 0;
}

.guest-groups {
  border-top: 1px solid var(--line);
}

.guest-groups article {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 13px 8px;
  display: grid;
}

.guest-groups article > span {
  color: var(--blue);
  background: #eee8e0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

.guest-groups article svg {
  height: 14px;
}

.guest-groups article > div {
  flex-direction: column;
  display: flex;
}

.guest-groups strong {
  font-size: var(--text-caption);
}

.guest-groups small {
  color: #90857c;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.guest-groups b {
  font: 500 13px var(--font-geist-mono);
}

.chits-layout {
  grid-template-columns: 220px 1fr;
  gap: 18px;
  display: grid;
}

.chit-controls {
  background: #f2eee8;
  padding: 16px;
}

.chit-controls h3 {
  font-size: var(--text-caption);
  margin: 0 0 11px;
}

.chit-controls h3:not(:first-child) {
  margin-top: 20px;
}

.chit-controls label {
  font-size: var(--text-caption);
  align-items: center;
  gap: 8px;
  margin: 9px 0;
  display: flex;
}

.chit-controls select {
  width: 100%;
}

.chit-controls .primary-action {
  background: var(--burgundy);
  color: #fff;
  font-size: var(--text-caption);
  border: 0;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 34px;
  margin-top: 12px;
  display: flex;
}

.chit-controls .primary-action svg {
  height: 13px;
}

.chit-controls p {
  color: #8d8178;
  font-size: var(--text-caption);
  line-height: 1.45;
}

.chit-preview {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  display: grid;
}

.chit-preview.layout-one {
  grid-template-columns: 1fr;
}

.chit-preview article {
  border: 1px dashed #bcb1a7;
  min-height: 180px;
  padding: 15px;
}

.chit-preview header {
  border-bottom: 2px solid var(--ink);
  flex-direction: column;
  padding-bottom: 9px;
  display: flex;
}

.chit-preview header strong {
  font-family: var(--serif);
  font-size: 17px;
}

.chit-preview header span {
  font-size: var(--text-caption);
  margin-top: 3px;
}

.chit-preview dl {
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  display: grid;
}

.chit-preview dl div {
  flex-direction: column;
  display: flex;
}

.chit-preview dt {
  color: #8d8178;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.chit-preview dd {
  font-size: var(--text-caption);
  margin: 2px 0 0;
}

.tock-chits {
  min-width: 940px;
  margin-top: 35px;
}

.operations-chits-canvas .operations-canvas-heading {
  min-height: 63px;
}

.chits-filters {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  display: grid;
}

.chits-filter {
  color: #5e5e5e;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  font-size: 14px;
  line-height: 18px;
  display: flex;
}

.chits-filter select, .chits-format-select {
  appearance: auto;
  background: var(--surface);
  color: var(--ink);
  font: 400 14px/1 var(--font-geist-sans);
  border: 1px solid #dedede;
  border-radius: 0;
  width: 100%;
  min-width: 0;
  height: 49px;
  padding: 0 12px;
}

.chits-filter select:focus-visible, .chits-format-select:focus-visible {
  border-color: var(--blue);
  outline: 2px solid var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .chits-filter select:focus-visible, .chits-format-select:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--blue) 20%, transparent);
  }
}

.chits-filter select:focus-visible, .chits-format-select:focus-visible {
  outline-offset: 1px;
}

.chits-settings-grid {
  grid-template-columns: 382px 382px;
  gap: 16px;
  margin-top: 24px;
  display: grid;
}

.chits-settings-panel, .chits-information-panel {
  min-height: 371px;
}

.chits-settings-grid h2 {
  font-family: var(--font-geist-sans);
  margin: 0 0 21px;
  font-size: 20px;
  font-weight: 600;
  line-height: 25px;
}

.chits-field-label {
  color: #5e5e5e;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 18px;
  display: block;
}

.chits-calendar-frame {
  background: var(--surface);
  border: 1px solid #dedede;
  width: 362px;
  height: 399px;
  overflow: hidden;
}

.chits-calendar {
  --cell-radius: 0;
  --cell-size: 48px;
  background: none;
  width: 360px;
  padding: 12px;
}

.chits-calendar .rdp-months, .chits-calendar .rdp-month {
  gap: 12px;
  width: 100%;
}

.chits-calendar .rdp-month_caption, .chits-calendar .rdp-dropdowns {
  height: 40px;
}

.chits-calendar .rdp-dropdowns {
  gap: 7px;
}

.chits-calendar .rdp-caption_label {
  color: var(--ink);
  font-size: 16px;
  font-weight: 600;
}

.chits-calendar .rdp-button_previous, .chits-calendar .rdp-button_next {
  border: 0;
  border-radius: 0;
  width: 40px;
  height: 40px;
}

.chits-calendar .rdp-button_previous svg, .chits-calendar .rdp-button_next svg {
  width: 18px;
  height: 18px;
}

.chits-calendar .rdp-weekday {
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}

.chits-calendar .rdp-week {
  margin-top: 0;
}

.chits-calendar .rdp-weeks .rdp-week:first-child {
  margin-top: 11px;
}

.chits-calendar [data-slot="button"] {
  border-radius: 0;
  min-width: 48px;
  font-size: 14px;
}

.chits-calendar [data-selected-single="true"] {
  background: var(--blue);
  color: #fff;
  text-underline-offset: 2px;
  text-decoration: underline;
}

.chits-calendar [data-today="true"]:not([data-selected-single="true"]) {
  background: var(--champagne);
}

@supports (color: color-mix(in lab, red, red)) {
  .chits-calendar [data-today="true"]:not([data-selected-single="true"]) {
    background: color-mix(in srgb, var(--champagne) 55%, white);
  }
}

.chits-format-label {
  margin-top: 14px;
}

.chits-format-select {
  width: 382px;
}

.chits-option-list {
  flex-direction: column;
  padding-left: 6px;
  display: flex;
}

.chits-information-panel h2 {
  margin-bottom: 13px;
}

.chits-option-list label {
  align-items: center;
  gap: 11px;
  height: 40px;
  font-size: 14px;
  line-height: 18px;
  display: flex;
}

.chits-option-list [data-slot="checkbox"] {
  border-color: #999;
  border-radius: 2px;
  width: 19px;
  height: 19px;
}

.chits-option-list [data-slot="checkbox"][data-state="checked"] {
  background: var(--blue);
  border-color: var(--blue);
}

.chits-actions {
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  display: flex;
}

.chits-actions [data-slot="button"] {
  box-shadow: none;
  border-radius: 0;
  height: 48px;
  padding: 0 19px;
  font-size: 14px;
}

.chits-actions [data-slot="button"]:first-child {
  background: var(--blue);
  color: #fff;
}

.chits-actions [data-slot="button"]:first-child:hover {
  background: var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .chits-actions [data-slot="button"]:first-child:hover {
    background: color-mix(in srgb, var(--blue) 88%, black);
  }
}

.chits-actions [data-slot="button"]:last-child {
  background: var(--khaki);
}

@supports (color: color-mix(in lab, red, red)) {
  .chits-actions [data-slot="button"]:last-child {
    background: color-mix(in srgb, var(--khaki) 36%, #efefef);
  }
}

.chits-actions [data-slot="button"]:last-child {
  color: var(--ink);
}

.chits-actions [data-slot="button"]:disabled {
  color: #fff;
  opacity: 1;
  background: #e5e5e5;
}

.chits-error {
  color: var(--burgundy);
  font-size: var(--text-small);
  margin: 12px 0 -4px;
}

.chits-preview-dialog {
  width: min(1050px, 100vw - 32px);
  max-width: min(1050px, 100vw - 32px);
  max-height: calc(100vh - 32px);
  padding: 24px;
  overflow: auto;
}

.chit-print-sheet {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.chit-print-sheet.layout-1, .chit-print-sheet.layout-2-rows {
  grid-template-columns: 1fr;
}

.reservation-chit {
  break-inside: avoid;
  border: 1px solid #999;
  min-height: 250px;
  padding: 18px;
}

.reservation-chit header {
  border-bottom: 2px solid var(--ink);
  flex-direction: column;
  gap: 3px;
  padding-bottom: 10px;
  display: flex;
}

.reservation-chit header strong {
  font-size: 20px;
}

.reservation-chit header span {
  font-size: var(--text-small);
}

.reservation-chit dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.reservation-chit dt {
  color: #737373;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.reservation-chit dd {
  font-size: var(--text-small);
  overflow-wrap: anywhere;
  margin: 2px 0 0;
}

.operations-reviews-canvas, .operations-guests-canvas {
  position: relative;
}

.reviews-report {
  min-width: 940px;
  padding-top: 1px;
}

.reviews-heading-actions, .operations-report-heading-actions {
  gap: 12px;
  display: flex;
  position: absolute;
  top: 40px;
  right: 24px;
}

.reviews-heading-actions [data-slot="button"], .operations-report-heading-actions [data-slot="button"] {
  border-color: var(--blue);
  color: var(--blue);
  border-radius: 4px;
  height: 44px;
  padding: 0 15px;
  font-size: 14px;
}

.reviews-heading-actions [data-slot="button"]:first-child, .operations-report-heading-actions [data-slot="button"]:first-child {
  min-width: 124px;
}

.reviews-heading-actions [data-slot="button"]:last-child, .operations-report-heading-actions [data-slot="button"]:last-child {
  min-width: 89px;
}

.reviews-heading-actions [data-slot="button"] svg, .operations-report-heading-actions [data-slot="button"] svg {
  width: 18px;
  height: 18px;
}

.reviews-date-trigger {
  border-radius: 3px;
  width: 216px;
  height: 36px;
  font-size: 15px;
}

.reviews-filters {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
  display: grid;
}

.reviews-filters label {
  color: #606060;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  line-height: 18px;
  display: flex;
}

.reviews-filters select {
  appearance: auto;
  color: var(--ink);
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 0;
  width: 100%;
  height: 48px;
  padding: 0 12px;
  font-size: 14px;
}

.reviews-empty {
  color: #333;
  background: #fafafa;
  border: 1px solid #dedede;
  align-items: center;
  height: 55px;
  margin-top: 12px;
  padding: 0 16px;
  font-size: 14px;
  display: flex;
}

.reviews-empty.reviews-error {
  color: var(--burgundy);
}

.reviews-summary {
  background: #fafafa;
  border: 1px solid #eee;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 174px;
  margin-top: 12px;
  display: grid;
}

.reviews-average, .reviews-distribution {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.reviews-average {
  border-right: 1px solid #e5e5e5;
  margin: 32px 0;
}

.reviews-average > strong {
  font-size: 48px;
  font-weight: 500;
  line-height: 50px;
}

.reviews-average > span:last-child {
  color: #606060;
  margin-top: 7px;
  font-size: 14px;
}

.review-stars {
  color: #3d3d3d;
  gap: 2px;
  display: inline-flex;
}

.review-stars svg {
  width: 18px;
  height: 18px;
}

.reviews-average .review-stars {
  margin-top: 7px;
}

.reviews-distribution {
  align-items: stretch;
  gap: 7px;
  padding: 0 64px;
}

.reviews-distribution > div {
  font-size: var(--text-small);
  grid-template-columns: 40px 130px 30px;
  align-items: center;
  gap: 8px;
  display: grid;
}

.reviews-distribution i {
  background: #dedede;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.reviews-distribution b {
  border-radius: inherit;
  background: #555;
  min-width: 3px;
  height: 100%;
  display: block;
}

.reviews-table-wrap {
  border: 1px solid #dedede;
  width: 100%;
  margin-top: 24px;
  overflow: auto;
}

.reviews-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 1250px;
}

.reviews-table th, .reviews-table td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #dedede;
  padding: 0 16px;
}

.reviews-table th {
  vertical-align: middle;
  background: #fafafa;
  height: 49px;
  font-size: 14px;
  font-weight: 600;
  position: relative;
}

.reviews-table th:first-child {
  width: 400px;
}

.reviews-table th:nth-child(2), .reviews-table th:nth-child(3), .reviews-table th:nth-child(4) {
  width: 250px;
}

.reviews-table th:nth-child(5) {
  width: 100px;
}

.reviews-table td {
  min-height: 92px;
  padding-top: 16px;
  padding-bottom: 16px;
  font-size: 14px;
}

.reviews-table td strong, .reviews-table td > span, .reviews-table td:nth-child(2), .reviews-table td:nth-child(3) {
  flex-direction: column;
  display: flex;
}

.reviews-table td span {
  color: #606060;
  line-height: 21px;
}

.reviews-table td strong {
  color: var(--ink);
  font-weight: 600;
  line-height: 21px;
}

.reviews-table td p {
  margin: 8px 0 0;
  line-height: 20px;
}

.review-stars-date {
  align-items: center;
  gap: 10px;
  display: flex;
}

.review-stars-date > span {
  font-size: 14px;
}

.reviews-sort-actions {
  vertical-align: middle;
  margin-left: 7px;
  display: inline-grid;
}

.reviews-sort-actions button {
  color: #aaa;
  width: 13px;
  height: 10px;
  line-height: 0;
}

.reviews-sort-actions button.active {
  color: #222;
}

.reviews-sort-actions svg {
  width: 11px;
  height: 11px;
}

.operations-guests-report {
  min-width: 940px;
  padding-top: 1px;
}

.operations-guests-date-trigger {
  border-radius: 3px;
  width: 216px;
  height: 36px;
  font-size: 15px;
}

.operations-guests-filters {
  align-items: center;
  gap: 12px;
  display: flex;
}

.operations-guests-filters [data-slot="select-trigger"] {
  border-color: #dedede;
  border-radius: 3px;
  min-width: 158px;
  height: 36px;
}

.operations-guests-result-count {
  color: #666;
  margin-left: auto;
  font-size: 13px;
}

.operations-guests-table-wrap {
  width: 100%;
  margin-top: 17px;
}

.operations-guests-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.operations-guests-table th, .operations-guests-table td {
  text-align: left;
  border-bottom: 1px solid #dedede;
  padding: 0 10px;
}

.operations-guests-table thead th {
  vertical-align: middle;
  background: #fafafa;
  border-right: 1px solid #dedede;
  height: 50px;
  font-size: 14px;
  font-weight: 600;
}

.operations-guests-table thead th:last-child {
  border-right: 0;
}

.operations-guests-table th:first-child {
  width: 53%;
}

.operations-guests-table th:nth-child(2), .operations-guests-table th:nth-child(3) {
  width: 23.5%;
}

.operations-guests-table tbody tr {
  height: 101px;
}

.operations-guests-table tbody tr:nth-child(2n) {
  background: #fafafa;
}

.operations-guests-table tbody th, .operations-guests-table tbody td {
  vertical-align: top;
  font-size: 14px;
  font-weight: 400;
}

.operations-guests-table tbody th {
  padding-top: 7px;
}

.operations-guests-table tbody td {
  padding-top: 8px;
}

.operations-guests-table tbody th strong, .operations-guests-table tbody th span, .operations-guests-table tbody th a {
  line-height: 29px;
  display: block;
}

.operations-guests-table tbody th strong {
  font-weight: 600;
}

.operations-guests-table tbody th a {
  color: var(--ink);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.operations-guests-empty {
  color: #333;
  background: #fafafa;
  border: 1px solid #dedede;
  align-items: center;
  height: 54px;
  margin: 8px 9px 0;
  padding: 0 16px;
  font-size: 14px;
  display: flex;
}

.operations-guests-error {
  color: var(--burgundy);
  justify-content: space-between;
}

.operations-guests-error [data-slot="button"] {
  color: currentColor;
  border-color: currentColor;
}

.operations-pos-canvas {
  position: relative;
}

.pos-report {
  min-width: 940px;
  padding-top: 1px;
}

.pos-filters {
  align-items: center;
  gap: 12px;
  display: flex;
}

.pos-filters > select, .pos-date-trigger {
  appearance: auto;
  color: var(--ink);
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 3px;
  height: 36px;
  padding: 0 12px;
  font-size: 15px;
}

.pos-filters > select {
  width: 117px;
}

.pos-date-trigger {
  width: 216px;
}

.pos-clear-filter {
  text-underline-offset: 2px;
  margin-left: 17px;
  font-size: 14px;
  text-decoration: underline;
}

.pos-table-frame {
  border: 1px solid #dedede;
  width: 100%;
  margin-top: 12px;
}

.pos-table-header, .pos-check-row {
  grid-template-columns: 10% 20% 30% 20% 20%;
  display: grid;
}

.pos-table-header {
  background: #fafafa;
  border-bottom: 1px solid #dedede;
  height: 45px;
}

.pos-table-header strong {
  align-items: center;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.pos-table-body {
  max-height: 348px;
  overflow: hidden;
}

.pos-check-row {
  text-align: left;
  border-bottom: 1px solid #dedede;
  width: 100%;
  min-height: 44px;
}

.pos-check-row > span {
  text-overflow: ellipsis;
  align-items: center;
  min-width: 0;
  padding: 12px 18px;
  font-size: 14px;
  line-height: 20px;
  display: flex;
  overflow: hidden;
}

.pos-check-row .pos-status-link {
  text-underline-offset: 2px;
  text-decoration: underline;
}

.pos-pagination {
  justify-content: space-between;
  align-items: center;
  height: 54px;
  padding: 0 22px 0 17px;
  display: flex;
}

.pos-table-body:empty + .pos-pagination {
  height: 44px;
}

.pos-pagination nav {
  align-items: center;
  gap: 10px;
  display: flex;
}

.pos-pagination button, .pos-pagination span {
  color: var(--blue);
  font-size: var(--text-small);
}

.pos-pagination button:disabled {
  color: #777;
}

.pos-pagination button.active {
  border: 1px solid var(--blue);
  min-width: 30px;
  height: 31px;
}

.pos-pagination > span {
  color: #555;
  font-size: 14px;
}

.pos-link-dialog {
  background: #fff;
  border-radius: 3px;
  grid-template-columns: 348px 580px;
  gap: 0;
  width: 928px;
  max-width: 928px;
  height: 648px;
  max-height: calc(100vh - 60px);
  padding: 0;
  display: grid;
  overflow: hidden;
  --tw-translate-x: 0px !important;
  --tw-translate-y: 0px !important;
  top: 30px !important;
  left: 50% !important;
  transform: translateX(-50%)translate3d(0, 0, 0) !important;
}

body:has(.pos-link-dialog) [data-slot="dialog-overlay"] {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: #00000073;
}

.pos-check-detail {
  background: #fafafa;
  border-right: 1px solid #dedede;
  grid-row: 1;
  height: 648px;
  padding: 59px 24px 24px;
  overflow: auto;
}

.pos-check-detail > small {
  color: #666;
  font-size: var(--text-small);
}

.pos-check-detail > h2 {
  margin: 14px 0 10px;
  font-size: 18px;
  font-weight: 600;
}

.pos-check-detail > p {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 21px;
}

.pos-check-items {
  border: 1px solid #dedede;
  flex-direction: column;
  gap: 13px;
  margin-top: 25px;
  padding: 17px 18px;
  display: flex;
}

.pos-check-items > div {
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  display: flex;
}

.pos-check-items hr {
  border: 0;
  border-top: 1px solid #dedede;
  margin: 6px 0;
}

.pos-link-workspace {
  grid-area: 1 / 2;
  grid-template-rows: 60px 1fr 72px;
  height: 648px;
  display: grid;
}

.pos-link-workspace > header {
  border-bottom: 1px solid #dedede;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.pos-link-workspace > header strong {
  font-size: 18px;
  font-weight: 600;
}

.pos-link-workspace > header button {
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
  position: absolute;
  right: 5px;
}

.pos-link-workspace > header svg {
  width: 18px;
  height: 18px;
}

.pos-link-content {
  padding: 23px 25px;
  overflow: auto;
}

.pos-link-content > h2, .pos-linked-heading h2 {
  margin: 0 0 9px;
  font-size: 20px;
  font-weight: 600;
}

.pos-link-content > p {
  color: #666;
  margin: 0 0 16px;
  font-size: 14px;
}

.pos-link-content > h3 {
  margin: 20px 0 14px;
  font-size: 18px;
}

.pos-visit-card {
  border: 1px solid #dedede;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 160px;
  margin-bottom: 24px;
  padding: 18px;
  display: flex;
}

.pos-visit-card h3 {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 500;
}

.pos-visit-card p {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 21px;
}

.pos-visit-card [data-slot="button"] {
  background: var(--blue);
  color: #fff;
  border-radius: 3px;
  min-width: 61px;
  height: 37px;
  margin-left: 15px;
}

.pos-linked-heading {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.pos-linked-heading [data-slot="button"] {
  border-color: var(--blue);
  color: var(--blue);
  border-radius: 3px;
}

.pos-no-visits {
  color: #666;
  justify-content: center;
  align-items: center;
  min-height: 260px;
  font-size: 14px;
  display: flex;
}

.pos-link-workspace > footer {
  border-top: 1px solid #dedede;
  justify-content: space-between;
  align-items: center;
  padding: 0 11px;
  display: flex;
}

.pos-mutation-error {
  color: #9b1c31;
  max-width: 320px;
  padding-left: 12px;
  font-size: 13px;
  line-height: 1.35;
}

.pos-link-workspace > footer [data-slot="button"] {
  border-radius: 3px;
  min-width: 200px;
  height: 49px;
  font-size: 14px;
}

.operations-snapshot, .report-kpis {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.operations-snapshot > div, .report-kpis > div {
  border-right: 1px solid var(--line);
  flex-direction: column;
  padding: 18px;
  display: flex;
}

.operations-snapshot > div:last-child, .report-kpis > div:last-child {
  border: 0;
}

.operations-snapshot small, .report-kpis small {
  color: #867b73;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.operations-snapshot strong, .report-kpis strong {
  font: 500 22px var(--font-geist-mono);
  margin-top: 5px;
}

.operations-snapshot span, .report-kpis span {
  color: #92877f;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.report-heading {
  align-items: flex-end;
}

.report-filters {
  align-items: flex-end;
  gap: 6px;
  flex-direction: row !important;
  display: flex !important;
}

.report-filters label {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.report-filters label span {
  color: #8c8178;
  font-size: var(--text-caption);
}

.report-table td {
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
}

.report-overview {
  grid-template-columns: minmax(0, 1.5fr) 300px;
  gap: 16px;
  display: grid;
}

.report-kpis {
  grid-column: 1 / -1;
}

.report-chart, .report-breakdown {
  border: 1px solid var(--line);
  padding: 18px;
}

.report-chart > div:first-child {
  flex-direction: column;
  display: flex;
}

.report-chart span, .report-breakdown header span {
  color: #857a72;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.report-chart strong {
  font-family: var(--serif);
  margin-top: 4px;
  font-size: 23px;
  font-weight: 400;
}

.sales-bars {
  border-bottom: 1px solid var(--line);
  align-items: end;
  gap: 5px;
  height: 240px;
  margin-top: 20px;
  display: flex;
}

.sales-bars > div {
  flex-direction: column;
  flex: 1;
  justify-content: end;
  align-items: center;
  height: 100%;
  display: flex;
}

.sales-bars i {
  background: var(--burgundy);
  width: 60%;
  min-height: 2px;
  display: block;
}

.sales-bars small {
  color: #92877f;
  font-size: var(--text-caption);
  padding-top: 5px;
}

.report-breakdown header, .report-breakdown p {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.report-breakdown header {
  padding-bottom: 11px;
}

.report-breakdown p {
  font-size: var(--text-caption);
  border-top: 1px solid #ece6df;
  margin: 0;
  padding: 12px 0;
}

.report-breakdown p span {
  color: #5f554f;
  font-size: var(--text-caption);
  text-transform: capitalize;
}

.control-overview {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  display: grid;
}

.control-panel-workspace {
  grid-template-columns: 276px minmax(0, 1fr);
  min-height: calc(100vh - 48px);
}

.dashboard-backend-unavailable {
  background: var(--background);
  color: var(--foreground);
  place-items: center;
  min-height: 100svh;
  padding: 32px;
  display: grid;
}

.dashboard-backend-brand {
  position: absolute;
  top: 28px;
  left: 32px;
}

.dashboard-backend-unavailable > section {
  max-width: 520px;
}

.dashboard-backend-unavailable > section > svg {
  color: var(--burgundy);
  width: 34px;
  height: 34px;
  margin-bottom: 24px;
}

.dashboard-backend-unavailable span {
  color: var(--muted-foreground);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 650;
  display: block;
}

.dashboard-backend-unavailable h1 {
  letter-spacing: -.045em;
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.05;
}

.dashboard-backend-unavailable p {
  color: var(--muted-foreground);
  margin: 0 0 26px;
  line-height: 1.6;
}

.dashboard-backend-unavailable a {
  background: var(--burgundy);
  color: #fff;
  border-radius: 8px;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
  display: inline-flex;
}

.dashboard-backend-unavailable a svg {
  width: 16px;
  height: 16px;
}

.control-panel-workspace .control-subnav {
  background: #f5f5f5;
  border-right: 0;
  height: calc(100vh - 48px);
  min-height: calc(100vh - 48px);
  padding: 16px;
  position: relative;
  overflow-y: auto;
}

.control-panel-workspace .control-subnav nav {
  gap: 4px;
}

.control-panel-workspace .control-nav-mobile-trigger {
  display: none;
}

.control-panel-workspace .control-subnav nav p {
  color: #6f6f6f;
  font-size: var(--text-label);
  letter-spacing: .11em;
  margin: 18px 8px 8px;
  font-weight: 500;
}

.control-panel-workspace .control-subnav nav .control-nav-business-label {
  margin-top: 18px;
}

.control-panel-workspace .control-subnav button {
  color: #211d1b;
  border-radius: 4px;
  grid-template-columns: 20px minmax(0, 1fr) 16px;
  align-items: center;
  min-height: 32px;
  padding: 0 8px;
  font-size: 14px;
  display: grid;
}

.control-panel-workspace .control-subnav button svg {
  width: 18px;
  height: 18px;
}

.control-panel-workspace .control-subnav button span {
  padding-left: 8px;
}

.control-panel-workspace .control-subnav button.active {
  background: var(--burgundy);
  box-shadow: none;
  color: #fff;
}

.control-panel-workspace .control-subnav .control-nav-chevron {
  justify-self: end;
  width: 14px;
  height: 14px;
}

.control-panel-workspace .control-subnav button[aria-expanded="true"] .control-nav-chevron {
  transform: rotate(180deg);
}

.control-panel-workspace .control-nav-group {
  flex-direction: column;
  display: flex;
}

.control-panel-workspace .control-nav-group > [role="group"] {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.control-panel-workspace .control-nav-group > [role="group"] > button {
  padding-left: 40px;
  font-weight: 500;
  display: block;
}

.control-panel-workspace .control-nav-group > [role="group"] > button span {
  padding: 0;
}

.control-panel-workspace .control-nav-group > [role="group"] > button.active {
  background: var(--burgundy);
  color: #fff;
}

.control-panel-workspace .control-nav-group > button.group-active:not([aria-expanded="true"]) {
  color: var(--burgundy);
  font-weight: 600;
}

.control-panel-workspace .control-subnav .control-nav-boundary {
  cursor: help;
}

.control-nav-product-mark {
  color: #333;
  width: 38px;
  height: 38px;
  position: absolute;
  bottom: 18px;
  left: 18px;
}

.control-panel-workspace .section-canvas {
  background: #fff;
  margin-right: 16px;
  padding: 40px 24px;
}

.control-page-heading {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 69px;
  margin-bottom: 24px;
  display: flex;
}

.control-page-heading h1 {
  letter-spacing: -.02em;
  margin: 6px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.control-page-heading > div {
  gap: 12px;
  margin-top: 0;
  display: flex;
}

.control-page-heading [data-slot="button"], .control-page-heading select {
  border-radius: 4px;
  height: 44px;
  font-size: 14px;
}

.control-overview-heading {
  margin-bottom: 0;
}

.control-business-list {
  padding-top: 26px;
}

.control-business-list h2 {
  margin: 0 0 28px;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.control-business-list article {
  border-bottom: 1px solid #d8d8d8;
  grid-template-columns: 192px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 106px;
  padding-bottom: 25px;
  display: grid;
}

.control-business-visual {
  background: linear-gradient(145deg, #eee0cb, #baa898);
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  height: 80px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.control-business-visual > button {
  z-index: 1;
  background: #fff;
  border: 0;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
  position: absolute;
  top: 8px;
  left: 8px;
  box-shadow: 0 1px 4px #0000001f;
}

.control-business-visual > button svg {
  width: 15px;
  height: 15px;
}

.control-business-visual .brand-mark {
  color: var(--burgundy);
  transform: scale(1.35);
}

.control-business-summary {
  align-self: center;
  padding-left: 16px;
}

.control-business-summary strong, .control-business-summary p, .control-business-summary button {
  font-size: 14px;
}

.control-business-summary strong {
  font-weight: 600;
  display: block;
}

.control-business-summary p {
  align-items: center;
  margin: 3px 0 17px;
  display: flex;
}

.control-business-summary p span {
  background: #7f7f7f;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  display: inline-block;
}

.control-business-summary p span.on {
  background: #3b8c55;
}

.control-business-summary p span.off {
  background: #9b1c31;
}

.control-business-summary button {
  color: var(--blue);
  background: none;
  border: 0;
  padding: 0;
}

.control-business-list article > a, .control-business-actions a, .control-business-actions button {
  color: var(--blue);
  align-items: center;
  gap: 3px;
  font-size: 14px;
  display: flex;
}

.control-business-list article > a svg, .control-business-actions a svg {
  width: 12px;
  height: 12px;
}

.control-business-actions {
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  display: flex;
}

.control-business-actions button {
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

@media (max-width: 720px) {
  .control-panel-workspace {
    min-height: calc(100vh - 48px);
    display: block;
    overflow: visible;
  }

  .control-panel-workspace .control-subnav {
    background: #f5f5f5;
    border-bottom: 1px solid #dedede;
    height: auto;
    min-height: 0;
    padding: 8px 12px;
    overflow: visible;
  }

  .control-panel-workspace .control-nav-mobile-trigger {
    color: #211d1b;
    background: #fff;
    border: 1px solid #d8d8d8;
    grid-template-columns: 20px minmax(0, 1fr) 16px;
    align-items: center;
    width: 100%;
    min-height: 42px;
    font-weight: 600;
    display: grid;
  }

  .control-panel-workspace .control-nav-mobile-trigger[aria-expanded="true"] {
    border-color: #a7a7a7;
  }

  .control-panel-workspace .control-nav-mobile-trigger[aria-expanded="true"] .control-nav-chevron {
    transform: rotate(180deg);
  }

  .control-panel-workspace .control-subnav > nav {
    width: 100%;
    padding: 8px 0 4px;
    display: none;
  }

  .control-panel-workspace .control-subnav > nav.mobile-open {
    display: flex;
  }

  .control-panel-workspace .control-subnav nav p {
    display: block;
  }

  .control-panel-workspace .control-subnav nav > div, .control-panel-workspace .control-nav-group > [role="group"] {
    flex-direction: column;
  }

  .control-panel-workspace .control-subnav button {
    white-space: normal;
  }

  .control-panel-workspace .section-canvas {
    min-width: 0;
    margin-right: 0;
    padding: 24px 16px 48px;
  }

  .control-business-list article {
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    padding-bottom: 24px;
  }

  .control-business-visual {
    height: 72px;
  }

  .control-business-summary {
    padding-left: 0;
  }

  .control-business-summary p {
    align-items: flex-start;
    margin-bottom: 12px;
    line-height: 20px;
  }

  .control-business-summary p span {
    flex: none;
    margin-top: 6px;
  }

  .control-business-list article > a, .control-business-actions {
    grid-column: 2;
  }

  .control-business-actions {
    align-items: flex-start;
  }
}

@media (max-width: 420px) {
  .control-page-heading {
    min-height: 61px;
  }

  .control-page-heading h1 {
    margin-top: 2px;
    font-size: 22px;
  }

  .control-business-list {
    padding-top: 22px;
  }

  .control-business-list h2 {
    margin-bottom: 20px;
  }

  .control-business-list article {
    flex-direction: column;
    display: flex;
  }

  .control-business-visual {
    width: 100%;
  }

  .control-business-list article > a {
    margin-top: 2px;
  }
}

.control-page-heading [data-slot="button"] {
  background: var(--burgundy);
  padding: 0 16px;
}

.control-page-heading select {
  background: #fff;
  border: 1px solid #d6d6d6;
  width: 128px;
  min-width: 128px;
  padding: 0 16px;
  font-weight: 600;
}

.control-empty-state {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding-top: 16px;
  display: flex;
}

.control-empty-icon {
  color: var(--burgundy);
  background: #f8f1f0;
  border-radius: 42% 58% 51% 49%;
  justify-content: center;
  align-items: center;
  width: 72px;
  height: 72px;
  display: flex;
  transform: rotate(-9deg);
}

.control-empty-icon svg {
  width: 31px;
  height: 31px;
  transform: rotate(9deg);
}

.control-empty-state h2 {
  margin: 24px 0 8px;
  font-size: 20px;
  font-weight: 600;
}

.control-empty-state p {
  max-width: 470px;
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.control-empty-state a {
  color: var(--blue);
  align-items: center;
  gap: 3px;
  margin-top: 24px;
  font-size: 14px;
  text-decoration: underline;
  display: flex;
}

.control-empty-state a svg {
  width: 12px;
  height: 12px;
}

.team-card {
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  margin-bottom: 24px;
}

.team-card > header {
  border-bottom: 1px solid #d7d7d7;
  justify-content: space-between;
  align-items: center;
  min-height: 55px;
  padding: 0 16px;
  display: flex;
}

.team-card h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.team-passcodes > header > div {
  align-items: center;
  gap: 10px;
  display: flex;
}

.team-enabled, .team-disabled, .team-pending {
  background: var(--khaki);
}

@supports (color: color-mix(in lab, red, red)) {
  .team-enabled, .team-disabled, .team-pending {
    background: color-mix(in srgb, var(--khaki) 24%, white);
  }
}

.team-enabled, .team-disabled, .team-pending {
  color: #695b50;
  letter-spacing: .02em;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
}

.team-enabled {
  background: var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .team-enabled {
    background: color-mix(in srgb, var(--blue) 13%, white);
  }
}

.team-enabled {
  color: var(--blue);
}

.team-passcodes > p {
  margin: 18px 16px;
  font-size: 14px;
}

.team-actions-trigger {
  border: 1px solid var(--blue);
  color: var(--blue);
  background: #fff;
  border-radius: 4px;
  align-items: center;
  gap: 8px;
  height: 36px;
  margin: 0 16px 16px;
  padding: 0 10px;
  font-size: 14px;
  display: flex;
}

.team-actions-trigger svg {
  width: 14px;
  height: 14px;
}

.team-passcode-error {
  color: #9b1c31;
  margin: -5px 16px 16px;
  font-size: 13px;
}

.team-restricted-actions {
  border-top: 1px solid #e3e3e3;
  gap: 20px;
  padding: 18px 16px 20px;
  display: grid;
}

.team-restricted-actions section {
  gap: 0;
  display: grid;
}

.team-restricted-actions h3 {
  color: #555;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 7px;
  font-size: 12px;
  font-weight: 700;
}

.team-restricted-actions label {
  border-top: 1px solid #ececec;
  justify-content: space-between;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  display: flex;
}

.team-restricted-actions label > span {
  padding-right: 20px;
}

.team-definitions > div {
  padding: 15px 16px;
}

.team-definitions p {
  margin: 0;
  font-size: 14px;
  line-height: 24px;
}

.team-directory {
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  overflow: hidden;
}

.team-directory > header, .team-directory > div {
  grid-template-columns: minmax(150px, 1.05fr) minmax(190px, 1.2fr) minmax(180px, 1fr) minmax(120px, .7fr) 48px;
  align-items: center;
  min-height: 70px;
  padding: 0 16px;
  display: grid;
}

.team-directory > header {
  background: #fafafa;
  border-bottom: 1px solid #d7d7d7;
  min-height: 45px;
  font-size: 14px;
  font-weight: 600;
}

.team-directory > div + div {
  border-top: 1px solid #d7d7d7;
}

.team-directory > div > strong, .team-directory > div > span {
  font-size: 14px;
  font-weight: 400;
}

.team-directory > div > strong, .team-directory > div > span:nth-child(2) {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
}

.team-pending {
  color: var(--burgundy);
  display: inline-flex;
}

.team-delivery-failed {
  color: #9b1c31;
  font-size: 11px;
}

.team-page-error {
  background: #fff5f5;
  border: 1px solid #eccdcd;
  border-radius: 4px;
  margin: 0 0 16px;
  padding: 10px 12px;
}

.team-directory select, .team-owner-role {
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  width: 100%;
  height: 48px;
  padding: 0 12px;
  font-size: 14px;
}

.team-passcode-cell > button {
  color: var(--blue);
  text-underline-offset: 2px;
  background: none;
  border: 0;
  padding: 0;
  font-size: 13px;
  text-decoration: underline;
}

.team-owner-role {
  border-color: #0000;
  align-items: center;
  display: flex;
}

.team-row-actions {
  position: relative;
}

.team-row-actions > button {
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.team-row-actions > button svg {
  width: 20px;
  height: 20px;
}

.team-row-actions > div {
  z-index: 10;
  background: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  min-width: 190px;
  padding: 4px;
  position: absolute;
  top: 28px;
  right: 0;
  box-shadow: 0 8px 24px #0000001f;
}

.team-row-actions > div button {
  color: #9b1c31;
  font-size: var(--text-small);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 3px;
  width: 100%;
  padding: 9px 10px;
}

.team-row-actions > div button:hover {
  background: #f6f2ef;
}

.team-row-actions > div button:disabled {
  color: #999;
}

.team-directory .team-empty {
  margin: 0;
  padding: 28px 16px;
  font-size: 14px;
}

.control-create-dialog {
  max-width: 520px;
}

.control-dialog-fields {
  gap: 10px;
  display: grid;
}

.control-dialog-fields label {
  margin-top: 5px;
}

.control-dialog-fields select {
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  height: 40px;
  padding: 0 10px;
}

.control-dialog-error {
  color: #9b1c31;
  font-size: var(--text-small);
  margin: 4px 0 0;
}

.manager-passcode-dialog {
  max-width: 440px;
}

.manager-passcode-field {
  gap: 8px;
  padding-block: 6px;
  display: grid;
}

.manager-passcode-field label {
  font-size: 13px;
  font-weight: 600;
}

.manager-passcode-field input {
  letter-spacing: .28em;
  text-align: center;
  font-size: 22px;
}

.manager-passcode-field p {
  color: #9b1c31;
  margin: 0;
  font-size: 13px;
}

@media (max-width: 680px) {
  .team-directory > header {
    display: none;
  }

  .team-directory > div {
    grid-template-columns: minmax(0, 1fr) 40px;
    align-items: stretch;
    gap: 10px;
    padding-block: 16px;
  }

  .team-directory > div > strong, .team-directory > div > span, .team-directory > div > select, .team-directory > div > .team-owner-role, .team-directory > div > .team-passcode-cell {
    grid-column: 1;
  }

  .team-row-actions {
    grid-area: 1 / 2;
  }
}

.business-info-editor {
  max-width: 940px;
}

.business-info-editor > header {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 73px;
  margin-bottom: 24px;
  display: flex;
}

.business-info-editor > header > div:first-child span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.business-info-editor > header h1 {
  letter-spacing: -.02em;
  margin: 2px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.business-info-editor > header > div:last-child {
  align-items: center;
  gap: 20px;
  display: flex;
}

.business-info-editor > header a {
  color: var(--blue);
  align-items: center;
  gap: 3px;
  font-size: 14px;
  display: flex;
}

.business-info-editor > header a svg {
  width: 12px;
  height: 12px;
}

.business-info-editor > header [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 4px;
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.business-info-editor > section {
  border-bottom: 1px solid #d8d8d8;
  flex-direction: column;
  max-width: 600px;
  margin-bottom: 40px;
  padding: 0 0 40px;
  display: flex;
}

.business-info-editor > section:last-child {
  border-bottom: 0;
}

.business-info-editor h2 {
  margin: 0 0 24px;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.business-info-editor h3 {
  margin: 4px 0 20px;
  font-size: 16px;
  font-weight: 600;
}

.business-info-editor label:not(.business-checkbox) {
  font-size: var(--text-small);
  margin: 0 0 4px;
  font-weight: 600;
}

.business-info-editor [data-slot="input"], .business-info-editor select, .business-info-editor textarea {
  border-color: #d2d2d2;
  border-radius: 3px;
  width: 600px;
  font-size: 14px;
}

.business-info-editor [data-slot="input"], .business-info-editor select {
  height: 44px;
}

.business-info-editor textarea {
  resize: vertical;
  min-height: 164px;
}

.business-info-editor section > a {
  color: var(--blue);
  margin-top: 3px;
  font-size: 14px;
}

.business-info-editor > section:first-of-type {
  padding-bottom: 34px;
}

.business-info-editor > section:first-of-type [data-slot="input"] + label {
  margin-top: 22px;
}

.business-info-editor section > p {
  color: #666;
  font-size: var(--text-small);
  margin: 6px 0 24px;
  line-height: 18px;
}

.business-info-editor section > p:first-of-type:not(:last-child) {
  margin-top: 8px;
}

.social-input {
  width: 600px;
  margin-bottom: 22px;
  display: flex;
}

.social-input > span {
  color: #666;
  white-space: nowrap;
  background: #f5f5f5;
  border: 1px solid #d2d2d2;
  border-right: 0;
  border-radius: 3px 0 0 3px;
  align-items: center;
  padding: 0 12px;
  font-size: 14px;
  display: flex;
}

.business-info-editor .social-input [data-slot="input"] {
  border-radius: 0 3px 3px 0;
  flex: 1;
  width: auto;
}

.faq-editor > header > div:last-child {
  gap: 12px;
}

.faq-editor > header [data-variant="outline"] {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.faq-empty {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 116px 24px 80px;
  display: flex;
}

.faq-empty > svg {
  color: #777;
  width: 44px;
  height: 44px;
}

.faq-empty h2 {
  margin: 20px 0 6px;
  font-size: 20px;
}

.faq-empty p {
  color: #666;
  margin: 0;
  font-size: 14px;
}

.faq-list {
  max-width: 720px;
}

.faq-list article {
  border-bottom: 1px solid #ddd;
  grid-template-columns: 30px minmax(0, 1fr) 32px;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 0;
  display: grid;
}

.faq-list article strong {
  font-size: 15px;
}

.faq-list article p {
  color: #666;
  font-size: var(--text-small);
  margin: 4px 0 0;
  line-height: 19px;
}

.faq-reorder {
  flex-direction: column;
  display: flex;
}

.faq-reorder button, .faq-list article > button {
  color: #666;
  width: 28px;
  height: 24px;
}

.faq-reorder svg, .faq-list article > button svg {
  width: 16px;
  height: 16px;
}

.tock-dialog {
  border-radius: 2px;
  gap: 0;
  max-width: 576px;
  padding: 24px;
}

.tock-dialog [data-slot="dialog-title"] {
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.faq-chooser > button:not([data-slot="dialog-close"]) {
  text-align: left;
  border: 1px solid #c9c9c9;
  border-radius: 2px;
  height: 48px;
  margin-top: 12px;
  padding: 0 16px;
  font-size: 14px;
}

.faq-form label {
  font-size: var(--text-small);
  margin: 0 0 4px;
  font-weight: 600;
}

.faq-form [data-slot="input"] {
  border-radius: 2px;
  height: 44px;
  margin-bottom: 20px;
}

.faq-form textarea {
  border-radius: 2px;
  min-height: 130px;
}

.tock-dialog [data-slot="dialog-footer"] {
  border-radius: 0;
  margin-top: 24px;
}

.tock-dialog [data-slot="dialog-footer"] [data-slot="button"] {
  background: var(--blue);
  border-radius: 2px;
  min-width: 92px;
  height: 40px;
}

.faq-library {
  max-height: calc(100vh - 48px);
}

.faq-library > div:nth-child(2) {
  overflow-y: auto;
}

.faq-library label {
  border-bottom: 1px solid #ddd;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 4px;
  display: flex;
}

.faq-library label span {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.faq-library label small {
  color: #666;
  line-height: 18px;
}

.faq-preview details {
  border-bottom: 1px solid #ddd;
  padding: 16px 0;
}

.faq-preview summary {
  cursor: pointer;
  font-weight: 600;
}

.faq-preview details p, .faq-preview > p {
  color: #666;
  line-height: 20px;
}

.settings-panel {
  border: 1px solid #d5d5d5 !important;
  max-width: 600px !important;
  padding: 0 !important;
}

.settings-toggle {
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  display: flex;
}

.settings-toggle span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.settings-toggle strong {
  font-size: 14px;
  font-weight: 600;
}

.settings-toggle small {
  color: #666;
  font-size: var(--text-small);
}

.settings-toggle input {
  appearance: none;
  cursor: pointer;
  background: #aaa;
  border-radius: 11px;
  width: 40px;
  height: 22px;
  position: relative;
}

.settings-toggle input:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  transition: all .15s;
  position: absolute;
  top: 2px;
  left: 2px;
}

.settings-toggle input:checked {
  background: var(--blue);
}

.settings-toggle input:checked:after {
  transform: translateX(18px);
}

.settings-panel hr {
  border: 0;
  border-top: 1px solid #ddd;
  margin: 0;
}

.private-event-email {
  border-top: 1px solid #ddd;
  padding: 24px;
}

.private-events-editor .private-event-email [data-slot="input"] {
  width: 100%;
}

.business-images-editor > section, .business-logo-editor > section {
  max-width: none;
}

.image-layout-picker > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
  display: grid;
}

.image-layout-picker label {
  border: 1px solid var(--line);
  cursor: pointer;
  grid-template-columns: auto 1fr;
  gap: 8px;
  padding: 20px;
  display: grid !important;
}

.image-layout-picker label.selected {
  border-color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
}

.image-layout-picker label input {
  margin-top: 2px;
}

.image-layout-picker label strong {
  font-size: var(--text-small);
}

.image-layout-picker label span {
  color: #716963;
  font-size: var(--text-label);
  grid-column: 2;
  line-height: 1.55;
}

.business-image-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
  display: grid;
}

.business-image-grid article {
  aspect-ratio: 1.12;
  border: 1px solid var(--line);
  background: #f2efeb;
  position: relative;
  overflow: hidden;
}

.business-image-grid article > div {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.business-image-grid article > button {
  background: var(--blue);
  color: #fff;
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 31px;
  height: 31px;
  display: flex;
  position: absolute;
  top: 8px;
  right: 8px;
}

.business-image-grid article > button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.business-image-grid article > button svg {
  width: 16px;
  height: 16px;
}

.image-collection-editor {
  max-width: none;
}

.image-collection-editor > header {
  max-width: 940px;
}

.image-collection-intro {
  border-bottom: 0 !important;
  max-width: 640px !important;
  margin-bottom: 18px !important;
  padding-bottom: 0 !important;
}

.image-collection-intro p {
  color: #606060;
  line-height: 1.55;
}

.image-collection-tabs {
  border-bottom: 1px solid #d8d8d8;
  margin-bottom: 24px;
  display: block;
}

.image-collection-tabs [data-slot="tabs-list"] {
  gap: 22px;
  height: 44px;
  padding: 0;
}

.image-collection-tabs button {
  color: #686868;
  background: none;
  border: 0;
  height: 44px;
  padding: 0 4px;
  font-size: 14px;
  font-weight: 600;
}

.image-collection-tabs button:after {
  background: var(--blue);
  bottom: -1px;
}

.image-collection-tabs button[data-active] {
  color: var(--blue);
}

.image-collection-tabs span {
  color: #4f5d66;
  font-size: var(--text-label);
  background: #edf2f5;
  border-radius: 10px;
  margin-left: 5px;
  padding: 2px 7px;
}

.image-collection-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 940px;
  display: grid;
}

.image-collection-grid article {
  border: 1px solid #d8d8d8;
  min-width: 0;
}

.image-collection-preview {
  aspect-ratio: 1.55;
  background-color: #f1efeb;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.image-collection-grid footer {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 10px 8px 10px 13px;
  display: flex;
}

.image-collection-grid footer > span {
  min-width: 0;
  display: grid;
}

.image-collection-grid footer strong, .image-collection-grid footer small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.image-collection-grid footer strong {
  font-size: var(--text-small);
}

.image-collection-grid footer small {
  color: #727272;
  font-size: var(--text-label);
  text-transform: capitalize;
  margin-top: 4px;
}

.image-collection-grid footer button {
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.image-collection-grid footer svg {
  width: 18px;
  height: 18px;
}

.image-collection-empty {
  text-align: center;
  border: 1px solid #d8d8d8;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 940px;
  min-height: 280px;
  display: flex;
}

.image-collection-empty > svg {
  color: #888;
  width: 28px;
  height: 28px;
}

.image-collection-empty h3 {
  margin: 14px 0 5px;
  font-size: 16px;
}

.image-collection-empty p {
  color: #666;
  font-size: var(--text-small);
  margin: 0 0 18px;
}

@media (max-width: 760px) {
  .image-collection-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

.media-error {
  font-weight: 650;
  color: #a12e29 !important;
}

.business-logo-preview {
  border: 1px solid var(--line);
  background-color: #f3f0eb;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 260px;
  height: 260px;
  margin: 20px 0;
}

.business-logo-preview.empty {
  color: #786f68;
  font-size: var(--text-label);
  justify-content: center;
  align-items: center;
  display: flex;
}

.private-event-email p {
  color: #666;
  font-size: var(--text-small);
  margin: 5px 0 0;
  line-height: 17px;
}

.private-event-inbox {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.private-event-inbox-heading {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.private-event-inbox-heading h2 {
  margin: 0 0 4px;
  font-size: 18px;
}

.private-event-inbox-heading p {
  color: #767676;
  margin: 0;
}

.private-event-inbox-heading > button {
  background: #fff;
  border: 1px solid #c9c9c9;
  border-radius: 3px;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  display: flex;
}

.private-event-inbox-heading > button svg {
  width: 14px;
  height: 14px;
}

.private-event-empty {
  text-align: center;
  background: #fafafa;
  border: 1px solid #dedede;
  padding: 28px;
}

.private-event-empty p {
  color: #747474;
  margin: 6px 0 0;
}

.private-event-inquiry-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.private-event-inquiry-list article {
  background: #fff;
  border: 1px solid #d9d9d9;
  padding: 16px;
}

.private-event-inquiry-list article > header {
  border: 0;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 0;
  padding: 0;
  display: flex;
}

.private-event-inquiry-list article > header strong {
  font-size: 15px;
  display: block;
}

.private-event-inquiry-list article > header span {
  color: #747474;
  text-transform: capitalize;
  margin-top: 2px;
  font-size: 12px;
  display: block;
}

.private-event-inquiry-list article > header em {
  color: #465260;
  text-transform: capitalize;
  background: #edf1f5;
  border-radius: 20px;
  padding: 4px 8px;
  font-size: 11px;
  font-style: normal;
}

.private-event-inquiry-list article > header em[data-status="new"] {
  color: #245da8;
  background: #e9f1ff;
}

.private-event-inquiry-list article > header em[data-status="qualified"] {
  color: #28643a;
  background: #e8f4ec;
}

.private-event-inquiry-list article > header em[data-status="converted"] {
  color: var(--burgundy);
  background: #f3e8ea;
}

.private-event-inquiry-list article dl {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 14px 0 0;
  display: grid;
}

.private-event-inquiry-list article dl div {
  min-width: 0;
}

.private-event-inquiry-list article dt {
  color: #888;
  text-transform: uppercase;
  font-size: 10px;
}

.private-event-inquiry-list article dd {
  overflow-wrap: anywhere;
  margin: 3px 0 0;
}

.private-event-inquiry-list article dd a {
  color: #226aa9;
}

.private-event-notes {
  color: #555;
  white-space: pre-wrap;
  background: #f7f7f7;
  margin: 12px 0 0;
  padding: 10px;
}

.private-event-inquiry-list article footer {
  gap: 8px;
  margin-top: 12px;
  display: flex;
}

.private-event-inquiry-list article footer button, .private-event-inquiry-list article footer a {
  color: #272727;
  background: #fff;
  border: 1px solid #bdbdbd;
  border-radius: 3px;
  align-items: center;
  min-height: 30px;
  padding: 6px 9px;
  text-decoration: none;
  display: inline-flex;
}

.private-event-inquiry-list article footer .private-event-create-action {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
  font-weight: 650;
}

.private-event-inquiry-list article footer button:last-child {
  margin-left: auto;
}

.private-event-linked-reservation {
  color: #242424;
  background: #f9f6f1;
  border: 1px solid #ded5c9;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 11px 12px;
  text-decoration: none;
  display: flex;
}

.private-event-linked-reservation > svg {
  color: var(--burgundy);
  width: 19px;
  height: 19px;
}

.private-event-linked-reservation > svg:last-child {
  color: #6c6c6c;
  width: 15px;
  height: 15px;
  margin-left: auto;
}

.private-event-linked-reservation span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.private-event-linked-reservation small {
  color: #737373;
}

.private-event-convert-dialog {
  max-width: 640px;
}

.private-event-reservation-search {
  flex-direction: column;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.private-event-reservation-search > div {
  border: 1px solid #bdbdbd;
  align-items: center;
  display: flex;
}

.private-event-reservation-search > div:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 1px var(--blue);
}

.private-event-reservation-search svg {
  color: #686868;
  width: 17px;
  height: 17px;
  margin-left: 12px;
}

.private-event-reservation-search [data-slot="input"] {
  box-shadow: none;
  border: 0;
}

.private-event-reservation-results {
  border: 1px solid #dedede;
  flex-direction: column;
  min-height: 112px;
  max-height: 310px;
  display: flex;
  overflow-y: auto;
}

.private-event-reservation-results > p {
  color: #747474;
  text-align: center;
  margin: auto;
  padding: 28px;
}

.private-event-reservation-results > button {
  text-align: left;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #e4e4e4;
  grid-template-columns: minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  display: grid;
}

.private-event-reservation-results > button:last-child {
  border-bottom: 0;
}

.private-event-reservation-results > button:hover {
  background: #faf8f4;
}

.private-event-reservation-results > button.selected {
  box-shadow: inset 3px 0 var(--burgundy);
  background: #f6efef;
}

.private-event-reservation-results > button > span {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.private-event-reservation-results > button > span:first-child small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.private-event-reservation-results > button > span:nth-child(2) {
  align-items: flex-end;
  gap: 3px;
}

.private-event-reservation-results > button small {
  color: #707070;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  display: flex;
}

.private-event-reservation-results > button small svg {
  width: 12px;
  height: 12px;
}

.private-event-reservation-results > button > svg {
  color: var(--burgundy);
  width: 17px;
  height: 17px;
}

.private-event-convert-note {
  color: #737373;
  margin: 0;
  font-size: 12px;
}

@media (max-width: 640px) {
  .private-event-inquiry-list article dl {
    grid-template-columns: 1fr;
  }

  .private-event-inquiry-list article footer {
    flex-wrap: wrap;
  }
}

.widget-instructions {
  padding: 24px;
}

.widget-instructions h2 {
  margin-bottom: 24px;
}

.widget-instructions h3 {
  margin: 18px 0 2px;
  font-size: 14px;
}

.widget-instructions p {
  color: #666;
  font-size: var(--text-small);
  margin: 0 0 10px;
}

.widget-code {
  background: #f5f5f5;
  border: 1px solid #d5d5d5;
  align-items: stretch;
  display: flex;
}

.widget-code code {
  font-size: var(--text-label);
  flex: 1;
  padding: 12px;
  line-height: 17px;
  overflow: auto;
}

.widget-code button {
  color: var(--blue);
  font-size: var(--text-small);
  border-left: 1px solid #d5d5d5;
  align-items: center;
  gap: 5px;
  padding: 0 12px;
  display: flex;
}

.widget-code button svg {
  width: 14px;
  height: 14px;
}

.safety-note {
  background: #e8f3f8;
  align-items: flex-start;
  gap: 10px;
  margin: 0 24px 24px;
  padding: 14px;
  display: flex;
}

.safety-note svg {
  color: var(--blue);
  width: 17px;
  height: 17px;
  margin-top: 1px;
}

.safety-note p {
  color: #38596c;
  font-size: var(--text-small);
  margin: 0;
  line-height: 17px;
}

.safety-groups {
  border-top: 1px solid #ddd;
  padding: 24px;
}

.safety-groups fieldset {
  border: 0;
  margin: 0 0 28px;
  padding: 0;
}

.safety-groups legend {
  margin-bottom: 13px;
  font-size: 14px;
  font-weight: 600;
}

.safety-groups label {
  font-size: var(--text-small);
  align-items: center;
  gap: 10px;
  margin: 11px 0;
  display: flex;
}

.party-statuses-editor {
  max-width: 940px;
}

.party-statuses-editor > header {
  border-bottom: 1px solid #d8d8d8;
  min-height: 73px;
  margin-bottom: 32px;
}

.party-statuses-editor > header span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
}

.party-statuses-editor > header h1 {
  margin: 2px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.party-status-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 42px;
  display: grid;
}

.party-column-heading {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  display: flex;
}

.party-column-heading h2 {
  margin: 0;
  font-size: 18px;
}

.party-column-heading button {
  color: var(--blue);
  font-size: var(--text-small);
  align-items: center;
  gap: 4px;
  display: flex;
}

.party-column-heading button svg {
  width: 14px;
  height: 14px;
}

.party-status-row {
  border-bottom: 1px solid #ddd;
  grid-template-columns: 24px 58px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 8px;
  min-height: 56px;
  display: grid;
}

.party-status-order {
  flex-direction: column;
  display: flex;
}

.party-status-order button {
  color: #777;
  height: 19px;
}

.party-status-order svg {
  width: 14px;
  height: 14px;
}

.party-status-row [data-slot="input"] {
  border-radius: 2px;
  height: 36px;
}

.party-status-row > strong {
  font-size: 14px;
  font-weight: 500;
}

.party-color-trigger {
  border-radius: 2px;
  width: 54px;
  height: 36px !important;
}

.party-color-trigger > span:first-child, .party-color-swatch {
  border-radius: 2px;
  width: 18px;
  height: 18px;
  display: inline-block;
}

.party-delete {
  color: #777;
}

.party-delete svg {
  width: 16px;
  height: 16px;
}

.settings-form {
  max-width: 940px;
}

.settings-form > header {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 73px;
  margin-bottom: 24px;
  display: flex;
}

.settings-form > header span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.settings-form > header h1 {
  margin: 2px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.settings-form > header [data-slot="button"], .settings-form > header > button {
  background: var(--blue);
  color: #fff;
  border-radius: 4px;
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.settings-form > header > button:disabled {
  background: #d9d9d9;
}

.settings-form > section {
  border-bottom: 1px solid #ddd;
  max-width: 600px;
  margin-bottom: 40px;
  padding: 0 0 40px;
}

.settings-form > section:last-child {
  border-bottom: 0;
}

.settings-form h2 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 600;
}

.settings-form section > p {
  margin: 0 0 26px;
  font-size: 14px;
}

.settings-callout {
  background: #f7f7f7;
  border: 1px solid #d7d7d7;
  align-items: flex-start;
  gap: 10px;
  margin-top: 28px;
  padding: 17px 16px;
  display: flex;
}

.settings-callout svg {
  color: #666;
  width: 17px;
  height: 17px;
  margin-top: 1px;
}

.settings-callout p {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.charges-actions {
  gap: 20px;
  margin-top: 16px;
  display: flex;
}

.charges-actions button {
  color: var(--blue);
  font-size: var(--text-small);
}

.delivery-settings-editor > section {
  max-width: 600px;
}

.delivery-settings-editor label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 4px;
  font-weight: 600;
  display: flex;
}

.delivery-settings-editor [data-slot="input"], .delivery-settings-editor [data-slot="select-trigger"] {
  border-radius: 2px;
  width: 100%;
  height: 44px;
}

.delivery-grid {
  gap: 16px;
  display: grid;
}

.distance-grid {
  grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr);
}

.pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  margin-bottom: 24px;
}

.money-input, .prefix-input {
  display: flex;
}

.money-input > span, .prefix-input > span {
  color: #777;
  border: 1px solid #d2d2d2;
  border-right: 0;
  border-radius: 2px 0 0 2px;
  align-items: center;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 400;
  display: flex;
}

.delivery-settings-editor .money-input [data-slot="input"], .delivery-settings-editor .prefix-input [data-slot="input"] {
  border-radius: 0 2px 2px 0;
}

.delivery-settings-editor > section > label {
  margin-top: 24px;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.widget-view > header {
  margin-bottom: 24px;
}

.widget-view > section {
  max-width: 600px;
}

.widget-view section > p {
  line-height: 20px;
}

.widget-view section > a, .widget-plugin-card a {
  color: var(--blue);
  align-items: center;
  gap: 4px;
  font-size: 14px;
  display: inline-flex;
}

.widget-view section > a svg, .widget-plugin-card a svg {
  width: 13px;
  height: 13px;
}

.widget-plugin-card {
  border: 1px solid #d5d5d5;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  display: flex;
}

.widget-plugin-card > svg {
  width: 32px;
  height: 32px;
}

.widget-plugin-card h3 {
  margin: 0 0 4px;
  font-size: 15px;
}

.widget-plugin-card p {
  color: #555;
  font-size: var(--text-small);
  margin: 0 0 10px;
  line-height: 18px;
}

.tags-intro {
  max-width: 920px;
  margin: 0 0 32px;
  font-size: 14px;
  line-height: 20px;
}

.tag-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  display: grid;
}

.tag-columns section {
  max-width: none;
}

.tag-columns h2 {
  margin: 0 0 20px;
  font-size: 20px;
}

.tag-row {
  border-bottom: 1px solid #ddd;
  grid-template-columns: 24px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 10px;
  min-height: 66px;
  display: grid;
}

.tag-row > svg {
  color: #555;
  width: 16px;
  height: 16px;
}

.tag-name {
  color: var(--blue);
  text-align: left;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  display: flex;
}

.tag-name svg {
  color: #222;
  width: 18px;
  height: 18px;
}

.tag-row > button:last-child {
  justify-content: center;
  align-items: center;
  height: 32px;
  display: flex;
}

.tag-empty {
  color: #666;
  font-size: var(--text-small);
  border: 1px solid #ddd;
  padding: 18px;
}

.tag-dialog {
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.tag-dialog fieldset {
  border: 0;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 24px;
  padding: 0;
  display: flex;
}

.tag-dialog legend, .tag-dialog > label, .tag-dialog > p:not(.tag-icon-help) {
  font-size: var(--text-small);
  margin: 0 0 5px;
  font-weight: 600;
}

.tag-dialog fieldset label {
  align-items: center;
  gap: 8px;
  font-size: 14px;
  display: flex;
}

.tag-dialog fieldset input {
  accent-color: var(--blue);
  width: 18px;
  height: 18px;
}

.tag-dialog [data-slot="input"] {
  border-radius: 2px;
  height: 44px;
}

.tag-dialog > small {
  color: #666;
  font-size: var(--text-small);
  margin: 5px 0 24px;
  display: block;
}

.tag-icon-grid {
  border: 1px solid #d5d5d5;
  grid-template-columns: repeat(8, 1fr);
  gap: 4px;
  padding: 10px;
  display: grid;
}

.tag-icon-grid button {
  font-size: var(--text-caption);
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  height: 42px;
  display: flex;
}

.tag-icon-grid button.selected {
  border-color: var(--blue);
  background: #edf5fa;
}

.tag-icon-grid svg {
  width: 18px;
  height: 18px;
}

.tag-icon-help {
  color: #666;
  font-size: var(--text-small);
  margin: 14px 0 0;
  line-height: 17px;
}

.printers-editor > section {
  max-width: 600px;
}

.printer-toggle-panel {
  border: 1px solid #d5d5d5 !important;
  padding: 0 !important;
}

.printer-toggle-panel > label {
  justify-content: space-between;
  align-items: center;
  padding: 20px 16px;
  display: flex;
}

.printer-toggle-panel > label > span:first-child {
  color: #666;
  font-size: 14px;
}

.printer-toggle-panel > label > span:last-child {
  align-items: center;
  gap: 10px;
  font-size: 14px;
  display: flex;
}

.printer-toggle-panel input {
  appearance: none;
  background: #aaa;
  border-radius: 11px;
  width: 40px;
  height: 22px;
  position: relative;
}

.printer-toggle-panel input:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  transition: all .15s;
  position: absolute;
  top: 2px;
  left: 2px;
}

.printer-toggle-panel input:checked {
  background: var(--blue);
}

.printer-toggle-panel input:checked:after {
  transform: translateX(18px);
}

.available-printers h2, .printer-help h2 {
  margin-bottom: 22px;
  font-size: 20px;
}

.printer-empty, .printer-note {
  font-size: var(--text-small);
  background: #f7f7f7;
  border: 1px solid #d5d5d5;
  padding: 16px;
}

.add-printer-button {
  width: 100%;
  border-radius: 2px !important;
  height: 48px !important;
  margin: 12px 0 !important;
}

.printer-note {
  background: #edf4fb;
  border-color: #cedbea;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.printer-note svg {
  color: var(--blue);
  width: 17px;
  height: 17px;
  margin-top: 1px;
}

.printer-note p {
  font-size: var(--text-small);
  margin: 0;
  line-height: 18px;
}

.printer-list > div {
  border-bottom: 1px solid #ddd;
  grid-template-columns: 24px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  display: grid;
}

.printer-list > div > svg {
  width: 18px;
  height: 18px;
}

.printer-list span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.printer-list strong {
  font-size: 14px;
}

.printer-list small {
  color: #666;
  font-size: var(--text-small);
  text-transform: capitalize;
}

.print-queue {
  border-top: 1px solid #ddd !important;
  padding-top: 28px !important;
}

.print-queue-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 18px;
  display: flex;
}

.print-queue-heading h2 {
  margin: 0 0 5px;
  font-size: 20px;
}

.print-queue-heading p {
  color: #666;
  font-size: var(--text-small);
  margin: 0;
  line-height: 18px;
}

.print-queue-heading > span {
  color: #555;
  background: #f2f2f2;
  border-radius: 999px;
  flex: none;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 600;
}

.print-job-list {
  border: 1px solid #d5d5d5;
}

.print-job-list article {
  border-bottom: 1px solid #e0e0e0;
  padding: 16px;
}

.print-job-list article:last-child {
  border-bottom: 0;
}

.print-job-status-row {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 9px;
  display: flex;
}

.print-job-status-row time {
  color: #777;
  font-size: 11px;
}

.print-job-status {
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 10px;
  font-weight: 700;
}

.print-job-status.queued, .print-job-status.printing {
  color: #245f98;
  background: #edf4fb;
}

.print-job-status.completed {
  color: #27713e;
  background: #e9f5ed;
}

.print-job-status.failed, .print-job-status.canceled {
  color: #9a302b;
  background: #fbeceb;
}

.print-job-list h3 {
  margin: 0 0 4px;
  font-size: 14px;
}

.print-job-list article > p {
  color: #666;
  margin: 0;
  font-size: 11px;
  line-height: 17px;
}

.print-job-list dl {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  margin: 14px 0 0;
  display: grid;
}

.print-job-list dl > div {
  min-width: 0;
}

.print-job-list dt {
  color: #888;
  text-transform: uppercase;
  font-size: 10px;
}

.print-job-list dd {
  overflow-wrap: anywhere;
  margin: 3px 0 0;
  font-size: 11px;
}

.print-job-list .print-job-error {
  color: #8c332e;
  background: #fff6f5;
  border-left: 2px solid #c9564f;
  margin-top: 12px;
  padding: 8px 10px;
}

.print-job-list [data-slot="button"] {
  margin-top: 12px;
}

.printer-help {
  background: #fafafa;
  border: 1px solid #ddd !important;
  padding: 24px !important;
}

.printer-help > div {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.printer-help article {
  background: #fff;
  border: 1px solid #ddd;
  padding: 18px;
}

.printer-help h3 {
  margin: 0 0 8px;
  font-size: 14px;
}

.printer-help p {
  color: #666;
  font-size: var(--text-small);
  margin: 0;
  line-height: 17px;
}

.add-printer-dialog > p {
  font-size: var(--text-small);
  margin: 0 0 24px;
}

.add-printer-dialog > label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 5px;
  margin-bottom: 20px;
  font-weight: 600;
  display: flex;
}

.add-printer-dialog select, .add-printer-dialog [data-slot="input"] {
  border: 1px solid #d5d5d5;
  border-radius: 2px;
  height: 44px;
  padding: 0 12px;
}

.add-printer-dialog label small {
  color: #666;
  font-size: var(--text-small);
  font-weight: 400;
  line-height: 17px;
}

.add-printer-dialog [data-slot="dialog-footer"] {
  gap: 8px;
}

.printer-test-status {
  color: var(--blue);
  font-size: var(--text-small);
}

@media (max-width: 900px) {
  .social-input {
    width: 100%;
  }

  .party-status-columns, .distance-grid, .pricing-grid, .tag-columns {
    grid-template-columns: 1fr;
  }
}

.business-checkbox {
  align-items: center;
  gap: 9px;
  margin-top: 14px;
  font-size: 14px;
  display: flex;
}

.business-checkbox input {
  accent-color: var(--burgundy);
  width: 18px;
  height: 18px;
}

.address-editor > header {
  margin-bottom: 40px;
}

.address-editor > section {
  gap: 0;
}

.address-search-field {
  position: relative;
}

.address-search-field > svg {
  color: #777;
  pointer-events: none;
  z-index: 1;
  width: 17px;
  height: 17px;
  position: absolute;
  top: 14px;
  left: 13px;
}

.address-search-field > button {
  color: #555;
  z-index: 1;
  width: 32px;
  height: 44px;
  font-size: 22px;
  line-height: 1;
  position: absolute;
  top: 0;
  right: 8px;
}

.business-info-editor .address-search-field [data-slot="input"] {
  padding-left: 39px;
}

.address-map {
  background: #f2f2f2;
  border: 1px solid #d2d2d2;
  border-top: 0;
  justify-content: center;
  align-items: center;
  width: 600px;
  height: 268px;
  display: flex;
  overflow: hidden;
}

.address-map iframe {
  border: 0;
  width: 100%;
  height: 100%;
}

.address-manual-copy {
  color: #666;
  font-size: var(--text-small);
  margin: 5px 0 12px;
}

.address-manual-trigger {
  color: var(--blue);
  font-size: inherit;
  text-decoration: underline;
}

.address-manual-grid {
  flex-direction: column;
  margin-bottom: 24px;
  display: flex;
}

.address-manual-grid > [data-slot="input"] {
  margin-bottom: 16px;
}

.address-manual-row {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.address-manual-row label {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.business-info-editor .address-manual-row [data-slot="input"] {
  width: 100%;
}

.address-editor #address-line-2 {
  margin-bottom: 10px;
}

.address-editor .business-checkbox span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.address-editor .business-checkbox strong {
  font-size: 14px;
  font-weight: 500;
}

.address-editor .business-checkbox small {
  color: #666;
  font-size: var(--text-small);
  line-height: 17px;
}

.address-parking-options {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.address-parking-options .business-checkbox {
  margin-top: 0;
}

@media (max-width: 900px) {
  .business-info-editor [data-slot="input"], .business-info-editor select, .business-info-editor textarea, .address-map {
    width: 100%;
  }

  .business-info-editor > header {
    align-items: flex-start;
    gap: 16px;
  }

  .business-info-editor > header > div:last-child {
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
  }

  .business-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .image-layout-picker > div {
    grid-template-columns: 1fr;
  }
}

.public-hours-editor {
  max-width: 940px;
}

.public-hours-editor > header {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 73px;
  margin-bottom: 48px;
  display: flex;
}

.public-hours-editor > header > div:first-child span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.public-hours-editor > header h1 {
  margin: 2px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.public-hours-editor > header > div:last-child {
  align-items: center;
  gap: 20px;
  display: flex;
}

.public-hours-editor > header a {
  color: var(--blue);
  align-items: center;
  gap: 3px;
  font-size: 14px;
  display: flex;
}

.public-hours-editor > header a svg {
  width: 12px;
  height: 12px;
}

.public-hours-editor > header [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 4px;
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.public-hours-panel {
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  max-width: 600px;
  padding: 24px;
}

.public-hours-display-row {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.public-hours-display-row strong {
  font-size: 16px;
}

.public-hours-display-row button[role="switch"] {
  background: #aaa;
  border: 0;
  border-radius: 18px;
  width: 68px;
  height: 36px;
  padding: 2px;
}

.public-hours-display-row button[role="switch"] span {
  background: #fff;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: block;
}

.public-hours-display-row button[role="switch"].on {
  background: #3b8c55;
}

.public-hours-display-row button[role="switch"].on span {
  transform: translateX(32px);
}

.public-hours-note {
  background: #f1f6fc;
  border: 1px solid #b7d0e7;
  border-radius: 4px;
  margin: 24px 0;
  padding: 16px;
  font-size: 14px;
  line-height: 20px;
}

.public-hours-week {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.public-hours-day {
  grid-template-columns: 48px 44px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  display: grid;
}

.public-hours-day > strong {
  font-size: 14px;
  line-height: 44px;
}

.public-hours-day > button {
  background: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
}

.public-hours-day > button svg {
  width: 16px;
  height: 16px;
}

.public-hours-day > div {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.public-hours-closed {
  color: #777;
  background: #f7f7f7;
  justify-content: center;
  align-items: center;
  height: 44px;
  font-size: 14px;
  display: flex;
}

.public-hours-window {
  grid-template-columns: 115px 115px 115px 36px;
  gap: 8px;
  display: grid;
}

.public-hours-window select {
  background: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  min-width: 0;
  height: 44px;
  padding: 0 10px;
  font-size: 14px;
}

.public-hours-window button {
  color: #c43d4e;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.public-hours-window button svg {
  width: 18px;
  height: 18px;
}

.tock-policies-editor {
  max-width: 940px;
}

.tock-policies-editor > header {
  border-bottom: 1px solid #d8d8d8;
  min-height: 73px;
}

.tock-policies-editor > header span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.tock-policies-editor > header h1 {
  margin: 2px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.policy-help {
  background: #fafafa;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin: 24px 0 55px;
  padding: 17px 16px;
  font-size: 14px;
}

.policy-help a {
  color: inherit;
  text-decoration: underline;
}

.policy-section {
  margin-bottom: 48px;
}

.policy-section > header {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 61px;
  margin-bottom: 24px;
  display: flex;
}

.policy-section h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.policy-section > header [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 4px;
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.policy-section > header [data-slot="button"]:disabled {
  color: #fff;
  opacity: 1;
  background: #ddd;
}

.policy-card {
  border: 1px solid #d8d8d8;
  border-radius: 4px;
}

.policy-checks, .policy-window, .policy-message {
  flex-direction: column;
  padding: 22px 16px;
  display: flex;
}

.policy-checks, .policy-window {
  border-bottom: 1px solid #d8d8d8;
}

.policy-checks {
  gap: 14px;
}

.policy-checks label, .policy-default {
  align-items: center;
  gap: 10px;
  font-size: 14px;
  display: flex;
}

.policy-checks input, .policy-default input {
  accent-color: var(--burgundy);
  width: 18px;
  height: 18px;
}

.policy-window > label, .policy-message > label:not(.policy-default), .policy-free-section > label {
  font-size: var(--text-small);
  margin-bottom: 4px;
  font-weight: 600;
}

.policy-window select {
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  max-width: 280px;
  height: 44px;
  padding: 0 10px;
  font-size: 14px;
}

.policy-window p, .policy-message p, .policy-free-section > p {
  color: #666;
  font-size: var(--text-small);
  margin: 6px 0 0;
  line-height: 18px;
}

.policy-default {
  margin-bottom: 30px;
}

.policy-message textarea, .policy-free-section textarea {
  resize: vertical;
  border-color: #d7d7d7;
  border-radius: 3px;
  min-height: 104px;
  font-size: 14px;
}

.policy-message p {
  background: #f1f6fc;
  border: 1px solid #b7d0e7;
  border-radius: 4px;
  padding: 14px;
}

.policy-free-section > header {
  margin-bottom: 24px;
}

.policy-free-section textarea {
  min-height: 88px;
}

.tock-messages-editor {
  max-width: 940px;
}

.tock-messages-editor > header {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 73px;
  margin-bottom: 24px;
  display: flex;
}

.tock-messages-editor > header span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.tock-messages-editor > header h1 {
  margin: 2px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.tock-messages-editor > header [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 4px;
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.tock-messages-editor > header [data-slot="button"]:disabled {
  color: #fff;
  opacity: 1;
  background: #ddd;
}

.tock-messages-editor > section {
  border-bottom: 1px solid #d8d8d8;
  max-width: 600px;
  margin-bottom: 40px;
  padding: 0 0 39px;
}

.tock-messages-editor > section:last-child {
  border-bottom: 0;
}

.tock-messages-editor h2 {
  margin: 0 0 19px;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.tock-messages-editor label {
  flex-direction: column;
  gap: 0;
  font-size: 14px;
  display: flex;
}

.tock-messages-editor textarea {
  resize: vertical;
  border-color: #d7d7d7;
  border-radius: 3px;
  min-height: 90px;
  font-size: 14px;
  line-height: 20px;
}

.tock-messages-editor section p {
  color: #666;
  font-size: var(--text-small);
  margin: 7px 0 0;
  line-height: 18px;
}

.tock-notifications-editor {
  max-width: 940px;
}

.tock-notifications-editor > header {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 73px;
  margin-bottom: 24px;
  display: flex;
}

.tock-notifications-editor > header span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.tock-notifications-editor > header h1 {
  margin: 2px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.tock-notifications-editor > header [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 4px;
  height: 44px;
  padding: 0 16px;
  font-size: 14px;
}

.tock-notifications-editor > header [data-slot="button"]:disabled {
  color: #fff;
  opacity: 1;
  background: #ddd;
}

.tock-notifications-editor > section {
  border-bottom: 1px solid #d8d8d8;
  max-width: 600px;
  margin-bottom: 40px;
  padding: 0 0 54px;
}

.tock-notifications-editor > section:last-child {
  border-bottom: 0;
}

.tock-notifications-editor h2 {
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}

.tock-notifications-editor section > p {
  margin: 0 0 26px;
  font-size: 14px;
  line-height: 20px;
}

.tock-notifications-editor section > label {
  flex-direction: column;
  gap: 0;
  font-size: 14px;
  display: flex;
}

.tock-notifications-editor section [data-slot="input"] {
  border-color: #d7d7d7;
  border-radius: 3px;
  height: 48px;
  font-size: 14px;
}

.tock-notifications-editor section > small {
  color: #666;
  font-size: var(--text-small);
  margin: 7px 0 32px;
  display: block;
}

.notification-filter-options {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.notification-filter-options label {
  align-items: center;
  gap: 10px;
  font-size: 14px;
  display: flex;
}

.notification-filter-options input {
  accent-color: var(--burgundy);
  width: 18px;
  height: 18px;
}

.notification-filter-options select {
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  max-width: 300px;
  height: 44px;
  margin-left: 28px;
  padding: 0 10px;
}

.sales-tax-settings {
  max-width: 940px;
}

.sales-tax-settings > header {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 57px;
  margin-bottom: 24px;
  display: flex;
}

.sales-tax-settings > header h1 {
  margin: -4px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.sales-tax-settings > header a, .sales-tax-explainer a, .taxed-goods a {
  color: var(--blue);
}

.sales-tax-settings > header a {
  align-items: center;
  gap: 3px;
  font-size: 14px;
  display: flex;
}

.sales-tax-settings > header a svg {
  width: 12px;
  height: 12px;
}

.sales-tax-explainer {
  color: #666;
  font-size: var(--text-small);
  margin: 0 0 38px;
  line-height: 18px;
}

.sales-tax-settings > h2, .taxed-goods h2 {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.sales-tax-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 40px;
  display: grid;
}

.sales-tax-category-grid > section {
  border: 1px solid #d8d8d8;
  min-height: 188px;
}

.sales-tax-category-grid > section > header {
  background: #fafafa;
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 80px;
  padding: 12px 16px;
  display: flex;
}

.sales-tax-category-grid > section > header div {
  flex-direction: column;
  display: flex;
}

.sales-tax-category-grid > section > header strong {
  font-size: 22px;
  font-weight: 600;
}

.sales-tax-category-grid > section > header span {
  font-size: 14px;
  line-height: 19px;
}

.sales-tax-category-grid > section > header a {
  color: var(--blue);
  background: none;
}

.sales-tax-category-grid > section > header a svg {
  width: 16px;
  height: 16px;
}

.sales-tax-category-grid > section > div p {
  border-bottom: 1px solid #e4e4e4;
  justify-content: space-between;
  align-items: center;
  min-height: 53px;
  margin: 0;
  padding: 0 16px;
  font-size: 14px;
  display: flex;
}

.sales-tax-category-grid > section > div p:last-child {
  border-bottom: 0;
}

.taxed-goods > p {
  font-size: 14px;
}

.taxed-goods > div {
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  display: flex;
}

.taxed-goods select {
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  min-width: 190px;
  height: 44px;
  padding: 0 10px;
}

.taxed-goods label {
  align-items: center;
  gap: 8px;
  font-size: 14px;
  display: flex;
}

.taxed-goods table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}

.taxed-goods th, .taxed-goods td {
  text-align: left;
  border: 1px solid #d8d8d8;
  padding: 12px;
}

.control-overview section {
  border-top: 2px solid var(--ink);
  padding-top: 12px;
}

.control-overview section:last-child {
  grid-column: 1 / -1;
}

.control-overview h3 {
  font-family: var(--serif);
  margin: 0 0 9px;
  font-size: 17px;
  font-weight: 500;
}

.control-row {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  min-height: 43px;
  display: flex;
}

.control-row span {
  font-size: var(--text-caption);
  text-transform: capitalize;
  align-items: center;
  gap: 7px;
  display: flex;
}

.control-row svg {
  color: #4b7c5d;
  height: 13px;
}

.control-row strong {
  font-size: var(--text-caption);
}

.control-row strong.ok {
  color: #3f7654;
}

.control-row strong.warning {
  color: var(--terracotta);
}

.control-overview section > p {
  font-size: var(--text-caption);
  align-items: center;
  gap: 7px;
  display: flex;
}

.control-overview section > p svg {
  color: var(--blue);
  height: 15px;
}

.capability-list {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.capability-list [data-slot="badge"] {
  font-size: var(--text-caption);
}

.control-link-panel {
  border-left: 3px solid var(--burgundy);
  max-width: 620px;
  padding: 8px 0 8px 24px;
}

.control-link-panel > span {
  color: var(--terracotta);
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.control-link-panel h3 {
  font-family: var(--serif);
  margin: 6px 0;
  font-size: 28px;
  font-weight: 400;
}

.control-link-panel p {
  color: #7d7169;
  font-size: var(--text-caption);
  line-height: 1.6;
}

.control-link-panel > a {
  color: var(--burgundy);
  font-size: var(--text-caption);
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  font-weight: 650;
  text-decoration: none;
  display: flex;
}

.control-link-panel > a svg {
  height: 14px;
}

.configuration-list {
  border-top: 1px solid var(--line);
}

.configuration-list header, .configuration-list > div {
  border-bottom: 1px solid var(--line);
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 48px;
  padding: 0 9px;
  display: grid;
}

.configuration-list header {
  color: #8d8178;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.configuration-list strong {
  font-size: var(--text-caption);
  text-transform: capitalize;
}

.configuration-list [data-slot="badge"] {
  font-size: var(--text-caption);
}

.integration-directory, .connected-integrations, .billing-view {
  max-width: 940px;
}

.integration-page-heading {
  border-bottom: 1px solid #d8d8d8;
  min-height: 73px;
  margin-bottom: 32px;
}

.integration-page-heading span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.integration-page-heading h1 {
  margin: 2px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.integration-directory > section {
  margin-bottom: 38px;
}

.integration-directory > section > h2 {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 600;
}

.integration-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.integration-card {
  border: 1px solid #d7d7d7;
  flex-direction: column;
  min-height: 276px;
  padding: 22px 20px 20px;
  display: flex;
}

.integration-card-title {
  align-items: center;
  gap: 12px;
  display: flex;
}

.integration-card-title > span, .connected-integration-icon {
  background: #f2f2f2;
  border: 1px solid #dedede;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  display: flex;
}

.integration-card-title svg, .connected-integration-icon svg {
  color: var(--blue);
  width: 20px;
  height: 20px;
}

.integration-card h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.integration-card > p {
  color: #4f4f4f;
  font-size: var(--text-small);
  margin: 18px 0 12px;
  line-height: 19px;
}

.integration-card > a {
  color: var(--blue);
  font-size: var(--text-small);
  align-items: center;
  gap: 4px;
  width: fit-content;
  margin-bottom: 18px;
  display: inline-flex;
}

.integration-card > a svg {
  width: 12px;
  height: 12px;
}

.integration-card > [data-slot="button"] {
  border-radius: 3px;
  width: 100%;
  height: 40px;
  margin-top: auto;
}

.integration-card > small {
  color: #666;
  font-size: var(--text-label);
  border-top: 1px solid #e1e1e1;
  margin-top: auto;
  padding-top: 14px;
  line-height: 16px;
}

.integration-dialog {
  max-width: 560px;
}

.integration-dialog-footer {
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  width: 100%;
  display: grid !important;
}

.integration-switch-row {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  justify-content: space-between;
  align-items: center;
  margin: 8px 0;
  padding: 18px 0;
  flex-direction: row !important;
  display: flex !important;
}

.integration-switch-row span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.integration-switch-row small {
  color: #666;
  font-size: var(--text-label);
  font-weight: 400;
}

.integration-switch-row input {
  accent-color: var(--blue);
  width: 18px;
  height: 18px;
}

.connected-integration-list {
  border-top: 1px solid #d8d8d8;
}

.connected-integration-row {
  border-bottom: 1px solid #d8d8d8;
  grid-template-columns: 44px minmax(180px, 1fr) 145px 100px 32px;
  align-items: center;
  gap: 16px;
  min-height: 92px;
  display: grid;
}

.connected-integration-row > div:nth-child(2) {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.connected-integration-row > div:nth-child(2) button {
  color: var(--blue);
  text-align: left;
  font-size: 14px;
  font-weight: 600;
}

.connected-integration-row small {
  color: #777;
  font-size: var(--text-label);
}

.connected-integration-row > p {
  color: #333;
  font-size: var(--text-small);
  margin: 0;
}

.connected-integration-row > p span {
  color: #777;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-bottom: 3px;
  display: block;
}

.connected-integration-row > a {
  color: var(--blue);
  font-size: var(--text-small);
  align-items: center;
  gap: 4px;
  display: flex;
}

.connected-integration-row > a svg {
  width: 12px;
  height: 12px;
}

.connected-integration-menu {
  position: relative;
}

.connected-integration-menu > button {
  width: 32px;
  height: 32px;
}

.connected-integration-menu svg {
  width: 17px;
  height: 17px;
}

.connected-integration-menu > div {
  z-index: 5;
  background: #fff;
  border: 1px solid #d8d8d8;
  min-width: 150px;
  padding: 5px;
  position: absolute;
  top: 34px;
  right: 0;
  box-shadow: 0 8px 18px #0000001a;
}

.connected-integration-menu > div button {
  font-size: var(--text-small);
  text-align: left;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 8px;
  display: flex;
}

.connected-integration-menu > div button:last-child {
  color: #a12e29;
}

.integration-empty {
  color: #666;
  text-align: center;
  border-bottom: 1px solid #ddd;
  flex-direction: column;
  align-items: center;
  padding: 70px 20px;
  display: flex;
}

.integration-empty > svg {
  width: 28px;
  height: 28px;
}

.integration-empty h2 {
  color: #222;
  margin: 14px 0 5px;
  font-size: 17px;
}

.integration-empty p {
  font-size: var(--text-small);
  margin: 0;
}

.integration-marketing label {
  font-size: var(--text-small);
  margin-bottom: 5px;
  font-weight: 600;
  display: block;
}

.integration-marketing [data-slot="input"] {
  border-radius: 2px;
  max-width: 420px;
  height: 44px;
}

.integration-section-title {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.integration-section-title > span {
  color: #477b5b;
  font-size: var(--text-label);
  align-items: center;
  gap: 5px;
  font-weight: 600;
  display: flex;
}

.integration-section-title svg {
  width: 14px;
  height: 14px;
}

.field-error {
  color: #a12e29;
  font-size: var(--text-label);
  margin-top: 5px;
  display: block;
}

.marketing-view > section {
  max-width: 600px;
}

.marketing-opt-in-section {
  padding-top: 4px !important;
}

.marketing-opt-in-section label {
  align-items: center;
  gap: 13px;
  font-size: 14px;
  display: flex;
}

.marketing-opt-in-section input {
  appearance: none;
  cursor: pointer;
  background: #aaa;
  border-radius: 11px;
  width: 40px;
  height: 22px;
  position: relative;
}

.marketing-opt-in-section input:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  transition: all .15s;
  position: absolute;
  top: 2px;
  left: 2px;
}

.marketing-opt-in-section input:checked {
  background: var(--blue);
}

.marketing-opt-in-section input:checked:after {
  transform: translateX(18px);
}

.marketing-view section > [data-slot="button"] {
  border-radius: 3px;
  height: 42px;
}

.marketing-view section > [data-slot="button"] svg {
  width: 15px;
  height: 15px;
}

.billing-view > .control-page-heading {
  margin-bottom: 0;
}

.billing-section {
  border-bottom: 1px solid #d8d8d8;
  padding: 30px 0 34px;
}

.billing-section > h2 {
  margin: 0 0 16px;
  font-size: 17px;
}

.billing-plan-callout {
  background: #f5f5f5;
  border: 1px solid #d8d8d8;
  padding: 20px;
}

.billing-plan-callout strong {
  font-size: 15px;
}

.billing-plan-callout p {
  font-size: var(--text-small);
  margin: 7px 0 0;
}

.billing-plan-callout small {
  color: #666;
  font-size: var(--text-label);
  margin-top: 8px;
  display: block;
}

.billing-detail-row {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  max-width: 720px;
  display: grid;
}

.billing-detail-row > svg {
  color: #555;
  width: 22px;
  height: 22px;
}

.billing-detail-row > div {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.billing-detail-row strong {
  font-size: var(--text-small);
}

.billing-detail-row span {
  color: #666;
  font-size: var(--text-small);
}

.billing-detail-row > button, .billing-detail-row > a {
  color: var(--blue);
  font-size: var(--text-small);
  align-items: center;
  gap: 5px;
  display: flex;
}

.billing-detail-row > a svg {
  width: 14px;
  height: 14px;
}

.billing-invoices > p {
  color: #666;
  font-size: var(--text-small);
}

.billing-invoices > div > div {
  border-top: 1px solid #e0e0e0;
  grid-template-columns: minmax(0, 1fr) 100px 100px;
  align-items: center;
  gap: 20px;
  min-height: 66px;
  display: grid;
}

.billing-invoices span {
  flex-direction: column;
  display: flex;
}

.billing-invoices small {
  color: #777;
  font-size: var(--text-caption);
  margin-top: 3px;
}

.billing-invoices a {
  color: var(--blue);
  font-size: var(--text-small);
  align-items: center;
  gap: 4px;
  display: flex;
}

.billing-invoices svg {
  width: 13px;
  height: 13px;
}

.billing-dialog {
  max-width: 520px;
}

.billing-field-grid {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.billing-field-grid label {
  flex-direction: column;
  gap: 5px;
  display: flex;
}

@media (max-width: 900px) {
  .integration-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .connected-integration-row {
    grid-template-columns: 44px minmax(140px, 1fr) 32px;
    padding: 14px 0;
  }

  .connected-integration-row > p, .connected-integration-row > a {
    display: none;
  }
}

@media (max-width: 620px) {
  .integration-card-grid {
    grid-template-columns: 1fr;
  }

  .integration-card {
    min-height: 235px;
  }

  .integration-dialog-footer {
    grid-template-columns: 1fr 1fr !important;
  }

  .integration-dialog-footer > span {
    display: none;
  }

  .billing-field-grid {
    grid-template-columns: 1fr;
  }
}

.menu-library-page, .menu-editor-view {
  max-width: 940px;
}

.menu-library-heading {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  min-height: 73px;
  margin-bottom: 24px;
  display: flex;
}

.menu-library-heading > div:first-child > span {
  color: #676767;
  font-size: var(--text-label);
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
}

.menu-library-heading h1 {
  margin: 2px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.menu-library-heading > div:last-child {
  gap: 12px;
  display: flex;
}

.menu-library-heading [data-slot="button"] {
  border-radius: 4px;
  height: 44px;
}

.menu-library-heading svg {
  width: 15px;
  height: 15px;
}

.menu-about-panel {
  background: #f5f5f5;
  border: 1px solid #d8d8d8;
  margin: 0 0 24px;
  padding: 17px 20px;
}

.menu-about-panel header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.menu-about-panel h2 {
  margin: 0;
  font-size: 15px;
}

.menu-about-panel button {
  color: var(--blue);
  font-size: var(--text-small);
}

.menu-about-panel p {
  color: #555;
  font-size: var(--text-small);
  max-width: 720px;
  margin: 7px 0 0;
  line-height: 19px;
}

.menu-library-tabs, .item-library-tabs {
  border-bottom: 1px solid #d8d8d8;
  gap: 32px;
  margin-bottom: 24px;
  display: flex;
}

.menu-library-tabs button, .item-library-tabs span {
  color: #666;
  font-size: var(--text-small);
  border-bottom: 3px solid #0000;
  height: 42px;
  padding: 0 2px;
}

.menu-library-tabs button[aria-selected="true"], .item-library-tabs span {
  border-bottom-color: var(--blue);
  color: #222;
  font-weight: 600;
}

.menu-library-list {
  border-top: 1px solid #d8d8d8;
}

.menu-library-list article {
  border-bottom: 1px solid #d8d8d8;
  padding: 18px 0;
}

.menu-library-list article > header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.menu-library-list h2 {
  margin: 0;
  font-size: 15px;
}

.menu-library-list header > div {
  align-items: center;
  gap: 8px;
  display: flex;
}

.menu-library-list [data-slot="button"] {
  border-radius: 3px;
  height: 36px;
}

.menu-library-list header > div > button:last-child {
  color: #666;
  width: 32px;
  height: 32px;
}

.menu-library-list svg {
  width: 16px;
  height: 16px;
}

.menu-library-list p {
  color: #666;
  font-size: var(--text-small);
  margin: 7px 0 0;
}

.menu-empty-state {
  text-align: center;
  background: #f7f7f7;
  border: 1px solid #d8d8d8;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 150px;
  padding: 28px;
  display: flex;
}

.menu-empty-state h3 {
  margin: 0 0 5px;
  font-size: 15px;
}

.menu-empty-state p {
  color: #666;
  font-size: var(--text-small);
  max-width: 600px;
  margin: 0;
  line-height: 19px;
}

.menu-empty-state [data-slot="button"] {
  margin-top: 18px;
}

.menu-naming-tips {
  font-size: var(--text-small);
  background: #f5f5f5;
  border: 1px solid #ddd;
  flex-direction: column;
  gap: 4px;
  padding: 13px;
  display: flex;
}

.menu-naming-tips strong {
  margin-bottom: 2px;
}

.menu-editor-toolbar {
  background: #fafafa;
  border: 1px solid #d8d8d8;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 0 18px;
  display: grid;
}

.menu-editor-toolbar > button {
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  display: flex;
}

.menu-editor-toolbar > button svg {
  width: 18px;
  height: 18px;
}

.menu-editor-toolbar h1 {
  margin: 0;
  font-size: 20px;
}

.menu-editor-toolbar span {
  color: #666;
  font-size: var(--text-label);
}

.menu-editor-toolbar [data-slot="button"] {
  border-radius: 3px;
}

.menu-editor-heading {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: center;
  padding: 30px 0 16px;
  display: flex;
}

.menu-editor-heading h2 {
  margin: 0;
  font-size: 17px;
}

.menu-editor-heading > div {
  gap: 10px;
  display: flex;
}

.menu-editor-heading [data-slot="button"] {
  border-radius: 3px;
  height: 38px;
}

.menu-sections-list > section {
  border-bottom: 1px solid #d8d8d8;
  padding: 18px 0;
}

.menu-sections-list > section > header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.menu-sections-list > section > header > div {
  align-items: center;
  gap: 8px;
  display: flex;
}

.menu-sections-list > section > header > div > span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.menu-sections-list h3 {
  margin: 0;
  font-size: 15px;
}

.menu-sections-list header small {
  color: #707070;
  font-size: var(--text-label);
  font-weight: 400;
}

.menu-sections-list svg {
  width: 16px;
  height: 16px;
}

.menu-section-actions {
  position: relative;
}

.menu-section-actions > div {
  z-index: 5;
  background: #fff;
  border: 1px solid #d8d8d8;
  min-width: 140px;
  padding: 5px;
  position: absolute;
  top: 28px;
  right: 0;
  box-shadow: 0 8px 18px #0000001a;
}

.menu-section-actions > div button {
  color: #222;
  font-size: var(--text-small);
  text-align: left;
  width: 100%;
  padding: 8px;
}

.menu-section-actions > div button:last-child {
  color: #a12e29;
}

.menu-sections-list p {
  color: #777;
  font-size: var(--text-small);
  margin: 13px 24px;
}

.menu-sections-list > section > button {
  color: var(--blue);
  font-size: var(--text-small);
  margin: 12px 24px 0;
}

.menu-section-item {
  font-size: var(--text-small);
  border-top: 1px solid #eee;
  justify-content: space-between;
  align-items: center;
  margin: 12px 24px 0;
  padding-top: 12px;
  display: flex;
}

.menu-item-chooser {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  max-height: 390px;
  overflow-y: auto;
}

.menu-item-chooser > label {
  border-bottom: 1px solid #eee;
  align-items: center;
  gap: 12px;
  padding: 12px 4px;
  display: flex;
}

.menu-item-chooser label > span:last-child {
  flex-direction: column;
  display: flex;
}

.menu-item-chooser small {
  color: #666;
  font-size: var(--text-label);
}

.menu-settings-sheet, .menu-section-sheet {
  gap: 0 !important;
  width: min(520px, 100vw) !important;
  max-width: 520px !important;
}

.menu-settings-sheet [data-slot="sheet-header"], .menu-section-sheet [data-slot="sheet-header"], .item-editor-sheet [data-slot="sheet-header"], .modifier-editor-sheet [data-slot="sheet-header"] {
  border-bottom: 1px solid #ddd;
  min-height: 64px;
  padding: 20px 24px;
}

.menu-settings-body, .menu-section-sheet-body, .item-editor-body, .modifier-editor-body {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}

.menu-section-sheet-body > label, .menu-section-limit-grid > label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 6px;
  margin-bottom: 18px;
  font-weight: 600;
  display: flex;
}

.menu-section-sheet-body textarea {
  resize: vertical;
  border: 1px solid #d0d0d0;
  border-radius: 2px;
  min-height: 90px;
  padding: 10px;
}

.menu-section-sheet-body select {
  background: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 2px;
  height: 42px;
  padding: 0 10px;
}

.menu-section-sheet-body label > small, .menu-section-sheet-body > p {
  color: #707070;
  font-size: var(--text-label);
  font-weight: 400;
}

.menu-section-sheet-body > hr {
  border: 0;
  border-top: 1px solid #ddd;
  margin: 6px 0 24px;
}

.menu-section-sheet-body > h3 {
  margin: 0 0 18px;
  font-size: 16px;
}

.menu-section-sheet-body > p {
  margin: -10px 0 18px;
  line-height: 1.45;
}

.menu-section-limit-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.menu-section-check {
  border-top: 1px solid #eee;
  align-items: flex-start;
  padding: 14px 0;
  flex-direction: row !important;
  gap: 10px !important;
  margin: 0 !important;
}

.menu-section-check > span:last-child {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.menu-settings-body > label, .item-editor-body > label, .modifier-editor-body > label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 5px;
  margin-bottom: 20px;
  font-weight: 600;
  display: flex;
}

.menu-settings-body [data-slot="input"], .item-editor-body [data-slot="input"], .modifier-editor-body [data-slot="input"], .item-editor-body select {
  border-radius: 2px;
  height: 42px;
}

.menu-settings-body hr, .item-editor-body hr, .modifier-editor-body hr {
  border: 0;
  border-top: 1px solid #ddd;
  margin: 26px 0;
}

.menu-settings-body h3 {
  margin: 0 0 7px;
  font-size: 16px;
}

.menu-settings-body > p {
  color: #555;
  font-size: var(--text-small);
  margin: 0 0 24px;
  line-height: 18px;
}

.menu-settings-body fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.menu-settings-body legend {
  font-size: var(--text-small);
  margin-bottom: 8px;
  font-weight: 600;
}

.menu-settings-body fieldset label {
  border-bottom: 1px solid #eee;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  display: flex;
}

.menu-settings-body fieldset label > span {
  flex-direction: column;
  display: flex;
}

.menu-settings-body fieldset strong {
  font-size: var(--text-small);
}

.menu-settings-body fieldset small {
  color: #777;
  font-size: var(--text-caption);
}

.item-library-actions {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  display: flex;
}

.item-library-actions > label {
  align-items: center;
  width: 280px;
  display: flex;
  position: relative;
}

.item-library-actions > label > svg {
  color: #777;
  z-index: 1;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 11px;
}

.item-library-actions [data-slot="input"] {
  border-radius: 3px;
  height: 40px;
  padding-left: 34px;
}

.item-library-actions [data-slot="button"] {
  border-radius: 3px;
  height: 40px;
}

.item-library-table {
  border-top: 1px solid #d8d8d8;
}

.item-library-table > header, .item-library-table > div {
  border-bottom: 1px solid #d8d8d8;
  grid-template-columns: minmax(260px, 1fr) 180px 100px 32px;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  display: grid;
}

.item-library-table > header {
  color: #666;
  font-size: var(--text-caption);
  text-transform: uppercase;
  min-height: 38px;
}

.item-library-table > div {
  font-size: var(--text-small);
}

.item-library-name {
  align-items: center;
  gap: 12px;
  display: flex;
}

.item-library-name > span {
  background-color: #f2f2f2;
  background-position: center;
  background-size: cover;
  border: 1px solid #ddd;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: flex;
}

.item-library-name svg {
  color: #777;
  width: 16px;
  height: 16px;
}

.item-library-name > button {
  text-align: left;
  flex-direction: column;
  display: flex;
}

.item-library-name small {
  color: #777;
  font-size: var(--text-caption);
  margin-top: 2px;
}

.item-library-table > div > button {
  color: #666;
}

.item-library-table > div > button svg {
  width: 17px;
  height: 17px;
}

.item-editor-sheet, .modifier-editor-sheet {
  gap: 0 !important;
  width: min(560px, 100vw) !important;
  max-width: 560px !important;
}

.item-editor-body > p, .modifier-editor-body > p {
  margin: 0 0 18px;
  font-size: 14px;
  font-weight: 600;
}

.item-editor-body label small, .modifier-editor-body label small {
  color: #777;
  font-size: var(--text-caption);
  font-weight: 400;
}

.item-editor-body textarea {
  resize: vertical;
  border: 1px solid #d0d0d0;
  border-radius: 2px;
  min-height: 92px;
  padding: 10px;
}

.item-editor-body > div > span {
  font-size: var(--text-small);
  font-weight: 600;
}

.item-editor-body > div > p {
  color: #666;
  font-size: var(--text-label);
  margin: 4px 0 10px;
}

.item-image-upload {
  background: #f5f5f5;
  border: 1px dashed #bbb;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 148px;
  display: flex;
  overflow: hidden;
}

.item-image-upload > span {
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.item-image-upload svg {
  color: #777;
  width: 24px;
  height: 24px;
  margin-bottom: 8px;
}

.item-image-upload strong {
  color: var(--blue);
  font-size: var(--text-small);
}

.item-editor-body fieldset {
  border: 0;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  display: flex;
}

.item-editor-body legend {
  font-size: var(--text-small);
  margin-bottom: 10px;
  font-weight: 600;
}

.item-editor-body fieldset label {
  font-size: var(--text-small);
}

.item-editor-body fieldset input {
  accent-color: var(--blue);
}

.item-modifier-groups {
  border-top: 1px solid #ddd;
}

.item-modifier-groups > label {
  font-size: var(--text-small);
  border-bottom: 1px solid #ddd;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  display: flex;
}

.item-modifier-groups > label input {
  accent-color: var(--blue);
}

.item-modifier-groups > label span {
  flex-direction: column;
  display: flex;
}

.item-modifier-groups > label small {
  color: #777;
  font-size: var(--text-caption);
}

.item-modifier-groups > span {
  color: #777;
  font-size: var(--text-small);
  padding: 14px 0;
  display: block;
}

.item-editor-footer {
  border-top: 1px solid #ddd;
  grid-template-columns: auto 1fr auto auto;
  align-items: center !important;
  padding: 14px 20px !important;
  display: grid !important;
}

.modifier-about {
  margin-bottom: 0;
}

.modifier-library-actions {
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
  display: flex;
}

.modifier-library-actions p {
  color: #666;
  font-size: var(--text-small);
  margin: 0;
}

.modifier-library-list {
  border-top: 1px solid #d8d8d8;
}

.modifier-library-list > div {
  border-bottom: 1px solid #d8d8d8;
  grid-template-columns: 1fr 32px;
  align-items: center;
  min-height: 68px;
  display: grid;
}

.modifier-library-list > div > button:first-child {
  text-align: left;
  flex-direction: column;
  display: flex;
}

.modifier-library-list small {
  color: #777;
  font-size: var(--text-label);
  margin-top: 4px;
}

.modifier-library-list svg {
  width: 17px;
  height: 17px;
}

.modifier-selection-grid {
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  display: grid;
}

.modifier-selection-grid label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 5px;
  font-weight: 600;
  display: flex;
}

.modifier-same-option {
  align-items: flex-start;
  flex-direction: row !important;
}

.modifier-same-option > span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.modifier-option-empty {
  color: #666;
  font-size: var(--text-small);
  background: #f5f5f5;
  border: 1px solid #ddd;
  margin-bottom: 12px;
  padding: 14px;
  line-height: 18px;
}

.modifier-option-list {
  border-top: 1px solid #ddd;
  margin-bottom: 12px;
}

.modifier-option-list > div {
  border-bottom: 1px solid #ddd;
  justify-content: space-between;
  align-items: center;
  min-height: 54px;
  display: flex;
}

.modifier-option-list span {
  flex-direction: column;
  display: flex;
}

.modifier-option-list small {
  color: #777;
  font-size: var(--text-caption);
}

.modifier-option-list button {
  color: #a12e29;
  font-size: var(--text-label);
}

.modifier-option-list .modifier-option-order {
  flex-direction: row;
  gap: 4px;
  margin-left: auto;
  margin-right: 12px;
}

.modifier-option-order button {
  color: #28587b;
  border: 1px solid #d6d6d6;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: inline-flex;
}

.modifier-option-order button:disabled {
  color: #aaa;
  opacity: .55;
}

.modifier-option-order svg {
  width: 14px;
  height: 14px;
}

.modifier-options-picker {
  border: 1px solid #ddd;
  margin-top: 12px;
  padding: 14px;
}

.modifier-options-picker h3 {
  font-size: var(--text-small);
  margin: 0 0 10px;
}

.modifier-options-picker > label {
  font-size: var(--text-small);
  border-bottom: 1px solid #eee;
  grid-template-columns: 20px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 9px 0;
  display: grid;
}

.modifier-options-picker > label small {
  color: #777;
}

.modifier-options-picker > h3:not(:first-child) {
  border-top: 1px solid #ddd;
  margin-top: 16px;
  padding-top: 16px;
}

.modifier-options-picker > .modifier-inline-option {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.modifier-inline-option > label {
  font-size: var(--text-caption);
  gap: 6px;
  font-weight: 600;
  display: grid;
}

.modifier-inline-option select {
  background: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  height: 42px;
  padding: 0 10px;
}

.modifier-options-picker > .modifier-inline-option [data-slot="button"] {
  grid-column: 1 / -1;
  height: 42px;
}

@media (max-width: 720px) {
  .menu-library-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 16px;
  }

  .menu-library-heading > div:last-child {
    width: 100%;
  }

  .menu-library-heading > div:last-child [data-slot="button"] {
    flex: 1;
  }

  .menu-editor-toolbar {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 12px;
  }

  .menu-editor-toolbar > [data-slot="button"] {
    grid-column: 1 / -1;
  }

  .menu-editor-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .item-library-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .item-library-actions > label {
    width: 100%;
  }

  .item-library-table > header {
    display: none;
  }

  .item-library-table > div {
    grid-template-columns: minmax(0, 1fr) 32px;
    padding: 11px 0;
  }

  .item-library-table > div > span:nth-child(2), .item-library-table > div > span:nth-child(3) {
    display: none;
  }

  .modifier-options-picker > .modifier-inline-option {
    grid-template-columns: 1fr;
  }

  .item-editor-footer {
    grid-template-columns: 1fr 1fr !important;
  }

  .item-editor-footer > span {
    display: none;
  }
}

.offering-list-page {
  max-width: 940px;
}

.offering-list {
  border-top: 1px solid #d8d8d8;
}

.offering-list article {
  border-bottom: 1px solid #d8d8d8;
  grid-template-columns: 88px minmax(220px, 1fr) 180px auto;
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 14px 0;
  display: grid;
}

.offering-list-image {
  background: #f2f2f2;
  border: 1px solid #ddd;
  justify-content: center;
  align-items: center;
  width: 78px;
  height: 78px;
  display: flex;
  overflow: hidden;
}

.offering-list-image > span {
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.offering-list-image svg {
  color: #777;
  width: 24px;
  height: 24px;
}

.offering-list article > div:nth-child(2) {
  flex-direction: column;
  display: flex;
}

.offering-list article > div:nth-child(2) > button {
  color: var(--blue);
  text-align: left;
  font-size: 15px;
  font-weight: 600;
}

.offering-list article > div:nth-child(2) > span {
  color: #777;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-top: 3px;
}

.offering-list article p {
  color: #555;
  font-size: var(--text-small);
  margin: 8px 0 0;
}

.offering-list dl {
  gap: 22px;
  margin: 0;
  display: flex;
}

.offering-list dl div {
  flex-direction: column;
  display: flex;
}

.offering-list dt {
  color: #777;
  font-size: var(--text-caption);
  text-transform: uppercase;
}

.offering-list dd {
  font-size: var(--text-small);
  margin: 3px 0 0;
}

.offering-list article > [data-slot="button"] {
  border-radius: 3px;
  height: 36px;
}

.offering-editor-sheet {
  gap: 0 !important;
  width: min(820px, 100vw) !important;
  max-width: 820px !important;
}

.offering-editor-sheet > [data-slot="sheet-header"] {
  border-bottom: 1px solid #ddd;
  min-height: 64px;
  padding: 20px 24px;
}

.offering-editor-layout {
  flex: 1;
  grid-template-columns: 190px minmax(0, 1fr);
  min-height: 0;
  display: grid;
}

.offering-editor-layout > nav {
  background: #f5f5f5;
  border-right: 1px solid #ddd;
  flex-direction: column;
  padding: 12px 8px;
  display: flex;
  overflow-y: auto;
}

.offering-editor-layout > nav button {
  font-size: var(--text-small);
  text-align: left;
  border-left: 3px solid #0000;
  min-height: 37px;
  padding: 0 12px;
}

.offering-editor-layout > nav button.active {
  border-left-color: var(--blue);
  color: var(--blue);
  background: #fff;
  font-weight: 600;
}

.offering-editor-body, .to-go-editor-body {
  padding: 24px;
  overflow-y: auto;
}

.offering-editor-body > label, .to-go-editor-body > label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 5px;
  margin-bottom: 18px;
  font-weight: 600;
  display: flex;
}

.offering-editor-body [data-slot="input"], .offering-editor-body select, .to-go-editor-body [data-slot="input"], .to-go-editor-body select {
  border: 1px solid #d0d0d0;
  border-radius: 2px;
  height: 42px;
  padding: 0 10px;
}

.offering-editor-body textarea, .to-go-editor-body textarea {
  resize: vertical;
  border: 1px solid #d0d0d0;
  border-radius: 2px;
  min-height: 100px;
  padding: 10px;
}

.offering-editor-body h3, .to-go-editor-body h3 {
  margin: 0 0 7px;
  font-size: 16px;
}

.offering-editor-body > p {
  color: #666;
  font-size: var(--text-small);
  margin: 0 0 20px;
}

.offering-inline-check {
  align-items: center;
  flex-direction: row !important;
  font-weight: 500 !important;
}

.offering-occurrence {
  border-bottom: 1px solid #ddd;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  display: grid;
}

.offering-occurrence label {
  font-size: var(--text-label);
  flex-direction: column;
  gap: 4px;
  font-weight: 600;
  display: flex;
}

.offering-occurrence > button {
  color: #a12e29;
  font-size: var(--text-label);
  height: 42px;
}

.offering-image-upload {
  background: #f5f5f5;
  border: 1px dashed #aaa;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 220px;
  display: flex;
  overflow: hidden;
}

.offering-image-upload > span {
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.offering-image-upload svg {
  color: #777;
  width: 28px;
  height: 28px;
  margin-bottom: 8px;
}

.offering-image-upload strong {
  color: var(--blue);
  font-size: var(--text-small);
}

.offering-image-upload small {
  color: #777;
  font-size: var(--text-caption);
  margin-top: 4px;
}

.offering-radio {
  font-size: var(--text-small);
  border-bottom: 1px solid #ddd;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  display: flex;
}

.offering-radio input {
  accent-color: var(--blue);
}

.offering-simple-row {
  border-bottom: 1px solid #ddd;
  grid-template-columns: minmax(0, 1fr) 140px auto;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  display: grid;
}

.offering-simple-row > button {
  color: #a12e29;
  font-size: var(--text-label);
}

.offering-module-note {
  color: #676767;
  font-size: var(--text-small);
  margin: -2px 0 12px;
  line-height: 1.5;
}

.event-ticket-product-list {
  border-top: 1px solid #d8d8d8;
  margin: 10px 0 12px;
}

.event-ticket-product {
  border-bottom: 1px solid #d8d8d8;
  padding: 16px 0 18px;
}

.event-ticket-product > header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  display: flex;
}

.event-ticket-product > header strong {
  font-size: var(--text-small);
}

.event-ticket-product > header button {
  color: #a12e29;
  font-size: var(--text-label);
}

.event-ticket-product > header button:disabled {
  color: #999;
}

.event-ticket-product-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.event-ticket-product-fields > label {
  margin: 0;
}

.event-discount-row {
  grid-template-columns: minmax(130px, 1fr) 130px 110px 100px 100px minmax(110px, 1fr) auto;
  align-items: end;
}

.event-discount-row > label, .offering-simple-row > label {
  font-size: var(--text-caption);
  gap: 3px;
  margin: 0;
}

@media (max-width: 760px) {
  .event-ticket-product-fields, .event-discount-row, .offering-simple-row {
    grid-template-columns: 1fr;
  }
}

.offering-editor-footer {
  border-top: 1px solid #ddd;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center !important;
  padding: 14px 20px !important;
  display: grid !important;
}

.to-go-group {
  border-bottom: 1px solid #d8d8d8;
  padding: 4px 0 30px;
}

.to-go-group + .to-go-group {
  padding-top: 28px;
}

.to-go-group > h2 {
  margin: 0 0 16px;
  font-size: 17px;
}

.to-go-empty {
  text-align: center;
  background: #f7f7f7;
  border: 1px solid #d8d8d8;
  flex-direction: column;
  align-items: center;
  min-height: 150px;
  padding: 28px;
  display: flex;
}

.to-go-empty svg {
  color: #777;
  width: 25px;
  height: 25px;
}

.to-go-empty h3 {
  margin: 12px 0 5px;
  font-size: 15px;
}

.to-go-empty p {
  color: #666;
  font-size: var(--text-small);
  max-width: 560px;
  margin: 0;
}

.to-go-editor-sheet {
  gap: 0 !important;
  width: min(640px, 100vw) !important;
  max-width: 640px !important;
}

.to-go-editor-sheet > [data-slot="sheet-header"] {
  border-bottom: 1px solid #ddd;
  min-height: 64px;
  padding: 20px 24px;
}

.event-guest-list-sheet {
  gap: 0 !important;
  width: min(900px, 100vw) !important;
  max-width: 900px !important;
}

.event-guest-list-sheet > [data-slot="sheet-header"] {
  border-bottom: 1px solid #ddd;
  padding: 20px 24px;
}

.event-guest-list-toolbar {
  border-bottom: 1px solid #ddd;
  grid-template-columns: minmax(240px, 1fr) auto auto auto;
  align-items: end;
  gap: 10px;
  padding: 16px 24px;
  display: grid;
}

.event-guest-list-toolbar label, .event-guest-form label {
  color: #666;
  font-size: var(--text-small);
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.event-guest-list-toolbar select {
  border: 1px solid #ccc;
  height: 38px;
  padding: 0 10px;
}

.event-guest-list-summary {
  border-bottom: 1px solid #ddd;
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.event-guest-list-summary div {
  border-right: 1px solid #ddd;
  flex-direction: column;
  gap: 5px;
  padding: 15px 24px;
  display: flex;
}

.event-guest-list-summary div:last-child {
  border-right: 0;
}

.event-guest-list-summary span {
  color: #666;
  font-size: var(--text-label);
  text-transform: uppercase;
}

.event-guest-list-summary strong {
  font-size: 20px;
  font-weight: 500;
}

.event-guest-search {
  border-bottom: 1px solid #ddd;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  display: flex;
}

.event-guest-search svg {
  color: #777;
  width: 16px;
  height: 16px;
}

.event-guest-search [data-slot="input"] {
  box-shadow: none;
  border: 0;
  padding-left: 0;
}

.event-guest-list-table {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.event-guest-list-head, .event-guest-order-row {
  text-align: left;
  grid-template-columns: minmax(220px, 1fr) 70px 120px 100px 24px;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
  display: grid;
}

.event-guest-list-head {
  color: #666;
  font-size: var(--text-label);
  text-transform: uppercase;
  background: #f5f5f5;
  border-bottom: 1px solid #ddd;
  height: 36px;
}

.event-guest-list-table article {
  border-bottom: 1px solid #ddd;
}

.event-guest-order-row {
  width: 100%;
  min-height: 64px;
}

.event-guest-order-row > span:first-child {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.event-guest-order-row strong {
  font-size: var(--text-small);
  font-weight: 600;
}

.event-guest-order-row small, .event-guest-order-row > span {
  color: #555;
  font-size: var(--text-small);
}

.event-guest-order-row svg {
  width: 15px;
  height: 15px;
}

.event-ticket-order-detail {
  background: #fafafa;
  border-top: 1px solid #e5e5e5;
  padding: 16px 24px 18px;
}

.event-ticket-order-meta {
  color: #666;
  font-size: var(--text-label);
  gap: 20px;
  margin-bottom: 12px;
  display: flex;
}

.event-ticket-order-detail ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.event-ticket-order-answers {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin: 0;
  display: grid;
}

.event-ticket-order-answers div {
  border: 1px solid var(--border);
  background: var(--muted);
  border-radius: 10px;
  padding: 12px 14px;
}

.event-ticket-order-answers dt {
  color: var(--muted-foreground);
  font-size: 12px;
}

.event-ticket-order-answers dd {
  white-space: pre-wrap;
  margin: 4px 0 0;
}

.event-ticket-order-detail li {
  font-size: var(--text-small);
  border-top: 1px solid #e1e1e1;
  grid-template-columns: 1fr 110px auto;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  display: grid;
}

.event-ticket-order-detail li > span {
  align-items: center;
  gap: 8px;
  display: flex;
}

.event-ticket-order-detail li svg {
  width: 14px;
  height: 14px;
}

.event-ticket-order-actions {
  justify-content: flex-end;
  gap: 8px;
  padding-top: 14px;
  display: flex;
}

.event-guest-list-empty {
  margin: 70px auto;
}

.event-guest-dialog {
  max-width: 520px !important;
}

.event-guest-form {
  gap: 14px;
  padding: 4px 0 12px;
  display: grid;
}

.event-guest-form textarea {
  resize: vertical;
  border: 1px solid #ccc;
  min-height: 80px;
  padding: 8px;
}

.event-scanner-dialog {
  overflow: hidden;
  gap: 16px !important;
  max-width: 680px !important;
  padding: 22px !important;
}

.event-scanner-connectivity {
  border-bottom: 1px solid var(--border);
  border-top: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  min-height: 46px;
  display: flex;
}

.event-scanner-connectivity span, .event-scanner-connectivity button {
  color: var(--muted-foreground);
  background: none;
  border: 0;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  display: flex;
}

.event-scanner-connectivity span.online {
  color: #315d42;
}

.event-scanner-connectivity span.offline {
  color: #95621f;
}

.event-scanner-connectivity svg {
  width: 15px;
  height: 15px;
}

.event-scanner-connectivity button:not(:disabled) {
  color: var(--primary);
}

.event-scanner-viewport {
  aspect-ratio: 16 / 8;
  color: #c8beb6;
  background: #211c1a;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 260px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.event-scanner-viewport > svg {
  opacity: .72;
  width: 42px;
  height: 42px;
}

.event-scanner-viewport video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.event-scanner-viewport > i {
  border: 2px solid #fffdf9db;
  width: min(46%, 210px);
  height: min(58%, 210px);
  position: absolute;
}

.event-scanner-viewport > i:before, .event-scanner-viewport > i:after {
  background: var(--terracotta);
  content: "";
  height: 3px;
  position: absolute;
  left: 12%;
  right: 12%;
}

.event-scanner-viewport > i:before {
  top: -2px;
}

.event-scanner-viewport > i:after {
  bottom: -2px;
}

.event-scanner-viewport > div {
  text-align: center;
  gap: 5px;
  margin-top: 12px;
  display: grid;
}

.event-scanner-viewport > div strong {
  color: var(--white);
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
}

.event-scanner-viewport > div small {
  font-size: 12px;
}

.event-scanner-actions {
  justify-content: center;
  margin-top: -2px;
  display: flex;
}

.event-scanner-manual {
  gap: 7px;
  display: grid;
}

.event-scanner-manual label {
  color: var(--muted-foreground);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.event-scanner-manual label svg {
  width: 14px;
  height: 14px;
}

.event-scanner-manual > div {
  grid-template-columns: 1fr auto;
  gap: 8px;
  display: grid;
}

.event-scanner-error {
  color: #8a3028;
  background: #f6e6e1;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 10px 12px;
  font-size: 12px;
  display: flex;
}

.event-scanner-error svg {
  flex: none;
  width: 15px;
  height: 15px;
}

.event-scanner-result {
  border-left: 3px solid var(--border);
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 13px;
  min-height: 76px;
  padding: 12px 15px;
  display: grid;
}

.event-scanner-result > svg {
  width: 24px;
  height: 24px;
}

.event-scanner-result > div {
  gap: 3px;
  display: grid;
}

.event-scanner-result strong {
  font-size: 14px;
}

.event-scanner-result p {
  color: var(--muted-foreground);
  margin: 0;
  font-size: 12px;
}

.event-scanner-result small {
  color: var(--foreground);
  font-size: 11px;
}

.event-scanner-result.accepted {
  color: #315d42;
  background: #e8f1e9;
  border-color: #4f7b5c;
}

.event-scanner-result.duplicate {
  color: #3e5b6c;
  background: #edf0f2;
  border-color: #617887;
}

.event-scanner-result.rejected {
  color: #8a3028;
  background: #f6e6e1;
  border-color: #a5402d;
}

.event-scanner-result.queued {
  color: #95621f;
  background: #f6efe2;
  border-color: #b47a2c;
}

@media (max-width: 700px) {
  .event-guest-list-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .event-guest-list-toolbar label {
    grid-column: 1 / -1;
  }

  .event-guest-list-summary {
    grid-template-columns: 1fr 1fr;
  }

  .event-guest-list-summary div:nth-child(2) {
    border-right: 0;
  }

  .event-guest-list-summary div:nth-child(-n+2) {
    border-bottom: 1px solid #ddd;
  }

  .event-guest-list-head, .event-guest-order-row {
    grid-template-columns: minmax(160px, 1fr) 55px 75px 20px;
  }

  .event-guest-list-head span:nth-child(4), .event-guest-order-row > span:nth-child(4) {
    display: none;
  }

  .event-ticket-order-detail li {
    grid-template-columns: 1fr auto;
  }

  .event-ticket-order-detail li strong {
    display: none;
  }

  .event-scanner-dialog {
    max-height: calc(100svh - 20px);
    overflow-y: auto;
    padding: 18px !important;
  }

  .event-scanner-viewport {
    aspect-ratio: 1;
    min-height: 0;
  }

  .event-scanner-viewport > i {
    width: 56%;
    height: 56%;
  }

  .event-scanner-manual > div {
    grid-template-columns: 1fr;
  }
}

.to-go-editor-body {
  flex: 1;
}

.to-go-editor-body fieldset {
  border: 0;
  margin: 0 0 27px;
  padding: 0;
}

.to-go-editor-body legend {
  font-size: var(--text-small);
  margin-bottom: 10px;
  font-weight: 600;
}

.to-go-editor-body fieldset > label {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  margin: 9px 0;
  display: flex;
}

.to-go-editor-body fieldset input {
  accent-color: var(--blue);
}

.to-go-order-kind {
  border: 1px solid #ddd;
  padding: 12px;
  align-items: flex-start !important;
  margin: 0 0 8px !important;
}

.to-go-order-kind > span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.to-go-order-kind small {
  color: #666;
  line-height: 16px;
}

.to-go-editor-body hr {
  border: 0;
  border-top: 1px solid #ddd;
  margin: 26px 0;
}

.to-go-number-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.to-go-number-grid label {
  font-size: var(--text-label);
  flex-direction: column;
  gap: 4px;
  font-weight: 600;
  display: flex;
}

@media (max-width: 760px) {
  .offering-list article {
    grid-template-columns: 64px minmax(0, 1fr) auto;
  }

  .offering-list-image {
    width: 56px;
    height: 56px;
  }

  .offering-list dl {
    display: none;
  }

  .offering-editor-layout {
    grid-template-columns: 1fr;
  }

  .offering-editor-layout > nav {
    border-bottom: 1px solid #ddd;
    border-right: 0;
    flex-direction: row;
    padding: 6px;
    overflow-x: auto;
  }

  .offering-editor-layout > nav button {
    border-bottom: 3px solid #0000;
    border-left: 0;
    min-width: max-content;
  }

  .offering-editor-layout > nav button.active {
    border-bottom-color: var(--blue);
  }

  .offering-occurrence {
    grid-template-columns: 1fr 1fr;
  }

  .offering-editor-footer {
    grid-template-columns: 1fr 1fr !important;
  }

  .offering-editor-footer > span {
    display: none;
  }

  .to-go-number-grid {
    grid-template-columns: 1fr;
  }
}

.experience-index-heading, .experience-detail-heading {
  justify-content: space-between;
  align-items: flex-start;
  min-height: 69px;
  display: flex;
}

.experience-index-heading {
  border-bottom: 1px solid #d8d8d8;
  margin-bottom: 24px;
}

.experience-index-heading h1, .experience-detail-heading h1 {
  letter-spacing: -.02em;
  margin: 6px 0 0;
  font-family: inherit;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.experience-index-heading > div {
  gap: 12px;
  display: flex;
}

.experience-index-heading [data-slot="button"] {
  border-radius: 4px;
  height: 44px;
  padding-inline: 16px;
}

.experience-index-heading [data-slot="button"][data-variant="default"] {
  background: var(--burgundy);
}

.experience-filter-menu {
  min-width: 180px;
}

.experience-index-list {
  flex-direction: column;
  display: flex;
}

.experience-index-row {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #dfdfdf;
  min-height: 113px;
  display: flex;
}

.experience-index-row + .experience-index-row {
  border-top: 0;
}

.experience-index-row-body {
  color: #0e0e0e;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  min-width: 0;
  padding: 18px;
  display: flex;
}

.experience-index-row-body:hover {
  background: #fbfaf8;
}

.experience-index-row-title {
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-height: 21px;
  display: flex;
}

.experience-index-row-title strong {
  color: var(--burgundy);
  font-size: 14px;
  font-weight: 600;
}

.experience-index-row-title > span {
  background: var(--baltic-blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .experience-index-row-title > span {
    background: color-mix(in srgb, var(--baltic-blue) 10%, white);
  }
}

.experience-index-row-title > span {
  border: 1px solid var(--baltic-blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .experience-index-row-title > span {
    border: 1px solid color-mix(in srgb, var(--baltic-blue) 24%, white);
  }
}

.experience-index-row-title > span {
  color: var(--baltic-blue);
  border-radius: 4px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 650;
  line-height: 18px;
}

.experience-index-row-detail {
  color: #363636;
  margin-top: 6px;
  font-size: 14px;
  line-height: 20px;
}

.experience-index-row-detail strong {
  font-weight: 600;
}

.experience-index-row-actions {
  align-items: flex-start;
  gap: 6px;
  min-width: 98px;
  padding: 12px 6px 0 0;
  display: flex;
}

.experience-index-row-actions [data-slot="button"] {
  border-radius: 4px;
  width: 36px;
  height: 36px;
}

.experience-index-empty {
  text-align: center;
  border: 1px dashed #cfc8c2;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 320px;
  padding: 48px 24px;
  display: flex;
}

.experience-index-empty h2 {
  margin: 0;
  font-size: 20px;
}

.experience-index-empty p {
  color: #64605c;
  max-width: 460px;
  margin: 8px 0 20px;
  line-height: 1.55;
}

.experience-detail-heading {
  border-bottom: 1px solid #d8d8d8;
  position: relative;
}

.experience-detail-heading > [data-slot="button"] {
  border-radius: 4px;
  width: 36px;
  height: 36px;
  margin-top: 6px;
}

.experience-detail-heading > div {
  flex: 1;
  padding-left: 16px;
}

.experience-detail-heading > div > span {
  color: #646464;
  font-size: 11px;
  font-weight: 550;
  line-height: 16px;
  display: block;
}

.experience-detail-heading h1 {
  margin-top: 0;
}

.experience-view-link {
  color: var(--burgundy);
  align-items: center;
  gap: 5px;
  margin-top: 12px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.experience-view-link:hover {
  text-decoration: underline;
}

.experience-view-link svg {
  width: 15px;
  height: 15px;
}

.experience-detail-layout {
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 24px;
  margin-top: 24px;
  display: grid;
}

.experience-detail-layout > nav {
  min-width: 0;
}

.experience-detail-layout > nav > div {
  flex-direction: column;
  display: flex;
}

.experience-detail-layout > nav > div + div {
  margin-top: 28px;
}

.experience-detail-layout > nav h2 {
  color: #646464;
  margin: 0;
  font-size: 12px;
  font-weight: 550;
  line-height: 36px;
}

.experience-detail-layout > nav button {
  color: #26211e;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  min-height: 38px;
  padding: 0;
  font-size: 14px;
  font-weight: 520;
  display: flex;
}

.experience-detail-layout > nav button.active {
  color: var(--burgundy);
  font-weight: 650;
}

.experience-detail-panel {
  min-width: 0;
}

.experience-detail-panel > header {
  justify-content: space-between;
  align-items: flex-start;
  min-height: 45px;
  display: flex;
}

.experience-detail-panel > header h2 {
  margin: 4px 0 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.experience-detail-panel > header [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 4px;
  min-width: 72px;
  height: 44px;
  padding-inline: 16px;
}

.experience-detail-panel > header [data-slot="button"]:disabled {
  color: #fff;
  opacity: 1;
  background: #dfdfdf;
}

.experience-detail-content {
  max-width: 680px;
  padding-top: 32px;
}

.experience-detail-content > .experience-module-form > header {
  display: none;
}

.experience-form-section-title, .experience-pricing-policy h3 {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 550;
}

.experience-pricing-policy {
  flex-direction: column;
  gap: 44px;
  display: flex;
}

.experience-pricing-policy > section {
  border-bottom: 1px solid #e4e1de;
  padding-bottom: 40px;
}

.experience-pricing-policy > section:last-child {
  border-bottom: 0;
}

.experience-pricing-policy > section > h3 {
  margin-bottom: 4px;
}

.experience-pricing-policy > section > p {
  color: #646464;
  margin: 0 0 26px;
  font-size: 14px;
  line-height: 20px;
}

.experience-pricing-policy .experience-module-form > header {
  display: none;
}

.experience-create-sheet {
  width: min(720px, 92vw) !important;
  max-width: 720px !important;
}

.experience-create-sheet > [data-slot="sheet-header"] {
  border-bottom: 1px solid #e2dedb;
  padding: 28px 32px 22px;
}

.experience-create-sheet [data-slot="sheet-title"] {
  font-size: 24px;
}

.experience-create-body {
  flex-direction: column;
  flex: 1;
  gap: 24px;
  padding: 24px 32px 40px;
  display: flex;
  overflow-y: auto;
}

.experience-create-body > label {
  flex-direction: column;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  display: flex;
}

.experience-create-body > label small {
  color: #6a6a6a;
  font-weight: 400;
}

.experience-create-methods {
  border: 0;
  gap: 10px;
  margin: 0;
  padding: 0;
  display: grid;
}

.experience-create-methods legend {
  font-size: 16px;
  font-weight: 600;
}

.experience-create-methods > p {
  color: #646464;
  margin: -3px 0 8px;
  font-size: 14px;
}

.experience-create-methods > label {
  cursor: pointer;
  border: 1px solid #d8d3cf;
  border-radius: 4px;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  display: flex;
}

.experience-create-methods > label.selected {
  border-color: var(--burgundy);
  box-shadow: inset 0 0 0 1px var(--burgundy);
}

.experience-create-methods > label > input {
  margin-top: 3px;
}

.experience-create-methods > label > span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.experience-create-methods small {
  color: #646464;
  font-weight: 400;
}

.experience-create-sheet > [data-slot="sheet-footer"] {
  border-top: 1px solid #e2dedb;
  padding: 16px 32px;
}

.experience-create-sheet > [data-slot="sheet-footer"] [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 4px;
  align-self: flex-end;
  height: 44px;
}

.experience-detail-content [data-slot="input"], .experience-detail-content select {
  border-radius: 4px;
  min-height: 44px;
}

.experience-detail-content [data-slot="textarea"] {
  border-radius: 4px;
  min-height: 104px;
}

.experience-module-form {
  flex-direction: column;
  gap: 20px;
  max-width: 760px;
  display: flex;
}

.experience-module-form > header {
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 18px;
}

.experience-module-form > header h2 {
  margin: 0;
  font-size: 18px;
}

.experience-module-form > header p, .experience-marketing-card p {
  color: #666;
  font-size: var(--text-small);
  margin: 6px 0 0;
  line-height: 1.55;
}

.experience-module-form > label, .experience-module-grid > label, .experience-private-link label, .experience-marketing-card label, .experience-message-settings > label, .experience-timing-grid label, .experience-question-list article > label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 7px;
  font-weight: 600;
  display: flex;
}

.experience-module-form select {
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
  height: 36px;
  padding: 0 10px;
}

.experience-module-form small {
  color: #737373;
  font-weight: 400;
}

.experience-module-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.experience-module-empty {
  text-align: center;
  background: #fafafa;
  border: 1px dashed #cfcfcf;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 190px;
  padding: 28px;
  display: flex;
}

.experience-module-empty.compact {
  min-height: 120px;
}

.experience-module-empty > svg {
  color: var(--blue);
  width: 28px;
  height: 28px;
  margin-bottom: 5px;
}

.experience-module-empty p {
  color: #6b6b6b;
  font-size: var(--text-small);
  max-width: 420px;
  margin: 0;
}

.experience-image-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.experience-image-grid article {
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  min-height: 130px;
  position: relative;
  overflow: hidden;
}

.experience-image-grid article > div {
  background-position: center;
  background-size: cover;
  height: 150px;
}

.experience-image-grid article > span {
  background: var(--blue);
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 7px;
  font-size: 10px;
  font-weight: 700;
  position: absolute;
  top: 8px;
  left: 8px;
}

.experience-image-grid article > button:not(.make-primary) {
  background: #fffffff0;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
  position: absolute;
  top: 8px;
  right: 8px;
}

.experience-image-grid article > button svg {
  width: 14px;
  height: 14px;
}

.experience-image-grid .make-primary {
  color: var(--blue);
  font-size: var(--text-caption);
  background: #fff;
  border: 0;
  border-top: 1px solid #ddd;
  width: 100%;
  min-height: 34px;
  font-weight: 650;
}

.experience-image-actions, .business-image-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.shared-image-picker {
  max-width: min(760px, 100vw - 32px);
}

.shared-image-picker-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-height: min(56vh, 520px);
  padding: 2px;
  display: grid;
  overflow: auto;
}

.shared-image-picker-grid > button {
  border: 1px solid var(--khaki-beige);
  background: #fff;
}

@supports (color: color-mix(in lab, red, red)) {
  .shared-image-picker-grid > button {
    border: 1px solid color-mix(in srgb, var(--khaki-beige) 62%, transparent);
  }
}

.shared-image-picker-grid > button {
  color: var(--burgundy);
  cursor: pointer;
  text-align: left;
  border-radius: 12px;
  min-width: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.shared-image-picker-grid > button:hover, .shared-image-picker-grid > button.selected {
  border-color: var(--burgundy);
  box-shadow: 0 0 0 2px var(--burgundy);
}

@supports (color: color-mix(in lab, red, red)) {
  .shared-image-picker-grid > button:hover, .shared-image-picker-grid > button.selected {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--burgundy) 12%, transparent);
  }
}

.shared-image-picker-grid > button > span {
  aspect-ratio: 4 / 3;
  background-position: center;
  background-size: cover;
  width: 100%;
  display: block;
}

.shared-image-picker-grid > button > small {
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 9px 10px 10px;
  display: block;
  overflow: hidden;
}

.shared-image-picker-grid > button > svg {
  background: var(--burgundy);
  color: #fff;
  border-radius: 999px;
  width: 24px;
  height: 24px;
  padding: 5px;
  position: absolute;
  top: 8px;
  right: 8px;
}

.shared-image-picker-empty {
  background: var(--champagne-mist);
}

@supports (color: color-mix(in lab, red, red)) {
  .shared-image-picker-empty {
    background: color-mix(in srgb, var(--champagne-mist) 54%, white);
  }
}

.shared-image-picker-empty {
  border: 1px dashed var(--khaki-beige);
  color: var(--burgundy);
  border-radius: 12px;
}

@supports (color: color-mix(in lab, red, red)) {
  .shared-image-picker-empty {
    color: color-mix(in srgb, var(--burgundy) 68%, white);
  }
}

.shared-image-picker-empty {
  text-align: center;
  padding: 32px;
}

.offering-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.offering-gallery-grid article {
  border: 1px solid var(--khaki-beige);
}

@supports (color: color-mix(in lab, red, red)) {
  .offering-gallery-grid article {
    border: 1px solid color-mix(in srgb, var(--khaki-beige) 58%, transparent);
  }
}

.offering-gallery-grid article {
  border-radius: 10px;
  overflow: hidden;
}

.offering-gallery-grid span {
  aspect-ratio: 4 / 3;
  background-position: center;
  background-size: cover;
  display: block;
}

.offering-gallery-grid button {
  color: var(--burgundy);
  cursor: pointer;
  text-align: left;
  background: #fff;
  border: 0;
  width: 100%;
  padding: 8px 10px;
  font-size: 12px;
}

@media (max-width: 700px) {
  .shared-image-picker-grid, .offering-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.experience-menu-select {
  font-size: var(--text-small);
  gap: 7px;
  font-weight: 650;
  display: grid;
}

.experience-menu-select select {
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
  height: 38px;
  padding: 0 10px;
}

.experience-linked-menu {
  border: 1px solid #d7d7d7;
  justify-content: space-between;
  align-items: center;
  padding: 18px;
  display: flex;
}

.experience-linked-menu > div {
  align-items: center;
  gap: 12px;
  display: flex;
}

.experience-linked-menu > div > svg {
  color: var(--blue);
  width: 22px;
  height: 22px;
}

.experience-linked-menu span {
  gap: 4px;
  display: grid;
}

.experience-linked-menu small {
  color: #707070;
}

.experience-fee-list {
  border: 1px solid #dedede;
}

.experience-fee-head, .experience-fee-row {
  grid-template-columns: minmax(140px, 1.3fr) minmax(120px, .7fr) minmax(120px, .8fr) 34px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: grid;
}

.experience-fee-head {
  color: #666;
  font-size: var(--text-caption);
  background: #f7f7f7;
  border-bottom: 1px solid #dedede;
  font-weight: 650;
}

.experience-fee-row + .experience-fee-row {
  border-top: 1px solid #e8e8e8;
}

.experience-fee-row > button {
  color: #777;
  background: none;
  border: 0;
  padding: 7px;
}

.experience-fee-row > button svg {
  width: 15px;
  height: 15px;
}

.experience-discount-list {
  border: 1px solid #d8d8d8;
  display: grid;
}

.experience-discount-list article {
  padding: 18px;
}

.experience-discount-list article + article {
  border-top: 1px solid #d8d8d8;
}

.experience-discount-heading {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  display: flex;
}

.experience-discount-heading strong {
  color: #292929;
  font-size: var(--text-small);
}

.experience-discount-heading button {
  color: #721121;
}

.experience-discount-heading svg {
  width: 16px;
  height: 16px;
}

.experience-module-grid > .experience-discount-toggle {
  border: 1px solid #d8d8d8;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  display: grid;
}

.experience-discount-toggle > span {
  gap: 3px;
  display: grid;
}

.experience-discount-toggle small {
  color: #747474;
  font-size: var(--text-caption);
  font-weight: 400;
}

.experience-discount-toggle input {
  opacity: 0;
  position: absolute;
}

.experience-discount-toggle > i {
  background: #c9c9c9;
  border-radius: 999px;
  width: 38px;
  height: 22px;
  transition: background .14s;
  display: block;
  position: relative;
}

.experience-discount-toggle > i:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  transition: transform .14s;
  position: absolute;
  top: 2px;
  left: 2px;
  box-shadow: 0 1px 3px #0000003d;
}

.experience-discount-toggle input:checked + i {
  background: var(--burgundy);
}

.experience-discount-toggle input:checked + i:after {
  transform: translateX(16px);
}

.experience-discount-toggle input:focus-visible + i {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.discount-amount-input {
  border: 1px solid #d0d0d0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  padding: 0 10px;
  display: grid;
}

.discount-amount-input [data-slot="input"] {
  box-shadow: none;
  border: 0;
}

.discount-amount-input > span {
  color: #666;
  font-size: var(--text-small);
}

.experience-radio-list {
  border: 0;
  gap: 10px;
  margin: 0;
  padding: 0;
  display: grid;
}

.experience-radio-list legend {
  font-size: var(--text-small);
  margin-bottom: 10px;
  font-weight: 650;
}

.experience-radio-list > label {
  cursor: pointer;
  border: 1px solid #d6d6d6;
  border-radius: 4px;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  display: flex;
}

.experience-radio-list > label.selected {
  border-color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
}

.experience-radio-list > label > input {
  margin-top: 3px;
}

.experience-radio-list > label > span {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.experience-private-link, .experience-marketing-card {
  background: #fafafa;
  border: 1px solid #dedede;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  display: flex;
}

.experience-private-link > div, .experience-marketing-card > div:last-child {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.experience-policy-switches {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.experience-policy-switches > label {
  align-items: flex-start;
  gap: 12px;
  padding: 16px 0;
  display: flex;
}

.experience-policy-switches > label + label {
  border-top: 1px solid #e5e5e5;
}

.experience-policy-switches span {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.experience-question-list {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.experience-question-list article {
  border: 1px solid #dedede;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.experience-question-list article > svg {
  color: #888;
  align-self: center;
}

.experience-question-list article > div {
  grid-column: 2 / -1;
  gap: 4px;
  display: flex;
}

.experience-question-required {
  align-items: center;
  padding-bottom: 8px;
  flex-direction: row !important;
}

.experience-settings-workspace {
  border: 1px solid #dedede;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 620px;
  display: grid;
}

.experience-settings-workspace > aside {
  background: #fafafa;
  border-right: 1px solid #dedede;
  padding: 18px 0;
}

.experience-settings-workspace > aside > span {
  color: #666;
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 0 16px 12px;
  font-weight: 700;
  display: block;
}

.experience-settings-workspace > aside button {
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-left: 3px solid #0000;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  width: 100%;
  padding: 12px 16px 12px 13px;
  display: flex;
}

.experience-settings-workspace > aside button.active {
  border-left-color: var(--blue);
  background: #fff;
}

.experience-settings-workspace > aside strong {
  font-size: 14px;
}

.experience-settings-workspace > aside [data-slot="badge"] {
  font-size: var(--text-caption);
}

.experience-communications-panel {
  padding: 28px 32px 44px;
}

.experience-communications-panel > header {
  border-bottom: 1px solid #e5e5e5;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 26px;
  padding-bottom: 20px;
  display: flex;
}

.experience-communications-panel > header span {
  color: #6a6a6a;
  font-size: var(--text-small);
}

.experience-communications-panel > header h3 {
  margin: 5px 0 0;
  font-size: 22px;
}

.experience-basic-fields {
  grid-template-columns: 2fr 1fr 1fr;
  gap: 18px;
  display: grid;
}

.experience-basic-fields label, .experience-timing-grid label, .experience-message-settings > label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 7px;
  font-weight: 600;
  display: flex;
}

.experience-basic-fields .wide {
  grid-column: 1 / -1;
}

.experience-basic-fields select {
  color: #222;
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
  height: 36px;
  padding: 0 10px;
}

.communication-mode {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  padding: 22px 0;
  display: grid;
}

.communication-mode p {
  color: #666;
  font-size: var(--text-small);
  margin: 4px 0 0;
}

.communication-mode button {
  cursor: pointer;
  font-size: var(--text-small);
  background: #fff;
  border: 1px solid #ccc;
  padding: 9px 12px;
}

.communication-mode button.active {
  border-color: var(--blue);
  box-shadow: inset 0 0 0 1px var(--blue);
}

.experience-message-settings {
  flex-direction: column;
  gap: 20px;
  padding-top: 24px;
  display: flex;
}

.experience-message-settings.inherited {
  color: #777;
}

.experience-message-settings > p {
  font-size: var(--text-small);
  background: #f3f5f6;
  margin: 0;
  padding: 12px;
}

.experience-channel-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.experience-channel-grid label {
  font-size: var(--text-small);
  align-items: center;
  gap: 9px;
  display: flex;
}

.experience-timing-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.notification-settings-workspace {
  border: 1px solid #dedede;
  grid-template-columns: 240px minmax(0, 1fr);
  min-height: 660px;
  display: grid;
}

.notification-settings-workspace > aside {
  background: #fafafa;
  border-right: 1px solid #dedede;
}

.notification-settings-workspace > aside header {
  border-bottom: 1px solid #e5e5e5;
  justify-content: space-between;
  align-items: center;
  padding: 14px 16px;
  display: flex;
}

.notification-settings-workspace > aside header span {
  color: #666;
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.notification-settings-workspace > aside header button {
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  padding: 5px;
  display: flex;
}

.notification-settings-workspace > aside header svg {
  width: 16px;
  height: 16px;
}

.notification-settings-workspace > aside > button {
  cursor: pointer;
  text-align: left;
  background: none;
  border-top: 0;
  border-bottom: 1px solid #e8e8e8;
  border-left: 3px solid #0000;
  border-right: 0;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  padding: 14px 16px 14px 13px;
  display: flex;
}

.notification-settings-workspace > aside > button.active {
  border-left-color: var(--blue);
  background: #fff;
}

.notification-settings-workspace > aside > button strong {
  font-size: var(--text-small);
}

.notification-settings-workspace > aside > button span, .notification-settings-workspace > aside > p {
  color: #777;
  font-size: var(--text-label);
  margin: 0;
  line-height: 1.45;
}

.notification-settings-workspace > aside > p {
  padding: 20px 16px;
}

.notification-rule-editor {
  padding: 28px 32px 44px;
}

.notification-rule-editor > header {
  border-bottom: 1px solid #e4e4e4;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  display: flex;
}

.notification-rule-editor > header > div:last-child {
  gap: 8px;
  display: flex;
}

.notification-rule-editor > header span {
  color: #666;
  font-size: var(--text-label);
  text-transform: uppercase;
}

.notification-rule-editor > header h3 {
  margin: 5px 0 0;
  font-size: 22px;
}

.notification-rule-identity {
  grid-template-columns: minmax(240px, 1fr) auto;
  align-items: end;
  gap: 24px;
  padding: 24px 0;
  display: grid;
}

.notification-rule-identity > label:first-child, .notification-recipients label {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 7px;
  font-weight: 600;
  display: flex;
}

.notification-enabled {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  padding-bottom: 9px;
  display: flex;
}

.notification-events, .notification-experience-filter, .notification-recipients {
  border-top: 1px solid #e5e5e5;
  padding: 22px 0;
}

.notification-events h4, .notification-experience-filter h4 {
  margin: 0 0 4px;
  font-size: 14px;
}

.notification-events > p, .notification-experience-filter > p, .notification-recipients p {
  color: #707070;
  font-size: var(--text-label);
  margin: 0 0 18px;
}

.notification-events {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 26px;
  display: grid;
}

.notification-events > h4, .notification-events > p {
  grid-column: 1 / -1;
}

.notification-events > div {
  flex-direction: column;
  gap: 9px;
  display: flex;
}

.notification-events > div > strong {
  color: #777;
  font-size: var(--text-caption);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.notification-events label, .notification-experience-filter label {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  display: flex;
}

.notification-experience-filter > div {
  flex-wrap: wrap;
  gap: 10px 22px;
  display: flex;
}

.notification-recipients {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  display: grid;
}

.notification-recipients > div {
  min-width: 0;
}

.notification-recipients p {
  margin-top: 8px;
}

.notification-delay {
  grid-template-columns: 95px 100px auto;
  margin-top: 14px;
  align-items: center !important;
  gap: 8px !important;
  display: grid !important;
}

.notification-delay input {
  min-width: 0;
}

.notification-delay span {
  color: #666;
  font-size: var(--text-label);
  font-weight: 400;
}

.notification-empty {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 520px;
  display: flex;
}

.notification-empty h3 {
  margin-bottom: 6px;
}

.notification-empty p {
  color: #666;
  font-size: var(--text-small);
  max-width: 450px;
  margin: 0 0 20px;
}

.notification-operations > nav {
  border-bottom: 1px solid #dcdcdc;
  gap: 24px;
  margin-bottom: 20px;
  display: flex;
}

.notification-operations > nav button {
  color: #666;
  cursor: pointer;
  font-size: var(--text-small);
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  margin-bottom: -1px;
  padding: 0 2px 12px;
  font-weight: 600;
}

.notification-operations > nav button.active {
  border-bottom-color: var(--blue);
  color: #222;
}

.texting-operations > nav {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

.message-ledger, .suppression-manager {
  border: 1px solid #dedede;
  min-height: 620px;
  padding: 28px 30px 42px;
}

.message-ledger > header, .suppression-manager > header {
  border-bottom: 1px solid #e5e5e5;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  display: flex;
}

.message-ledger > header span, .suppression-manager > header span {
  color: #666;
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.message-ledger > header h3, .suppression-manager > header h3 {
  margin: 5px 0 0;
  font-size: 22px;
}

.message-ledger-summary {
  border-bottom: 1px solid #e5e5e5;
  gap: 30px;
  padding: 18px 0;
  display: flex;
}

.message-ledger-summary span {
  color: #666;
  font-size: var(--text-small);
}

.message-ledger-summary strong {
  color: #222;
  margin-right: 4px;
  font-size: 15px;
}

.message-ledger-summary .problem, .message-ledger-summary .problem strong {
  color: #a12e29;
}

.message-ledger-filters {
  gap: 14px;
  padding: 16px 0;
  display: flex;
}

.message-ledger-filters label {
  color: #666;
  font-size: var(--text-caption);
  text-transform: uppercase;
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.message-ledger-filters select {
  color: #222;
  font-size: var(--text-small);
  text-transform: none;
  background: #fff;
  border: 1px solid #ccc;
  min-width: 150px;
  padding: 8px 28px 8px 9px;
}

.message-ledger-table-wrap, .suppression-table-wrap {
  position: relative;
  overflow-x: auto;
}

.message-ledger-table, .suppression-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 850px;
}

.message-ledger-table th, .suppression-table th {
  color: #777;
  font-size: var(--text-caption);
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
  border-bottom: 1px solid #d8d8d8;
  padding: 9px 8px;
  font-weight: 700;
}

.message-ledger-table td, .suppression-table td {
  font-size: var(--text-label);
  vertical-align: top;
  border-bottom: 1px solid #e7e7e7;
  padding: 12px 8px;
}

.message-ledger-table td > strong, .message-ledger-table td > span {
  display: block;
}

.message-ledger-table td > strong {
  font-size: var(--text-label);
  text-transform: capitalize;
  font-weight: 600;
}

.message-ledger-table td > span {
  color: #777;
  font-size: var(--text-caption);
  overflow-wrap: anywhere;
  max-width: 230px;
  margin-top: 4px;
}

.message-ledger-table td:nth-child(4) > span {
  color: #a12e29;
}

.inbound-sms-table {
  min-width: 920px;
}

.inbound-sms-table td:nth-child(3) {
  max-width: 230px;
}

.inbound-sms-table td:nth-child(5) {
  color: #666;
  max-width: 280px;
  line-height: 1.45;
}

.message-ledger-table [data-slot="badge"], .suppression-table [data-slot="badge"] {
  font-size: var(--text-caption);
  text-transform: capitalize;
}

.message-ledger-empty, .suppression-empty {
  color: #777;
  text-align: center !important;
  padding: 45px 12px !important;
}

.suppression-manager > p {
  color: #666;
  font-size: var(--text-small);
  max-width: 680px;
  margin: 18px 0;
}

.suppression-table td:nth-child(3) > span {
  color: #9c302b;
  font-size: var(--text-caption);
  text-transform: uppercase;
  align-items: center;
  gap: 4px;
  margin-top: 5px;
  display: flex;
}

.suppression-table td:nth-child(3) svg {
  width: 12px;
  height: 12px;
}

.suppression-clear-dialog {
  max-width: 480px !important;
}

.suppression-clear-form {
  flex-direction: column;
  gap: 18px;
  padding: 8px 0;
  display: flex;
}

.suppression-clear-form > div {
  background: #f4f4f4;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  display: flex;
}

.suppression-clear-form > div span {
  color: #666;
  font-size: var(--text-label);
  text-transform: capitalize;
}

.suppression-clear-form > label:not(.consent-attestation) {
  font-size: var(--text-small);
  flex-direction: column;
  gap: 7px;
  font-weight: 600;
  display: flex;
}

.consent-attestation {
  font-size: var(--text-small);
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
  display: flex;
}

@media (max-width: 820px) {
  .experience-index-heading {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding-bottom: 18px;
  }

  .experience-index-heading > div {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .experience-index-heading [data-slot="button"] {
    width: 100%;
  }

  .experience-index-row-body {
    padding: 16px 12px;
  }

  .experience-index-row-actions {
    min-width: 48px;
    padding-right: 4px;
  }

  .experience-index-row-actions > [data-slot="button"]:first-child {
    display: none;
  }

  .experience-detail-heading {
    align-items: flex-start;
  }

  .experience-detail-heading > div {
    min-width: 0;
    padding-left: 8px;
  }

  .experience-detail-heading h1 {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .experience-view-link {
    padding: 8px;
    font-size: 0;
  }

  .experience-detail-layout {
    display: block;
  }

  .experience-detail-layout > nav {
    border-bottom: 1px solid #e2e2e2;
    flex-direction: row;
    gap: 4px;
    margin-bottom: 24px;
    padding-bottom: 10px;
    display: flex;
    overflow-x: auto;
  }

  .experience-detail-layout > nav > div {
    flex-direction: row;
  }

  .experience-detail-layout > nav > div + div {
    margin: 0;
  }

  .experience-detail-layout > nav h2 {
    display: none;
  }

  .experience-detail-layout > nav button {
    flex: none;
    min-height: 36px;
    padding: 0 10px;
  }

  .experience-detail-layout > nav button.active {
    background: var(--burgundy);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .experience-detail-layout > nav button.active {
      background: color-mix(in srgb, var(--burgundy) 8%, white);
    }
  }

  .experience-detail-layout > nav button.active {
    border-radius: 4px;
  }

  .experience-module-grid {
    grid-template-columns: 1fr;
  }

  .experience-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .experience-fee-head {
    display: none;
  }

  .experience-fee-row {
    grid-template-columns: 1fr 1fr 34px;
  }

  .experience-fee-row > :nth-child(3) {
    grid-column: 1 / 3;
  }

  .experience-fee-row > button {
    grid-area: 1 / 3;
  }

  .experience-question-list article {
    grid-template-columns: auto 1fr;
  }

  .experience-question-required, .experience-question-list article > div {
    grid-column: 2;
  }

  .experience-settings-workspace {
    display: block;
  }

  .experience-settings-workspace > aside {
    border-bottom: 1px solid #dedede;
    border-right: 0;
    padding: 8px;
    display: flex;
    overflow-x: auto;
  }

  .experience-settings-workspace > aside > span {
    display: none;
  }

  .experience-settings-workspace > aside button {
    border-bottom: 3px solid #0000;
    border-left: 0;
    min-width: 150px;
    padding: 10px;
  }

  .experience-settings-workspace > aside button.active {
    border-bottom-color: var(--blue);
  }

  .experience-communications-panel {
    padding: 22px 16px 36px;
  }

  .experience-basic-fields {
    grid-template-columns: 1fr 1fr;
  }

  .experience-basic-fields > label:first-child {
    grid-column: 1 / -1;
  }

  .communication-mode {
    grid-template-columns: 1fr 1fr;
  }

  .communication-mode > div {
    grid-column: 1 / -1;
  }

  .notification-settings-workspace {
    display: block;
  }

  .notification-settings-workspace > aside {
    border-bottom: 1px solid #dedede;
    border-right: 0;
    max-height: 190px;
    overflow-y: auto;
  }

  .notification-settings-workspace > aside > button {
    border-left: 3px solid #0000;
  }

  .notification-rule-editor {
    padding: 22px 16px 36px;
  }

  .notification-rule-editor > header {
    align-items: flex-start;
    gap: 14px;
  }

  .notification-rule-identity, .notification-recipients {
    grid-template-columns: 1fr;
  }

  .notification-enabled {
    padding: 0;
  }

  .notification-operations > nav {
    gap: 16px;
    overflow-x: auto;
  }

  .notification-operations > nav button {
    white-space: nowrap;
  }

  .message-ledger, .suppression-manager {
    padding: 22px 14px 34px;
  }

  .message-ledger-summary {
    gap: 12px;
    overflow-x: auto;
  }

  .message-ledger-summary span {
    white-space: nowrap;
  }
}

.unavailable-capability {
  border-top: 2px solid var(--ink);
  flex-direction: column;
  align-items: flex-start;
  max-width: 650px;
  padding-top: 22px;
  display: flex;
}

.unavailable-capability > svg {
  color: #9b8f87;
  height: 18px;
}

.unavailable-capability h3 {
  font-family: var(--serif);
  margin: 12px 0 5px;
  font-size: 25px;
  font-weight: 400;
}

.unavailable-capability p {
  color: #7f746c;
  font-size: var(--text-caption);
  line-height: 1.55;
}

.unavailable-capability span {
  color: #7f746c;
  font-size: var(--text-caption);
  background: #f1ece6;
  margin-top: 10px;
  padding: 8px 10px;
}

.unavailable-capability code {
  color: var(--burgundy);
}

@media (max-width: 980px) {
  .section-workspace {
    grid-template-columns: 185px minmax(0, 1fr);
  }

  .section-search {
    width: 28%;
  }

  .report-overview {
    grid-template-columns: 1fr;
  }

  .report-kpis {
    grid-column: 1;
  }

  .report-breakdown {
    grid-row: 3;
  }

  .chits-layout {
    grid-template-columns: 190px minmax(500px, 1fr);
    overflow-x: auto;
  }

  .tock-chits {
    overflow-x: auto;
  }
}

@media (max-width: 820px) {
  .section-menu {
    background: none;
    border: 0;
    align-items: center;
    display: flex;
  }

  .section-menu svg {
    height: 19px;
  }

  .section-mobile-brand {
    display: block;
  }

  .section-title {
    min-width: 140px;
  }

  .section-search {
    display: none;
  }

  .section-workspace {
    grid-template-columns: 165px minmax(660px, 1fr);
    overflow-x: auto;
  }

  .section-canvas {
    padding: 19px;
  }

  .canvas-heading h2 {
    font-size: 26px;
  }
}

@media (max-width: 560px) {
  .section-topbar {
    gap: 9px;
    padding: 0 12px;
  }

  .section-mobile-brand {
    display: none;
  }

  .section-title h1 {
    font-size: 17px;
  }

  .section-title {
    min-width: 0;
  }

  .section-actions {
    margin-left: auto;
  }

  .section-actions [data-slot="button"] {
    padding: 0 8px;
    font-size: 0;
  }

  .section-workspace {
    display: block;
    overflow: visible;
  }

  .workspace-subnav {
    border-bottom: 1px solid var(--line);
    border-right: 0;
    min-height: 0;
    padding: 9px;
    overflow-x: auto;
  }

  .subnav-heading {
    display: none;
  }

  .workspace-subnav nav {
    flex-direction: row;
    width: max-content;
  }

  .workspace-subnav nav > div {
    flex-direction: row;
  }

  .workspace-subnav nav p {
    display: none;
  }

  .workspace-subnav button {
    white-space: nowrap;
  }

  .section-canvas {
    padding: 16px 12px;
  }

  .canvas-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
  }

  .report-filters {
    width: 100%;
    overflow-x: auto;
  }

  .operations-snapshot, .report-kpis {
    grid-template-columns: repeat(2, 1fr);
  }

  .control-overview {
    grid-template-columns: 1fr;
  }

  .control-overview section:last-child {
    grid-column: auto;
  }

  .guest-editor-grid {
    grid-template-columns: 1fr;
  }

  .guest-editor-grid .span-two {
    grid-column: auto;
  }

  .guest-profile-sheet {
    width: 100% !important;
  }

  .chits-layout {
    display: block;
  }

  .chit-preview {
    grid-template-columns: 1fr;
    margin-top: 15px;
  }
}

.settings-editor {
  background: var(--surface);
}

@supports (color: color-mix(in lab, red, red)) {
  .settings-editor {
    background: color-mix(in srgb, var(--surface) 96%, var(--champagne));
  }
}

.settings-editor {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px #3726220d;
}

.settings-editor > header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding: 22px 24px;
  display: flex;
}

.settings-editor > header > div:last-child {
  gap: 8px;
  display: flex;
}

.settings-editor > header span, .message-editor-grid aside > span {
  color: var(--muted-foreground);
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-weight: 700;
  display: block;
}

.settings-editor > header h3 {
  font-family: var(--font-display), serif;
  letter-spacing: -.025em;
  font-size: 22px;
  font-weight: 500;
}

.settings-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 24px;
  display: grid;
}

.settings-form label, .message-editor-grid label {
  color: var(--muted-foreground);
  font-size: var(--text-small);
  gap: 7px;
  font-weight: 650;
  display: grid;
}

.settings-form select, .hours-list select, .hours-list input, .window-field input {
  background: var(--surface);
  border: 1px solid var(--input);
  color: var(--foreground);
  font: inherit;
  border-radius: 7px;
  height: 36px;
  padding: 0 10px;
}

.settings-form .full {
  grid-column: 1 / -1;
}

.settings-form textarea {
  min-height: 110px;
}

.settings-form .setting-check {
  color: var(--foreground);
  font-size: var(--text-small);
  align-items: center;
  gap: 9px;
  display: flex;
}

.settings-form input[type="checkbox"], .public-hours-toggle input, .policy-options input[type="checkbox"] {
  accent-color: var(--burgundy);
  width: 15px;
  height: 15px;
}

.public-hours-toggle {
  border-bottom: 1px solid var(--line);
  font-size: var(--text-small);
  align-items: center;
  gap: 9px;
  padding: 16px 24px;
  font-weight: 650;
  display: flex;
}

.hours-list {
  gap: 10px;
  padding: 24px;
  display: grid;
}

.hours-list > div {
  grid-template-columns: minmax(130px, 1fr) minmax(110px, .75fr) 105px auto 105px 30px;
  align-items: center;
  gap: 9px;
  display: grid;
}

.hours-list > div > span, .hours-list > p {
  color: var(--muted-foreground);
  font-size: var(--text-small);
}

.hours-list button {
  color: var(--muted-foreground);
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  transition: all .14s;
  display: flex;
}

.hours-list button:hover {
  background: var(--muted);
  color: var(--burgundy);
}

.hours-list button svg {
  width: 15px;
  height: 15px;
}

.policies-editor [data-slot="tabs"] {
  border-bottom: 1px solid var(--line);
  padding: 0 24px;
}

.policy-options {
  padding: 10px 24px 24px;
  display: grid;
}

.policy-options > label {
  border-bottom: 1px solid var(--line);
  align-items: flex-start;
  gap: 12px;
  padding: 18px 0;
  display: flex;
}

.policy-options > label:last-child {
  border-bottom: 0;
}

.policy-options strong, .message-editor-grid aside strong {
  font-size: var(--text-small);
  font-weight: 650;
  display: block;
}

.policy-options small, .message-editor-grid aside small {
  color: var(--muted-foreground);
  font-size: var(--text-small);
  margin-top: 3px;
  font-weight: 400;
  display: block;
}

.policy-options .window-field, .policy-options .message-setting {
  justify-content: space-between;
}

.window-field input {
  width: 120px;
}

.message-setting textarea {
  width: min(480px, 55%);
  min-height: 90px;
}

.message-editor-grid {
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 32px;
  padding: 24px;
  display: grid;
}

.message-delivery-settings {
  border-bottom: 1px solid var(--line);
  grid-template-columns: minmax(210px, 1fr) repeat(2, minmax(150px, auto));
  align-items: center;
  gap: 14px 24px;
  padding: 22px 24px;
  display: grid;
}

.message-delivery-settings > div p {
  color: var(--muted-foreground);
  font-size: var(--text-small);
  margin: 4px 0 0;
}

.message-delivery-settings > div > span, .message-timing-field {
  font-size: var(--text-small);
  font-weight: 650;
}

.message-channel-toggle {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  display: flex;
}

.message-channel-toggle input {
  accent-color: var(--burgundy);
}

.message-timing-field > span {
  color: var(--muted-foreground);
  font-size: var(--text-label);
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-weight: 400;
  display: flex;
}

.message-timing-field input {
  width: 92px;
}

.message-editor-grid > section {
  gap: 20px;
  display: grid;
}

.message-editor-grid textarea {
  min-height: 105px;
}

.message-editor-grid aside {
  background: var(--muted);
  border: 1px solid var(--line);
  border-radius: 10px;
  align-self: start;
  min-height: 215px;
  padding: 22px;
}

.message-editor-grid aside strong {
  color: var(--burgundy);
  font-family: var(--font-display), serif;
  font-size: 18px;
}

.message-editor-grid aside p {
  font-size: var(--text-small);
  margin: 22px 0;
  line-height: 1.6;
}

@media (max-width: 820px) {
  .hours-list > div {
    grid-template-columns: 1fr 1fr;
  }

  .message-editor-grid {
    grid-template-columns: 1fr;
  }

  .message-delivery-settings {
    grid-template-columns: 1fr 1fr;
  }

  .message-delivery-settings > div {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .settings-editor > header {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .settings-form {
    grid-template-columns: 1fr;
  }

  .settings-form .full {
    grid-column: auto;
  }

  .policy-options .message-setting {
    display: grid;
  }

  .message-setting textarea {
    width: 100%;
  }
}

.operations-pre-service-canvas {
  position: relative;
}

.pre-service-report {
  min-width: 940px;
  padding-top: 1px;
}

.pre-service-date-trigger {
  border-radius: 3px;
  width: 216px;
  height: 36px;
  font-size: 15px;
}

.pre-service-filters {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
  display: grid;
}

.pre-service-filters label {
  color: #606060;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  font-size: 14px;
  line-height: 18px;
  display: flex;
}

.pre-service-filters select {
  appearance: auto;
  color: var(--ink);
  font: inherit;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 3px;
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 10px;
}

.pre-service-empty {
  color: #333;
  background: #fafafa;
  border: 1px solid #dedede;
  align-items: center;
  height: 54px;
  margin-top: 36px;
  padding: 0 16px;
  font-size: 14px;
  display: flex;
}

.pre-service-summaries {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.pre-service-summaries section {
  background: #fafafa;
  border: 1px solid #dedede;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 95px;
  display: flex;
}

.pre-service-summaries span {
  color: #454545;
  font-size: var(--text-small);
  line-height: 18px;
}

.pre-service-summaries strong {
  color: #202020;
  font-size: 28px;
  font-weight: 400;
  line-height: 38px;
}

.pre-service-list {
  gap: 8px;
  margin-top: 23px;
  display: grid;
}

.pre-service-card {
  color: #333;
  background: #fafafa;
  border: 1px solid #dedede;
  min-height: 112px;
  padding: 14px 16px 13px;
}

.pre-service-card-heading {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.pre-service-card p, .pre-service-line, .pre-service-note {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.pre-service-card-heading strong, .pre-service-line strong, .pre-service-note strong {
  font-weight: 600;
}

.pre-service-card-heading i {
  color: #a7a7a7;
  margin: 0 5px;
  font-style: normal;
}

.pre-service-card-heading button {
  color: var(--blue);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.pre-service-line {
  margin-top: 7px;
}

.pre-service-tags {
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
  display: flex;
}

.pre-service-tags span {
  color: #333;
  font-size: var(--text-small);
  background: #eee;
  border-radius: 2px;
  padding: 0 7px;
  line-height: 22px;
}

.pre-service-note {
  margin-top: 5px;
}

body:has(.pre-service-detail-dialog) [data-slot="dialog-overlay"] {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: #00000073;
}

.pre-service-detail-dialog {
  border: 0;
  border-radius: 2px;
  grid-template-rows: 56px 36px minmax(0, 1fr) 60px;
  gap: 0;
  width: calc(100% - 40px);
  max-width: 576px;
  height: min(665px, 100vh - 55px);
  padding: 0;
  display: grid;
  top: 31px;
  left: 50%;
  overflow: hidden;
  --tw-translate-x: 0px !important;
  --tw-translate-y: 0px !important;
  transform: translateX(-50%)translate3d(0, 0, 0) !important;
}

.pre-service-detail-dialog > header {
  justify-content: center;
  align-items: center;
  padding: 0 24px;
  display: flex;
  position: relative;
}

.pre-service-detail-dialog > header h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
}

.pre-service-detail-dialog > header button {
  color: #333;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
  position: absolute;
  top: 12px;
  right: 14px;
}

.pre-service-detail-dialog > header svg {
  width: 19px;
  height: 19px;
}

.pre-service-detail-dialog > nav {
  border-bottom: 1px solid #dedede;
  gap: 27px;
  padding: 0 24px;
  display: flex;
}

.pre-service-detail-dialog > nav button {
  color: #555;
  border-bottom: 2px solid #0000;
  height: 36px;
  font-size: 14px;
}

.pre-service-detail-dialog > nav button.active {
  border-bottom-color: var(--blue);
  color: var(--blue);
}

.pre-service-detail-body {
  min-height: 0;
  padding: 18px 24px 24px;
  overflow-y: auto;
}

.pre-service-visit-summary {
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 18px;
  padding: 10px 0 27px;
  display: grid;
}

.pre-service-visit-summary > span {
  color: var(--blue);
  border: 1px solid #dedede;
  border-radius: 50%;
  justify-content: center;
  justify-self: center;
  align-items: center;
  width: 100px;
  height: 100px;
  display: flex;
}

.pre-service-visit-summary svg {
  stroke-width: 1.25px;
  width: 42px;
  height: 42px;
}

.pre-service-visit-summary strong, .pre-service-visit-summary p {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.pre-service-visit-summary strong {
  font-weight: 600;
}

.pre-service-detail-row {
  border-top: 1px solid #e3e3e3;
  grid-template-columns: 136px minmax(0, 1fr);
  gap: 18px;
  padding: 14px 0;
  display: grid;
}

.pre-service-detail-row strong {
  text-align: right;
}

.pre-service-detail-row strong, .pre-service-questions > strong {
  font-size: var(--text-small);
  font-weight: 600;
  line-height: 18px;
}

.pre-service-detail-row span, .pre-service-questions p, .pre-service-questions small, .pre-service-guest-tab p {
  color: #606060;
  font-size: var(--text-small);
  margin: 0;
  line-height: 18px;
}

.pre-service-questions {
  border-top: 1px solid #e3e3e3;
  gap: 6px;
  padding-top: 13px;
  display: grid;
}

.pre-service-questions b {
  color: #333;
  font-weight: 600;
}

.pre-service-questions small {
  margin-top: 5px;
}

.pre-service-guest-tab h3 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 600;
}

.pre-service-guest-tab > p {
  margin-bottom: 4px;
}

.pre-service-guest-tab .pre-service-detail-row:first-of-type {
  margin-top: 18px;
}

.pre-service-history {
  display: grid;
}

.pre-service-history article {
  border-bottom: 1px solid #e3e3e3;
  gap: 2px;
  padding: 12px 0;
  display: grid;
}

.pre-service-history article strong, .pre-service-history article span, .pre-service-history article p {
  font-size: var(--text-small);
  margin: 0;
  line-height: 18px;
}

.pre-service-history article span, .pre-service-history article p {
  color: #606060;
}

.pre-service-detail-empty {
  color: #606060;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 145px;
  font-size: 14px;
  display: flex;
}

.pre-service-detail-dialog > footer {
  background: #fff;
  border-top: 1px solid #dedede;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  display: flex;
}

.pre-service-detail-dialog > footer [data-slot="button"] {
  border-color: var(--blue);
  color: var(--blue);
  border-radius: 3px;
  height: 48px;
}

.pre-service-detail-dialog > footer [data-slot="button"]:first-child {
  min-width: 122px;
}

.pre-service-detail-dialog > footer [data-slot="button"]:last-child {
  min-width: 120px;
}

@media (max-width: 1120px) {
  .pre-service-report {
    overflow-x: auto;
  }
}

.operations-post-service-canvas {
  position: relative;
}

.post-service-report {
  min-width: 940px;
  padding-top: 1px;
}

.post-service-date-trigger {
  border-radius: 3px;
  width: 216px;
  height: 36px;
  font-size: 15px;
}

.post-service-table-frame {
  width: 100%;
  margin-top: 17px;
  overflow-x: auto;
}

.post-service-table {
  min-width: 1080px;
}

.post-service-table.has-data {
  min-width: 1200px;
}

.post-service-table-header, .post-service-row {
  grid-template-columns: repeat(9, 120px);
  display: grid;
}

.post-service-table.has-data .post-service-table-header, .post-service-table.has-data .post-service-row {
  grid-template-columns: 120px 240px repeat(7, 120px);
}

.post-service-table-header {
  background: #fafafa;
  height: 50px;
}

.post-service-table-header strong {
  border-right: 1px solid #dedede;
  align-items: center;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.post-service-table-header strong:last-child {
  border-right: 0;
}

.post-service-table-body {
  margin-top: 8px;
}

.post-service-empty {
  color: #333;
  background: #fafafa;
  border: 1px solid #dedede;
  align-items: center;
  width: 100%;
  height: 54px;
  padding: 0 16px;
  font-size: 14px;
  display: flex;
}

.post-service-row {
  min-height: 101px;
}

.post-service-row:nth-child(2n) {
  background: #fafafa;
}

.post-service-row > span {
  overflow-wrap: anywhere;
  flex-direction: column;
  min-width: 0;
  padding: 11px 10px;
  font-size: 14px;
  line-height: 24px;
  display: flex;
}

.post-service-row b {
  font-weight: 600;
}

.post-service-row small, .post-service-row a {
  color: inherit;
  font-size: 14px;
  line-height: 24px;
}

.post-service-row a {
  text-underline-offset: 2px;
  text-decoration: underline;
}

@media (max-width: 1120px) {
  .post-service-report {
    overflow-x: auto;
  }
}

.operations-snapshot-canvas {
  position: relative;
}

.snapshot-report {
  min-width: 940px;
  padding-top: 1px;
}

.snapshot-date-trigger {
  border-radius: 3px;
  width: 216px;
  height: 36px;
  font-size: 15px;
}

.snapshot-filters {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
  display: grid;
}

.snapshot-filters label {
  color: #606060;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  font-size: 14px;
  line-height: 18px;
  display: flex;
}

.snapshot-filters select {
  appearance: auto;
  color: var(--ink);
  font: inherit;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 3px;
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 10px;
}

.snapshot-summaries {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.snapshot-summaries section {
  background: #fafafa;
  border: 1px solid #dedede;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 95px;
  padding: 0 16px;
  display: flex;
}

.snapshot-summaries span {
  color: #454545;
  font-size: var(--text-small);
  line-height: 18px;
}

.snapshot-summaries strong {
  color: #202020;
  font-size: 28px;
  font-weight: 400;
  line-height: 38px;
}

.snapshot-info {
  background: #f1f6fc;
  border: 1px solid #c4d9ef;
  border-radius: 3px;
  align-items: center;
  min-height: 74px;
  margin-top: 36px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 21px;
  display: flex;
}

.snapshot-info.has-summary {
  margin-top: 24px;
}

.snapshot-loading {
  margin-top: 24px;
  font-size: 14px;
}

.snapshot-timeline {
  margin-top: 18px;
  display: grid;
}

.snapshot-timeline > div {
  grid-template-columns: 80px 37px minmax(0, 1fr);
  align-items: center;
  min-height: 52px;
  display: grid;
}

.snapshot-timeline > div > strong, .snapshot-timeline > div > span {
  font-size: 16px;
  line-height: 22px;
}

.snapshot-timeline > div > strong {
  font-weight: 600;
}

.snapshot-timeline > div > div {
  gap: 4px;
  display: flex;
}

.snapshot-timeline b {
  border: 1px solid #dedede;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 47px;
  height: 44px;
  font-size: 16px;
  font-weight: 600;
  display: flex;
}

@media (max-width: 1120px) {
  .snapshot-report {
    overflow-x: auto;
  }
}

.guests-workspace {
  background: #fff;
  min-height: calc(100vh - 48px);
}

.guests-primary-nav {
  border-bottom: 1px solid #dedede;
  align-items: center;
  gap: 22px;
  height: 48px;
  padding: 0 18px;
  display: flex;
}

.guests-primary-nav a {
  color: #4f4f4f;
  align-items: center;
  height: 48px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.guests-primary-nav a.active {
  color: #111;
  font-weight: 600;
}

.guests-page {
  min-height: calc(100vh - 96px);
  padding: 0 24px 24px;
}

.guests-data-error {
  color: var(--burgundy);
  font-size: var(--text-small);
  padding: 8px 24px;
}

.guests-page-heading {
  border-bottom: 1px solid #dedede;
  justify-content: space-between;
  align-items: flex-start;
  height: 98px;
  padding-top: 24px;
  display: flex;
}

.guests-page-heading > div:first-child {
  display: grid;
}

.guests-page-heading > div:first-child > span {
  color: #666;
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 16px;
}

.guests-page-heading h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 31px;
}

.guests-page-heading > div:last-child {
  gap: 12px;
  display: flex;
}

.guests-page-heading [data-slot="button"] {
  border-radius: 3px;
  min-width: 124px;
  height: 44px;
  font-size: 14px;
}

.guests-page-heading [data-slot="button"]:first-child {
  border-color: var(--blue);
  color: var(--blue);
}

.guests-page-heading [data-slot="button"]:last-child {
  background: var(--blue);
  color: #fff;
}

.guests-page-heading [data-slot="button"] svg {
  width: 18px;
  height: 18px;
}

.guests-directory-toolbar {
  border-bottom: 1px solid #dedede;
  justify-content: space-between;
  align-items: center;
  height: 72px;
  display: flex;
}

.guests-directory-toolbar > label, .guest-group-detail-toolbar > label {
  border: 1px solid #c7c7c7;
  grid-template-columns: 45px 1fr;
  align-items: center;
  width: 310px;
  height: 37px;
  display: grid;
}

.guests-directory-toolbar > label svg, .guest-group-detail-toolbar > label svg {
  justify-self: center;
  width: 18px;
  height: 18px;
}

.guests-directory-toolbar input, .guest-group-detail-toolbar input {
  border-left: 1px solid #dedede;
  min-width: 0;
  height: 35px;
  padding: 0 12px;
  font-size: 14px;
}

.guests-filter-button {
  color: var(--blue);
  align-items: center;
  gap: 9px;
  height: 38px;
  font-size: 14px;
  display: flex;
}

.guests-filter-button.active {
  font-weight: 600;
}

.guests-filter-button b {
  background: var(--blue);
  color: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 11px;
  display: inline-flex;
}

.guests-filter-button svg {
  width: 18px;
  height: 18px;
}

.guests-filter-chips {
  border-bottom: 1px solid #dedede;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-height: 48px;
  padding: 7px 0;
  display: flex;
}

.guests-filter-chips button {
  color: #333;
  background: #f3f5f7;
  border: 1px solid #d8dde1;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 4px 9px 4px 11px;
  font-size: 12px;
  display: inline-flex;
}

.guests-filter-chips button:hover {
  border-color: var(--blue);
}

.guests-filter-chips button.clear {
  color: var(--blue);
  background: none;
  border-color: #0000;
}

.guests-filter-chips svg {
  width: 13px;
  height: 13px;
}

.guests-selection-actions {
  align-items: center;
  gap: 22px;
  display: flex;
}

.guests-selection-actions strong, .guests-selection-actions button {
  align-items: center;
  gap: 7px;
  font-size: 14px;
  display: flex;
}

.guests-selection-actions button {
  color: var(--blue);
}

.guests-selection-actions button.danger {
  color: #b33a31;
}

.guests-selection-actions svg {
  width: 17px;
  height: 17px;
}

.guests-directory-table {
  border: 1px solid #dedede;
  grid-template-rows: 45px minmax(0, 1fr) 55px;
  height: 407px;
  margin-top: 30px;
  display: grid;
  overflow: hidden;
}

.guests-directory-row {
  grid-template-columns: 45px 293px 353px 293px minmax(248px, 1fr);
  min-width: 1232px;
  display: grid;
}

.guests-directory-header {
  background: #fafafa;
  border-bottom: 1px solid #dedede;
}

.guests-directory-header > * {
  align-items: center;
  padding: 0 30px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
}

.guests-directory-header > span {
  justify-content: center;
  padding: 0;
}

.guests-directory-body {
  overflow-y: auto;
}

.guests-directory-body .guests-directory-row {
  border-bottom: 1px solid #e3e3e3;
  min-height: 46px;
}

.guests-directory-body .guests-directory-row > * {
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  min-width: 0;
  padding: 0 30px;
  font-size: 14px;
  display: flex;
  overflow: hidden;
}

.guests-directory-body .guests-directory-row > span:first-child {
  justify-content: center;
  padding: 0;
}

.guests-directory-body .guests-directory-row > button {
  color: #111;
  text-align: left;
}

.guests-directory-body .guests-directory-row > a {
  color: #111;
  text-underline-offset: 2px;
  text-decoration: underline;
}

.guests-directory-body .muted {
  color: #666;
}

.guests-directory-status {
  color: #555;
  align-content: center;
  justify-items: start;
  gap: 5px;
  min-height: 110px;
  padding: 20px 30px;
  font-size: 14px;
  display: grid;
}

.guests-directory-status strong {
  color: #222;
  font-weight: 600;
}

.guests-directory-status span {
  color: #666;
  font-size: 13px;
}

.guests-directory-status button {
  color: var(--blue);
  margin-top: 4px;
  font-size: 13px;
}

.guests-directory-status.error strong {
  color: var(--burgundy);
}

.guests-directory-table > footer {
  background: #fff;
  border-top: 1px solid #dedede;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  display: flex;
}

.guests-directory-table > footer nav {
  align-items: center;
  gap: 8px;
  display: flex;
}

.guests-directory-table > footer button, .guests-directory-table > footer nav span {
  color: var(--blue);
  font-size: var(--text-small);
  min-width: 28px;
}

.guests-directory-table > footer button.active {
  border: 1px solid var(--blue);
  height: 31px;
}

.guests-directory-table > footer button:disabled {
  color: #777;
}

.guests-directory-table > footer > span {
  color: #555;
  font-size: 14px;
}

.guests-filter-drawer[data-slot="sheet-content"] {
  z-index: 60;
  background: #fff;
  border-left: 1px solid #dedede;
  gap: 0;
  height: auto;
  padding: 0;
  position: fixed;
  top: 96px;
  bottom: 0;
  right: 0;
  box-shadow: -2px 0 5px #0000001a;
  width: 360px !important;
  max-width: 360px !important;
}

.guests-filter-drawer [data-slot="sheet-header"] {
  border-bottom: 1px solid #dedede;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 72px;
  padding: 0 18px;
  display: flex;
}

.guests-filter-drawer [data-slot="sheet-header"] > div {
  gap: 2px;
  display: grid;
}

.guests-filter-drawer [data-slot="sheet-title"] {
  margin: 0;
  font-size: 19px;
  font-weight: 600;
}

.guests-filter-drawer [data-slot="sheet-description"] {
  color: #666;
  font-size: 12px;
}

.guests-filter-drawer [data-slot="sheet-header"] > button {
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.guests-filter-drawer [data-slot="sheet-header"] > button svg {
  width: 18px;
  height: 18px;
}

.guest-merge-dialog {
  max-width: 720px !important;
}

.guest-merge-primary-list {
  border: 0;
  gap: 8px;
  max-height: 260px;
  margin: 4px 0 0;
  padding: 0;
  display: grid;
  overflow-y: auto;
}

.guest-merge-primary-list legend {
  color: #635d58;
  font-size: var(--text-caption);
  text-transform: uppercase;
  margin-bottom: 8px;
  font-weight: 700;
}

.guest-merge-primary-list label {
  cursor: pointer;
  border: 1px solid #ded8d1;
  border-radius: 8px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 10px 14px;
  display: grid;
}

.guest-merge-primary-list label.selected {
  background: var(--cream);
}

@supports (color: color-mix(in lab, red, red)) {
  .guest-merge-primary-list label.selected {
    background: color-mix(in srgb, var(--cream) 58%, white 42%);
  }
}

.guest-merge-primary-list label.selected {
  border-color: var(--burgundy);
}

.guest-merge-primary-list input {
  accent-color: var(--burgundy);
}

.guest-merge-primary-list svg {
  color: var(--burgundy);
  width: 18px;
  height: 18px;
}

.guest-merge-identity {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.guest-merge-identity strong, .guest-merge-identity small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.guest-merge-identity strong {
  color: #211d1a;
  font-size: var(--text-small);
}

.guest-merge-identity small {
  color: #716a64;
  font-size: var(--text-caption);
}

.guest-merge-identity.compact strong {
  font-weight: 550;
}

.guest-merge-preview {
  background: #f7f4f0;
  border: 1px solid #e1dcd6;
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 16px;
  display: grid;
}

.guest-merge-preview > svg {
  color: var(--burgundy);
  width: 20px;
  height: 20px;
}

.guest-merge-preview > div {
  gap: 9px;
  min-width: 0;
  display: grid;
}

.guest-merge-preview > div > span:first-child {
  color: #7b736d;
  font-size: var(--text-caption);
  text-transform: uppercase;
  font-weight: 700;
}

.guest-merge-source-stack {
  gap: 7px;
  display: grid;
}

.guest-merge-warning, .guest-merge-error {
  font-size: var(--text-caption);
  border-radius: 6px;
  margin: 0;
  padding: 10px 12px;
  line-height: 1.5;
}

.guest-merge-warning {
  color: #62564d;
  background: #f2ece3;
}

.guest-merge-error {
  color: #8a2424;
  background: #f8e7e7;
}

@media (max-width: 560px) {
  .guest-merge-preview {
    grid-template-columns: 1fr;
  }

  .guest-merge-preview > svg {
    transform: rotate(90deg);
  }
}

.guests-filter-scroll {
  flex: 1;
  width: 100%;
  min-height: 0;
  padding: 0 18px 24px;
  position: static;
  overflow-y: auto;
}

.guests-filter-scroll section {
  border-bottom: 1px solid #dedede;
  padding: 24px 0;
}

.guests-filter-scroll section > span, .guests-filter-field > span {
  color: #555;
  margin-bottom: 8px;
  font-size: 14px;
  display: block;
}

.guests-filter-scroll section > label {
  align-items: center;
  gap: 10px;
  margin: 8px 4px;
  font-size: 14px;
  display: flex;
}

.guests-filter-scroll section > small {
  color: #777;
  font-size: var(--text-small);
}

.guests-tag-filters {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.guests-tag-filters button {
  color: #666;
  border: 1px solid #dedede;
  border-radius: 18px;
  align-items: center;
  gap: 5px;
  height: 34px;
  padding: 0 11px;
  font-size: 14px;
  display: flex;
}

.guests-tag-filters button.active {
  border-color: var(--blue);
  color: var(--blue);
  background: #edf4fc;
}

.guests-tag-filters svg {
  width: 13px;
  height: 13px;
}

.guests-filter-field {
  border-bottom: 1px solid #dedede;
  padding: 24px 0;
  display: block;
}

.guests-filter-field input {
  border: 1px solid #dedede;
  width: 100%;
  height: 48px;
  padding: 0 12px;
  font-size: 14px;
}

.guests-filter-footer[data-slot="sheet-footer"] {
  flex-direction: initial;
  background: #fff;
  border-top: 1px solid #dedede;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
  padding: 12px 18px;
  display: grid;
}

.guests-filter-footer [data-slot="button"] {
  border-radius: 3px;
  height: 42px;
}

.guests-filter-footer [data-slot="button"]:last-child {
  background: var(--blue);
  color: #fff;
}

.guests-route-status {
  color: #555;
  padding: 32px 24px;
  font-size: 14px;
}

.guests-route-status.error {
  color: var(--burgundy);
}

.guest-group-list article {
  border-bottom: 1px solid #dedede;
  align-items: center;
  min-height: 86px;
  padding: 0 16px 0 18px;
  display: flex;
  position: relative;
}

.guests-groups-page .guests-page-heading [data-slot="button"] {
  min-width: 143px;
}

.guest-group-main {
  color: #111;
  text-align: left;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.guest-group-main > span {
  align-items: center;
  display: flex;
}

.guest-group-main b {
  color: var(--blue);
  font-size: 14px;
  font-weight: 500;
}

.guest-group-main i {
  border-left: 1px solid #777;
  margin-left: 7px;
  padding-left: 7px;
  font-size: 14px;
  font-style: normal;
}

.guest-group-main small {
  font-size: 14px;
}

.guest-group-list article > div {
  align-items: center;
  gap: 22px;
  padding-right: 12px;
  display: flex;
  position: relative;
}

.guest-group-list article > div > button {
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 34px;
  display: flex;
}

.guest-group-list article > div svg {
  width: 18px;
  height: 18px;
}

.guest-group-menu {
  z-index: 4;
  background: #fff;
  border: 1px solid #dedede;
  width: 150px;
  padding: 5px;
  position: absolute;
  top: 34px;
  right: 0;
  box-shadow: 0 3px 12px #0000001f;
}

.guest-group-menu button {
  font-size: var(--text-small);
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 8px;
  display: flex;
}

.guest-groups-empty {
  color: #666;
  padding: 24px 18px;
}

.guests-detail-heading {
  border-bottom: 1px solid #dedede;
  align-items: center;
  gap: 25px;
  height: 98px;
  display: flex;
}

.guests-detail-heading > button {
  justify-content: center;
  align-items: center;
  width: 27px;
  display: flex;
}

.guests-detail-heading svg {
  width: 18px;
  height: 18px;
}

.guests-detail-heading span {
  color: #666;
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.guests-detail-heading h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 31px;
}

.guest-group-detail-toolbar {
  border-bottom: 1px solid #dedede;
  justify-content: space-between;
  align-items: flex-start;
  height: 85px;
  padding-top: 11px;
  display: flex;
}

.guest-group-detail-toolbar > label {
  width: 200px;
}

.guest-group-detail-toolbar nav {
  align-items: center;
  gap: 8px;
  margin-top: 9px;
  display: flex;
}

.guest-group-detail-toolbar nav button {
  color: var(--blue);
  font-size: var(--text-small);
  min-width: 26px;
}

.guest-group-detail-toolbar nav button.active {
  border: 1px solid var(--blue);
  height: 31px;
}

.guest-group-detail-toolbar nav button:disabled {
  color: #777;
}

.guest-group-member-table {
  display: grid;
}

.guest-group-member-table > strong {
  background: #fafafa;
  align-items: center;
  height: 48px;
  padding: 0 15px;
  font-size: 14px;
  display: flex;
}

.guest-group-member-table > span {
  border-bottom: 1px solid #dedede;
  align-items: center;
  min-height: 48px;
  padding: 0 15px;
  font-size: 14px;
  display: flex;
}

.guest-group-criteria-summary {
  background: #faf7f3;
  border-bottom: 1px solid #dedede;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  display: flex;
}

.guest-group-criteria-summary strong {
  font-size: var(--text-small);
  margin-right: 4px;
}

.guest-group-criteria-summary span {
  font-size: var(--text-small);
  background: #fff;
  border: 1px solid #d8cec5;
  border-radius: 999px;
  padding: 6px 9px;
}

.guest-group-add-member {
  border-bottom: 1px solid #dedede;
  grid-template-columns: minmax(240px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  display: grid;
}

.guest-group-add-member select {
  border: 1px solid #c7c7c7;
  height: 40px;
  padding: 0 10px;
}

.guest-group-member-table > p {
  color: #666;
  padding: 20px 15px;
}

.guest-group-member-row {
  border-bottom: 1px solid #dedede;
  grid-template-columns: minmax(160px, .8fr) minmax(220px, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 52px;
  padding: 0 15px;
  font-size: 14px;
  display: grid;
}

.guest-group-member-row.header {
  background: #fafafa;
  min-height: 46px;
}

.guest-group-member-row > button {
  color: var(--burgundy);
  font-size: var(--text-small);
  align-items: center;
  gap: 6px;
  display: flex;
}

.guest-group-member-row > button svg {
  width: 15px;
  height: 15px;
}

.guests-profile-heading {
  height: 96px;
  padding-top: 24px;
}

.guests-profile-title {
  align-items: center;
  gap: 24px;
  flex-direction: row !important;
  display: flex !important;
}

.guests-profile-title > button {
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 32px;
  display: flex;
}

.guests-profile-title svg {
  width: 18px;
  height: 18px;
}

.guests-profile-title > span {
  display: grid;
  color: inherit !important;
  font-size: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.guests-profile-title small {
  color: #666;
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 16px;
}

.guest-profile-card {
  border: 1px solid #dedede;
  width: 600px;
  margin: 24px auto 0;
  padding: 16px;
}

.guest-profile-identity {
  grid-template-columns: 100px 1fr;
  align-items: start;
  gap: 24px;
  padding: 0 24px 8px;
  display: grid;
}

.guest-profile-identity > div {
  padding-top: 0;
}

.guest-profile-identity > span {
  color: #fff;
  background: #d7d7d7;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  display: flex;
}

.guest-profile-identity > span img {
  width: 100px;
  height: 100px;
  display: block;
}

.guest-profile-identity h2 {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 600;
}

.guest-profile-identity a {
  color: #111;
  font-size: 14px;
  line-height: 24px;
  text-decoration: underline;
  display: block;
}

.guest-profile-card hr {
  border: 0;
  border-top: 1px solid #dedede;
  margin: 16px 0;
}

.guest-profile-card h3 {
  margin: 0 12px 16px;
  font-size: 18px;
  font-weight: 600;
}

.guest-profile-counts {
  border: 1px solid #dedede;
  grid-template-columns: repeat(5, 1fr);
  margin: 0 12px 26px;
  display: grid;
}

.guest-profile-counts > div {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 68px;
  display: flex;
}

.guest-profile-counts strong {
  font-size: 16px;
}

.guest-profile-counts span {
  font-size: var(--text-caption);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.guest-profile-visits {
  margin: 0 20px 26px;
}

.guest-profile-visits > strong {
  font-size: var(--text-small);
  align-items: center;
  gap: 8px;
  display: flex;
}

.guest-profile-visits svg {
  color: var(--blue);
  width: 17px;
  height: 17px;
}

.guest-profile-visits p {
  margin: 12px 24px;
  font-size: 14px;
  line-height: 21px;
}

.guest-profile-facts {
  margin: 0 12px 28px;
}

.guest-profile-facts p {
  font-size: 14px;
}

.guest-profile-note-row {
  border-top: 1px solid #dedede;
  grid-template-columns: 125px 1fr 44px;
  align-items: center;
  gap: 15px;
  min-height: 70px;
  display: grid;
}

.guest-profile-note-row > strong {
  color: #666;
  text-align: right;
  font-size: 14px;
}

.guest-profile-note-row > span, .guest-profile-note-row textarea {
  font-size: 14px;
}

.guest-profile-note-row textarea {
  resize: none;
  background: #f5f5f5;
  border: 1px solid #dedede;
  height: 48px;
  padding: 12px;
}

.guest-profile-note-row > button {
  border: 1px solid #dedede;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
}

.guest-profile-note-row svg {
  width: 18px;
  height: 18px;
}

.guest-profile-activity {
  width: min(1160px, 100%);
  margin: 24px auto;
}

.guest-profile-activity h2 {
  margin: 0 0 16px;
  font-size: 20px;
}

.guest-profile-activity > div:first-of-type {
  grid-template-columns: repeat(7, 1fr);
  display: grid;
}

.guest-profile-activity > div:first-of-type span {
  border: 1px solid #dedede;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 70px;
  display: flex;
}

.guest-profile-activity > div:first-of-type strong {
  font-size: 17px;
}

.guest-profile-activity > div:first-of-type small {
  font-size: var(--text-label);
  text-transform: uppercase;
}

.guest-profile-activity-table {
  border: 1px solid #dedede;
  margin-top: 16px;
  overflow-x: auto;
}

.guest-profile-activity-table header {
  font-size: var(--text-small);
  background: #fafafa;
  grid-template-columns: repeat(9, 130px);
  min-width: 1170px;
  padding: 14px;
  display: grid;
}

.guest-profile-activity-table p, .guest-profile-activity-table > a {
  font-size: var(--text-small);
  grid-template-columns: repeat(9, 130px);
  align-items: center;
  min-width: 1170px;
  min-height: 52px;
  margin: 0;
  padding: 0 14px;
  display: grid;
}

.guest-profile-activity-table > a {
  border-top: 1px solid #e1e1e1;
  text-decoration: none;
}

.guest-profile-activity-table > a:hover {
  background: #faf8f4;
}

.guest-profile-activity-table > a > span, .guest-profile-activity-table > a > strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 10px;
  overflow: hidden;
}

.guest-profile-load-error {
  color: var(--burgundy);
  background: #fff1f1;
  border: 1px solid #e2b9b9;
  margin: 16px 24px 0;
  padding: 10px 12px;
}

:is(body:has(.tock-guest-editor), body:has(.guest-group-dialog)) {
  overflow: hidden;
}

:is(body:has(.tock-guest-editor) [data-slot="dialog-overlay"], body:has(.guest-group-dialog) [data-slot="dialog-overlay"]) {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: #00000073;
}

.tock-guest-editor, .guest-group-dialog {
  background: #fff;
  border: 0;
  border-radius: 2px;
  grid-template-rows: 53px minmax(0, 1fr) 76px;
  gap: 0;
  width: calc(100% - 40px);
  max-width: 576px;
  height: min(665px, 100vh - 55px);
  padding: 0;
  display: grid;
  top: 31px;
  left: 50%;
  overflow: hidden;
  --tw-translate-x: 0px !important;
  --tw-translate-y: 0px !important;
  transform: translateX(-50%)translate3d(0, 0, 0) !important;
}

.tock-guest-editor > header, .guest-group-dialog > header {
  border-bottom: 1px solid #dedede;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.tock-guest-editor > header h2, .guest-group-dialog > header h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 600;
}

.tock-guest-editor > header button, .guest-group-dialog > header button {
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  display: flex;
  position: absolute;
  right: 13px;
}

.tock-guest-editor > header svg, .guest-group-dialog > header svg {
  width: 20px;
  height: 20px;
}

.tock-guest-editor-body {
  padding: 31px 24px 32px;
  overflow-y: auto;
}

.tock-guest-editor-row {
  grid-template-columns: 130px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin-bottom: 12px;
  display: grid;
}

.tock-guest-editor-row > span {
  text-align: left;
  padding-left: 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 48px;
}

.tock-guest-editor-row input, .tock-guest-editor-row select, .tock-guest-editor-row textarea, .guest-spouse-search input, .guest-additional-phones input {
  border: 1px solid #dedede;
  width: 100%;
  height: 48px;
  padding: 0 12px;
  font-size: 14px;
}

.tock-guest-editor-row textarea {
  resize: vertical;
  height: 90px;
  padding-top: 12px;
}

.guest-name-inputs {
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  display: grid;
}

.phone-input {
  grid-template-columns: 62px 1fr;
  display: grid;
}

.phone-input select {
  border-right: 0;
}

.tock-guest-editor-body > h3 {
  margin: 39px 12px 37px;
  font-size: 18px;
  font-weight: 600;
}

.guest-spouse-search {
  border: 1px solid #dedede;
  grid-template-columns: 45px 1fr;
  align-items: center;
  margin-bottom: 27px;
  display: grid;
}

.guest-spouse-search svg {
  justify-self: center;
  width: 18px;
  height: 18px;
}

.guest-spouse-search input {
  border: 0;
  border-left: 1px solid #dedede;
}

.guest-additional-phones {
  gap: 8px;
  margin: 0 0 26px 12px;
  display: grid;
}

.guest-additional-phones > span {
  font-size: 14px;
  font-weight: 600;
}

.guest-additional-phones > button {
  border: 1px solid #dedede;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
}

.guest-additional-phones svg {
  width: 18px;
  height: 18px;
}

.guest-date-fields {
  grid-template-columns: 1.5fr .7fr .8fr;
  gap: 6px;
  display: grid;
}

.guest-marketing-opt-in {
  align-items: center;
  gap: 8px;
  margin-left: 142px;
  font-size: 14px;
  display: flex;
}

.guest-marketing-opt-in input {
  accent-color: var(--blue);
}

.guest-duplicate-warning {
  background: #fbf6ed;
  border: 1px solid #dbcdb9;
  flex-direction: column;
  gap: 9px;
  margin: 18px 0 0 142px;
  padding: 13px;
  display: flex;
}

.guest-duplicate-warning > strong {
  color: var(--burgundy);
}

.guest-duplicate-warning > p {
  color: #655c52;
  margin: 0;
  font-size: 12px;
}

.guest-duplicate-warning > div {
  background: #fff;
  border: 1px solid #ddd4c9;
}

.guest-duplicate-warning > div > button {
  color: var(--blue);
  text-align: right;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #e7dfd5;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px;
  font-size: 12px;
  display: flex;
}

.guest-duplicate-warning > div > button:last-child {
  border-bottom: 0;
}

.guest-duplicate-warning > div > button:hover {
  background: #faf8f4;
}

.guest-duplicate-warning > div span {
  color: var(--ink);
  text-align: left;
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.guest-duplicate-warning > div small {
  color: #76706a;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.guest-duplicate-warning > label {
  align-items: flex-start;
  gap: 7px;
  font-size: 12px;
  display: flex;
}

.guest-duplicate-warning > label input {
  accent-color: var(--burgundy);
  margin-top: 2px;
}

.tock-guest-editor > footer, .guest-group-dialog > footer {
  background: #fff;
  border-top: 1px solid #dedede;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  display: grid;
}

.tock-guest-editor > footer [data-slot="button"], .guest-group-dialog > footer [data-slot="button"] {
  border-radius: 2px;
  height: 48px;
}

.tock-guest-editor > footer [data-slot="button"]:last-child, .guest-group-dialog > footer [data-slot="button"]:last-child {
  background: var(--blue);
  color: #fff;
}

.tock-guest-editor > footer [data-slot="button"]:disabled, .guest-group-dialog > footer [data-slot="button"]:disabled {
  color: #fff;
  background: #d7d7d7;
}

.guest-group-dialog {
  grid-template-rows: 61px minmax(0, 1fr) 106px;
  height: min(679px, 100vh - 41px);
  top: 36px;
}

.guest-group-dialog-body {
  padding: 22px 24px;
  overflow-y: auto;
}

.guest-group-dialog > footer {
  align-items: start;
  padding: 16px 12px 0;
}

.guest-group-dialog-body > label {
  gap: 7px;
  display: grid;
}

.guest-group-dialog-body > label span, .guest-group-dialog-body legend {
  color: #555;
  font-size: 14px;
}

.guest-group-dialog-body > label input {
  border: 1px solid #dedede;
  height: 48px;
  padding: 0 12px;
  font-size: 14px;
}

.guest-group-dialog-body fieldset {
  border: 0;
  margin: 13px 0;
  padding: 0;
}

.guest-group-dialog-body fieldset > label {
  grid-template-columns: 24px 1fr;
  align-items: start;
  gap: 12px;
  margin: 17px 5px;
  display: grid;
}

.guest-group-dialog-body input[type="radio"] {
  accent-color: var(--blue);
  width: 18px;
  height: 18px;
}

.guest-group-dialog-body fieldset span {
  gap: 8px;
  display: grid;
}

.guest-group-dialog-body fieldset strong {
  font-size: 16px;
  font-weight: 500;
}

.guest-group-dialog-body fieldset small {
  color: #666;
  font-size: 14px;
}

.smart-group-criteria {
  border-top: 1px solid #dedede;
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  display: grid;
}

.smart-group-criteria > header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.smart-group-criteria > header > div {
  gap: 4px;
  display: grid;
}

.smart-group-criteria > header small {
  color: #666;
  font-size: var(--text-small);
}

.smart-group-condition {
  grid-template-columns: minmax(140px, .8fr) minmax(160px, 1fr) 36px;
  gap: 8px;
  display: grid;
}

.smart-group-condition select, .smart-group-condition input {
  border: 1px solid #dedede;
  height: 40px;
  padding: 0 10px;
}

.smart-group-condition > button {
  border: 1px solid #dedede;
  justify-content: center;
  align-items: center;
  display: flex;
}

.smart-group-condition > button svg {
  width: 16px;
  height: 16px;
}

.guests-dialog-error {
  color: var(--burgundy);
  font-size: var(--text-small);
}

@media (max-width: 760px) {
  .guests-page {
    padding: 0 12px 18px;
    overflow-x: auto;
  }

  .guests-page-heading {
    height: auto;
    min-height: 98px;
  }

  .guests-page-heading > div:last-child {
    gap: 6px;
  }

  .guests-page-heading [data-slot="button"] {
    min-width: 0;
    padding: 0 10px;
  }

  .guests-directory-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    height: auto;
    padding: 12px 0;
  }

  .guests-directory-toolbar > label {
    width: 100%;
  }

  .guests-selection-actions {
    flex-wrap: wrap;
    gap: 12px;
  }

  .guests-directory-table {
    margin-top: 18px;
  }

  .guests-directory-table > footer {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 7px;
    min-width: 560px;
  }

  .guests-filter-drawer[data-slot="sheet-content"] {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  .guest-profile-card, .guest-duplicate-warning {
    margin-left: 0;
  }
}

.reports-workspace {
  background: #f7f7f7;
  grid-template-columns: 276px minmax(0, 1fr);
  min-height: calc(100vh - 48px);
  display: grid;
}

.reports-subnav {
  width: 260px;
  min-height: calc(100vh - 64px);
  margin: 16px 8px 0;
}

.reports-subnav nav, .reports-subnav nav > div {
  flex-direction: column;
  display: flex;
}

.reports-subnav nav > div {
  gap: 2px;
}

.reports-subnav nav p {
  color: #777;
  font-size: var(--text-small);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 17px 12px 7px;
  font-weight: 600;
}

.reports-subnav a {
  color: #272727;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 2px;
  align-items: center;
  width: 240px;
  height: 32px;
  margin-left: 8px;
  padding: 0 8px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.reports-subnav a:hover {
  background: #f2f2f2;
}

.reports-subnav a.active {
  background: var(--burgundy);
  color: #fff;
  font-weight: 600;
}

.reports-canvas {
  background: #fff;
  border-radius: 12px 0 0;
  min-width: 0;
  padding: 40px 40px 64px 24px;
  overflow: hidden;
}

.reports-heading {
  border-bottom: 1px solid #dedede;
  justify-content: space-between;
  align-items: start;
  height: 67px;
  display: flex;
}

.reports-heading h1 {
  letter-spacing: -.02em;
  margin: 6px 0 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.reports-heading > div {
  gap: 8px;
  margin-right: 12px;
  display: flex;
}

.reports-heading button {
  border: 1px solid var(--blue);
  color: var(--blue);
  background: #fff;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  gap: 9px;
  width: 124px;
  min-width: 124px;
  height: 44px;
  padding: 0;
  font-size: 14px;
  font-weight: 500;
  display: inline-flex;
}

.reports-heading button svg {
  width: 17px;
  height: 17px;
}

.tock-report-controls {
  align-items: center;
  gap: 16px;
  height: 48px;
  margin-top: 26px;
  display: flex;
}

.tock-report-date, [data-slot="select-trigger"].tock-report-booking {
  box-shadow: none;
  color: #151515;
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 0;
  align-items: center;
  height: 48px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 400;
  display: flex;
}

.tock-report-date {
  justify-content: flex-start;
  gap: 0;
  width: 216px;
}

.tock-report-date svg {
  color: #555;
  width: 16px;
  height: 16px;
}

.tock-report-date svg:last-child {
  margin-left: auto;
}

[data-slot="select-trigger"].tock-report-booking {
  width: 130px;
}

[data-slot="select-trigger"].tock-report-auxiliary {
  box-shadow: none;
  color: #151515;
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 0;
  width: auto;
  min-width: 126px;
  height: 48px;
  font-size: 14px;
  font-weight: 400;
}

.report-date-popover {
  border: 1px solid #d8d8d8;
  border-radius: 0;
  grid-template-rows: 396px 68px;
  grid-template-columns: 345px 163px;
  gap: 0;
  width: 508px;
  height: 464px;
  padding: 0;
  display: grid;
}

.report-date-popover [data-slot="calendar"] {
  --cell-radius: 0px;
  --cell-size: 45px;
  grid-area: 1 / 1;
  width: 345px;
  padding: 12px;
}

.report-date-popover .rdp-months, .report-date-popover .rdp-month {
  gap: 8px;
  width: 100%;
}

.report-date-popover .rdp-month_caption {
  height: 48px;
  padding: 0 45px;
}

.report-date-popover .rdp-dropdowns {
  gap: 14px;
  font-size: 16px;
}

.report-date-popover .rdp-caption_label {
  font-size: 16px;
}

.report-date-popover .rdp-button_previous, .report-date-popover .rdp-button_next {
  border-radius: 0;
  width: 45px;
  height: 45px;
}

.report-date-popover .rdp-weekday {
  color: #111;
  font-size: 14px;
  font-weight: 600;
}

.report-date-popover .rdp-week {
  margin-top: 0;
}

.report-date-popover .rdp-weeks {
  padding-top: 13px;
  display: block;
}

.report-date-popover .rdp-day {
  border-radius: 0;
  height: 46px;
}

.report-date-popover .rdp-day_button {
  min-width: 45px;
  font-size: 16px;
  border-radius: 0 !important;
}

.report-date-popover .rdp-day[data-selected="true"], .report-date-popover .rdp-day[data-selected="true"] button, .report-date-popover .rdp-day button[data-range-start="true"], .report-date-popover .rdp-day button[data-range-middle="true"], .report-date-popover .rdp-day button[data-range-end="true"] {
  background: var(--blue) !important;
  color: #fff !important;
}

.report-date-inputs {
  grid-area: 2 / 1;
  grid-template-columns: 100px auto 100px;
  justify-content: center;
  align-items: start;
  gap: 31px;
  padding: 0 12px 20px;
  display: grid;
}

.report-date-inputs input {
  border: 1px solid #dedede;
  min-width: 0;
  height: 48px;
  padding: 0 12px;
  font-size: 14px;
}

.report-date-presets {
  border-left: 1px solid #dedede;
  flex-direction: column;
  grid-area: 1 / 2 / 3;
  gap: 6px;
  padding: 13px;
  display: flex;
}

.report-date-presets button {
  color: #111;
  background: #fff;
  border: 1px solid #dedede;
  height: 36px;
  min-height: 36px;
  font-size: 14px;
}

.reports-loading {
  justify-content: center;
  align-items: center;
  height: 180px;
  font-size: 14px;
  display: flex;
}

.reports-status {
  border: 1px solid #d9a5a5;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 5px;
  margin-top: 24px;
  padding: 15px;
  display: grid;
}

.reports-status strong, .reports-status span {
  font-size: var(--text-small);
}

.reports-status span {
  color: #666;
  grid-row: 2;
}

.reports-status button {
  background: var(--burgundy);
  color: #fff;
  border: 0;
  grid-area: 1 / 2 / 3;
  height: 36px;
  padding: 0 18px;
}

.tock-report-body {
  margin-top: 37px;
}

.report-line-chart {
  box-sizing: border-box;
  border: 1px solid #dfdfdf;
  height: 258px;
  margin: -13px 0 7px;
  padding: 13px;
  position: relative;
}

.report-line-chart h2 {
  margin: 0 0 15px;
  font-size: 16px;
  font-weight: 500;
}

.report-chart-grid {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  flex-direction: column;
  justify-content: space-between;
  width: calc(100% - 26px);
  height: 167px;
  padding: 0 0 2px;
  display: flex;
  position: absolute;
  top: 67px;
}

.report-chart-grid:after {
  content: "";
  border-top: 1px solid #e5e5e5;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
}

.report-chart-grid span {
  color: #777;
  font-size: var(--text-label);
  z-index: 1;
  background: #fff;
  width: 36px;
  transform: translateY(-7px);
}

.report-chart-bars {
  align-items: end;
  width: calc(100% - 65px);
  height: 166px;
  display: flex;
  position: absolute;
  top: 68px;
  left: 45px;
}

.report-chart-bars:before {
  border-top: 1px solid var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .report-chart-bars:before {
    border-top: 1px solid color-mix(in srgb, var(--blue) 58%, transparent);
  }
}

.report-chart-bars:before {
  content: "";
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.report-chart-bars > div {
  flex-direction: column;
  flex: 1;
  justify-content: end;
  align-items: center;
  min-width: 1px;
  height: 100%;
  display: flex;
}

.report-chart-bars i {
  background: var(--blue);
  opacity: .72;
  width: max(2px, 68%);
  min-height: 1px;
  display: block;
}

.report-chart-bars small {
  color: #777;
  font-size: var(--text-caption);
  white-space: nowrap;
  height: 20px;
  margin-top: 8px;
}

.report-line-chart.no-title {
  height: 235px;
}

.report-line-chart.no-title .report-chart-grid {
  height: 196px;
  top: 13px;
}

.report-line-chart.no-title .report-chart-bars {
  height: 195px;
  top: 14px;
}

.report-context {
  color: #333;
  margin: 0 0 16px 13px;
  font-size: 16px;
  font-weight: 500;
}

.report-tabs {
  justify-content: center;
  align-items: end;
  height: 64px;
  margin-bottom: 26px;
  display: flex;
}

.report-tabs button {
  color: #111;
  background: none;
  border: 0;
  border-bottom: 2px solid #0000;
  height: 48px;
  margin: 0 12px;
  padding: 8px 0;
  font-size: 14px;
  font-weight: 500;
}

.report-tabs button.active {
  border-bottom-color: var(--blue);
  color: var(--blue);
}

.tock-report-table-wrap {
  border: 1px solid #dfdfdf;
  max-width: 100%;
  overflow: auto;
}

.tock-report-table {
  border-collapse: collapse;
  width: max-content;
  min-width: 100%;
  font-size: 14px;
}

.tock-report-table th {
  color: #222;
  font-size: var(--text-small);
  text-align: left;
  white-space: nowrap;
  background: #fafafa;
  border-bottom: 1px solid #dfdfdf;
  min-width: 140px;
  height: 48px;
  padding: 0 23px;
  font-weight: 600;
}

.tock-report-table th:first-child {
  min-width: 260px;
}

.tock-report-table td {
  white-space: nowrap;
  border-bottom: 1px solid #e4e4e4;
  height: 48px;
  padding: 0 23px;
}

.tock-report-table tr:last-child td {
  border-bottom: 0;
}

.tock-report-table tr.possible-total:last-child td {
  font-weight: 700;
}

.summary-table .tock-report-table td {
  font-size: 16px;
}

.summary-table .tock-report-table td:first-child {
  width: calc(100% - 200px);
}

.summary-table .tock-report-table td:last-child {
  text-align: right;
  width: 200px;
}

.report-empty {
  border: 1px solid #dfdfdf;
  justify-content: center;
  align-items: center;
  min-height: 180px;
  display: flex;
}

.report-empty strong {
  font-size: 14px;
  font-weight: 400;
}

.report-section-table {
  margin-top: 24px;
}

.report-matrix + .report-matrix {
  margin-top: 30px;
}

.report-matrix h3 {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 500;
}

.report-help-prompt {
  margin: 18px 0 -12px;
  font-size: 14px;
}

.report-help-prompt a, .report-help a {
  color: var(--blue);
  text-decoration: underline;
}

.report-help {
  border-top: 1px solid #dedede;
  margin-top: 42px;
  padding-top: 24px;
}

.report-help h3 {
  margin: 0 0 18px;
  font-size: 18px;
}

.report-help > div {
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  display: flex;
}

.sales-tax-explainer {
  max-width: 860px;
  margin: 0 0 26px;
  font-size: 14px;
  line-height: 1.5;
}

.sales-tax-metrics {
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 28px;
  display: grid;
}

.sales-tax-metrics > div {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 92px;
  display: flex;
}

.sales-tax-metrics > div + div {
  border-left: 1px solid #dedede;
}

.sales-tax-metrics strong {
  font-size: 24px;
}

.sales-tax-metrics span {
  color: #666;
  font-size: var(--text-small);
  margin-top: 7px;
}

.bank-payout-info {
  background: var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .bank-payout-info {
    background: color-mix(in srgb, var(--blue) 5%, white);
  }
}

.bank-payout-info {
  border: 1px solid var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .bank-payout-info {
    border: 1px solid color-mix(in srgb, var(--blue) 62%, white);
  }
}

.bank-payout-info {
  margin-bottom: 16px;
  padding: 20px 24px;
  font-size: 14px;
  line-height: 1.7;
}

.report-overview-body {
  grid-template-columns: 1fr 320px;
  gap: 24px;
  display: grid;
}

.report-overview-body .report-line-chart {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.overview-summary-grid {
  border: 1px solid #dfdfdf;
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.overview-summary-grid section {
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  display: flex;
}

.overview-summary-grid section + section {
  border-left: 1px solid #dfdfdf;
}

.overview-summary-grid span {
  color: #666;
  font-size: var(--text-small);
}

.overview-summary-grid strong {
  font-size: 24px;
}

.report-overview-body .tock-report-table-wrap {
  align-self: start;
}

@media (max-width: 820px) {
  .reports-workspace {
    grid-template-columns: 220px minmax(720px, 1fr);
    overflow-x: auto;
  }

  .reports-subnav {
    width: 204px;
  }

  .reports-canvas {
    padding-right: 24px;
  }
}

@media (max-width: 560px) {
  .reports-workspace {
    min-width: 0;
    display: block;
    overflow: visible;
  }

  .reports-subnav {
    border-bottom: 1px solid #dedede;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 8px;
    overflow-x: auto;
  }

  .reports-subnav nav {
    flex-direction: row;
    width: max-content;
  }

  .reports-subnav nav > div {
    flex-direction: row;
  }

  .reports-subnav nav p {
    display: none;
  }

  .reports-subnav a {
    width: auto;
    padding: 0 10px;
  }

  .reports-canvas {
    padding: 24px 12px 48px;
  }

  .reports-heading {
    height: 60px;
  }

  .reports-heading h1 {
    font-size: 21px;
  }

  .reports-heading button {
    width: 44px;
    min-width: 44px;
    padding: 0;
    font-size: 0;
  }

  .tock-report-controls {
    overflow-x: auto;
  }

  .report-overview-body {
    display: block;
  }

  .report-overview-body > * {
    margin-bottom: 20px;
  }
}

@media print {
  body:has(.chits-preview-dialog) * {
    visibility: hidden !important;
  }

  .chits-preview-dialog, .chits-preview-dialog * {
    visibility: visible !important;
  }

  .chits-preview-dialog {
    box-shadow: none !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  .chits-preview-dialog > [data-slot="dialog-header"], .chits-preview-dialog > [data-slot="dialog-footer"], .chits-preview-dialog > [data-slot="dialog-close"], .section-topbar, .workspace-subnav, .data-toolbar, .view-toolbar, .dashboard-topbar {
    display: none !important;
  }

  .dashboard-main, .section-main {
    width: 100% !important;
  }

  .section-workspace {
    display: block;
  }

  .section-canvas {
    padding: 0;
  }

  .chit-controls {
    display: none;
  }

  .chits-layout {
    display: block;
  }

  .chit-preview {
    grid-template-columns: repeat(2, 1fr);
  }
}

.tock-texting-editor {
  max-width: 880px;
  margin: 0 auto;
  padding: 8px 0 56px;
}

.tock-texting-editor > header {
  border-bottom: 1px solid #dedede;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 24px;
  display: flex;
}

.tock-texting-editor > header span {
  color: #777;
  font-size: var(--text-small);
}

.tock-texting-editor h1 {
  margin: 5px 0 0;
  font-size: 28px;
  font-weight: 500;
}

.tock-texting-editor > section {
  border-bottom: 1px solid #dedede;
  padding: 28px 0;
}

.texting-provider-status {
  background: #f7f8f9;
  border: 1px solid #d8dce1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 18px 0 24px;
  display: grid;
}

.texting-provider-status > div {
  gap: 4px;
  padding: 15px 16px;
  display: grid;
}

.texting-provider-status > div + div {
  border-left: 1px solid #d8dce1;
}

.texting-provider-status strong {
  font-size: var(--text-small);
}

.texting-provider-status span {
  color: #62676d;
  font-size: var(--text-caption);
  line-height: 1.45;
}

.texting-provider-status.ready {
  border-left: 3px solid #3d7b57;
}

.texting-provider-status.attention {
  border-left: 3px solid #b46b28;
}

.tock-texting-editor h2 {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 550;
}

.tock-texting-editor p {
  color: #666;
  font-size: var(--text-small);
  margin: 0 0 14px;
  line-height: 1.5;
}

.tock-texting-editor textarea {
  max-width: 680px;
  min-height: 92px;
}

.texting-toggle {
  align-items: flex-start;
  gap: 12px;
  margin-top: 18px;
  display: flex;
}

.texting-toggle input {
  accent-color: var(--blue);
  margin-top: 3px;
}

.texting-toggle span {
  gap: 3px;
  display: grid;
}

.texting-toggle small {
  color: #777;
}

.texting-section-heading {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.texting-section-heading svg {
  width: 15px;
  height: 15px;
}

.texting-preset-list {
  gap: 12px;
  margin-top: 18px;
  display: grid;
}

.texting-preset {
  background: #fafafa;
  border: 1px solid #dedede;
  grid-template-columns: 190px 1fr 34px;
  align-items: start;
  gap: 14px;
  padding: 16px;
  display: grid;
}

.texting-preset label {
  color: #555;
  font-size: var(--text-small);
  gap: 7px;
  display: grid;
}

.texting-preset textarea {
  min-height: 72px;
}

.texting-preset > button {
  color: #777;
  background: none;
  border: 0;
  padding: 7px;
}

.texting-preset > button svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 680px) {
  .tock-texting-editor > header, .texting-section-heading {
    align-items: flex-start;
    gap: 16px;
  }

  .texting-preset {
    grid-template-columns: 1fr 34px;
  }

  .texting-preset label:first-child {
    grid-column: 1 / -1;
  }

  .texting-provider-status {
    grid-template-columns: 1fr;
  }

  .texting-provider-status > div + div {
    border-top: 1px solid #d8dce1;
    border-left: 0;
  }
}

.event-ticket-menu-choices {
  border-bottom: 1px solid var(--border);
  gap: 8px;
  padding: 12px 0;
  display: grid;
}

.event-ticket-menu-choices > div {
  gap: 2px;
  display: grid;
}

.event-ticket-menu-choices small {
  color: var(--muted-foreground);
}

.dashboard-home-shell {
  background: #f8f8f8;
  min-height: 100vh;
}

.dashboard-home {
  max-width: 1320px;
  margin: 0 auto;
  padding: 34px 24px 70px;
}

.dashboard-home > h1 {
  color: #111;
  letter-spacing: -2px;
  margin: 0 0 22px;
  font-family: Impact, Haettenschweiler, Arial Narrow Bold, sans-serif;
  font-size: 42px;
  font-weight: 500;
  font-stretch: condensed;
  line-height: 1;
}

.dashboard-home-metrics {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 23px;
  display: grid;
}

.dashboard-home-metrics > article {
  background: #fff;
  border: 1px solid #d9d9d9;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  min-height: 140px;
  padding: 17px 24px;
  display: grid;
}

.dashboard-home-metrics h2 {
  grid-column: 1 / -1;
  margin: 0;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
}

.dashboard-home-metrics article > div {
  flex-direction: column;
  align-self: end;
  padding-bottom: 8px;
  display: flex;
}

.dashboard-home-metrics article > div strong {
  font-size: 25px;
  line-height: 1;
}

.dashboard-home-metrics article > div small {
  margin-top: 5px;
  font-size: 14px;
}

.dashboard-home-metrics > article:last-child {
  background: #f0fbf2;
  border-color: #a6d3b1;
  padding: 17px;
  display: block;
}

.dashboard-home-metrics > article:last-child h2 {
  align-items: center;
  display: flex;
}

.dashboard-home-metrics > article:last-child h2 svg {
  width: 16px;
  height: 16px;
  margin-right: 16px;
}

.dashboard-home-metrics > article:last-child p {
  margin: 17px 0 0;
  font-size: 14px;
  line-height: 1.42;
}

.dashboard-home-metrics > article:last-child a {
  color: #111;
  text-decoration: underline;
}

.dashboard-home-metrics > article.availability-off {
  background: #fff4f2;
  border-color: #dab3aa;
}

.dashboard-home-actions {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
  display: grid;
}

.dashboard-home-actions a {
  color: #fff;
  background: #3968df;
  border-radius: 3px;
  align-items: center;
  gap: 9px;
  height: 45px;
  padding: 0 14px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.dashboard-home-actions a:hover {
  background: #315bc7;
}

.dashboard-home-actions svg {
  width: 17px;
  height: 17px;
}

.dashboard-home-actions svg:last-child {
  margin-left: auto;
}

.dashboard-home-actions .mobile-label {
  display: none;
}

.dashboard-home-grid {
  border-top: 1px solid #d9d9d9;
  grid-template-columns: minmax(0, 3.15fr) minmax(250px, 1fr);
  gap: 24px;
  margin-top: 48px;
  padding-top: 48px;
  display: grid;
}

.dashboard-home-grid > article {
  background: #fff;
  border: 1px solid #d9d9d9;
}

.dashboard-home-grid h2 {
  margin: 0;
  font-family: inherit;
  font-size: 18px;
}

.dashboard-snapshot-card {
  min-height: 324px;
  padding: 24px;
}

.dashboard-snapshot-card > header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.dashboard-snapshot-card > header a {
  color: #111;
  display: flex;
}

.dashboard-snapshot-card > header svg {
  width: 18px;
  height: 18px;
}

.dashboard-snapshot-body {
  grid-template-columns: minmax(280px, 1fr) minmax(300px, .9fr);
  align-items: center;
  gap: 80px;
  margin-top: 28px;
  display: grid;
}

.dashboard-cover-gauge {
  text-align: center;
  height: 150px;
  padding-top: 75px;
  position: relative;
}

.dashboard-cover-gauge > span {
  border: 29px solid #df514f;
  border-bottom: 0;
  border-radius: 180px 180px 0 0;
  width: 218px;
  height: 109px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.dashboard-cover-gauge strong {
  font-size: 30px;
  line-height: 1;
  display: block;
  position: relative;
}

.dashboard-cover-gauge small {
  font-size: 14px;
  font-weight: 600;
  position: relative;
}

.dashboard-snapshot-body table {
  border-collapse: collapse;
  width: 100%;
}

.dashboard-snapshot-body th {
  color: #666;
  text-align: left;
  text-transform: uppercase;
  padding: 0 0 12px;
  font-size: 11px;
  font-weight: 500;
}

.dashboard-snapshot-body th:last-child, .dashboard-snapshot-body td:last-child {
  text-align: right;
}

.dashboard-snapshot-body td {
  padding: 7px 0;
  font-size: 14px;
}

.dashboard-snapshot-body td i {
  background: #6366de;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  display: inline-block;
}

.dashboard-snapshot-body td i.booked {
  background: #df514f;
}

.dashboard-snapshot-body tr.total td {
  text-transform: uppercase;
  border-bottom: 1px solid #ddd;
  padding-bottom: 16px;
  font-weight: 600;
}

.dashboard-snapshot-body tr.pending td {
  padding-top: 20px;
}

.dashboard-snapshot-body tr.pending i {
  background: #ef872e;
}

.dashboard-notes-card {
  min-height: 324px;
  padding: 24px;
}

.dashboard-notes-card p, .dashboard-large-parties p {
  color: #6b6b6b;
  margin: 27px 0 0;
  font-size: 14px;
}

.dashboard-service-overview {
  min-height: 300px;
  padding: 25px 24px;
}

.dashboard-service-overview > div:nth-child(2) {
  flex-direction: column;
  margin-top: 28px;
  display: flex;
}

.dashboard-service-overview > div strong {
  font-size: 25px;
}

.dashboard-service-overview > div span {
  margin-top: 3px;
  font-size: 14px;
}

.dashboard-service-chart {
  border-bottom: 1px solid #ddd;
  justify-content: space-around;
  align-items: flex-end;
  height: 132px;
  padding: 0 20px;
  position: relative;
  margin-top: 7px !important;
  display: flex !important;
}

.dashboard-service-chart:before, .dashboard-service-chart:after {
  content: "";
  border-top: 1px solid #ddd;
  position: absolute;
  left: 0;
  right: 0;
}

.dashboard-service-chart:before {
  top: 36px;
}

.dashboard-service-chart:after {
  top: 78px;
}

.dashboard-service-chart i {
  flex-direction: column;
  flex: 1;
  justify-content: flex-end;
  align-self: flex-end;
  align-items: center;
  height: 110px;
  font-style: normal;
  display: flex;
  position: relative;
}

.dashboard-service-chart i b {
  height: var(--bar-height);
  z-index: 1;
  background: #3968df;
  border-radius: 3px 3px 0 0;
  width: 24px;
  min-height: 0;
  display: block;
}

.dashboard-service-chart i span {
  white-space: nowrap;
  font-size: 12px;
  position: absolute;
  bottom: -25px;
}

.dashboard-large-parties {
  min-height: 300px;
  padding: 24px;
}

.dashboard-large-parties ul {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.dashboard-large-parties li {
  border-bottom: 1px solid #ddd;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  display: grid;
}

.dashboard-large-parties li strong {
  background: #eee;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  height: 28px;
  display: flex;
}

.dashboard-large-parties li span, .dashboard-large-parties li time {
  font-size: 12px;
}

@media (max-width: 640px) {
  .dashboard-home {
    min-width: 390px;
    padding: 47px 24px 55px;
  }

  .dashboard-home > h1 {
    white-space: nowrap;
    margin-bottom: 31px;
    font-size: 36px;
  }

  .dashboard-home-metrics {
    grid-template-columns: 98px 98px 98px;
    gap: 24px;
    overflow: hidden;
  }

  .dashboard-home-metrics > article {
    height: 409px;
    min-height: 409px;
    padding: 16px 24px;
    display: block;
    overflow: hidden;
  }

  .dashboard-home-metrics h2 {
    white-space: nowrap;
    font-size: 16px;
    line-height: 1.25;
  }

  .dashboard-home-metrics article > div {
    margin-top: 300px;
    padding: 0;
  }

  .dashboard-home-metrics article > div + div {
    display: none;
  }

  .dashboard-home-metrics > article:last-child {
    padding: 16px;
  }

  .dashboard-home-metrics > article:last-child h2 {
    white-space: normal;
    line-height: 1.45;
  }

  .dashboard-home-metrics > article:last-child h2 svg {
    flex: none;
    margin-right: 16px;
  }

  .dashboard-home-metrics > article:last-child p {
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.5;
  }

  .dashboard-home-actions {
    margin-top: 16px;
    display: block;
  }

  .dashboard-home-actions a {
    display: none;
  }

  .dashboard-home-actions .guest-list-action {
    display: flex;
  }

  .dashboard-home-actions .desktop-label {
    display: none;
  }

  .dashboard-home-actions .mobile-label {
    display: inline;
  }

  .dashboard-home-grid {
    margin-top: 47px;
    margin-left: -24px;
    margin-right: -24px;
    padding: 48px 24px 0;
    display: block;
  }

  .dashboard-home-grid > article {
    margin-bottom: 24px;
  }

  .dashboard-snapshot-card {
    min-height: 410px;
  }

  .dashboard-snapshot-body {
    display: block;
  }

  .dashboard-cover-gauge {
    margin-top: 45px;
  }

  .dashboard-snapshot-body table {
    display: none;
  }

  .dashboard-notes-card {
    min-height: 220px;
  }

  .dashboard-service-overview {
    overflow: hidden;
  }

  .dashboard-service-chart {
    min-width: 690px;
  }
}

.business-page-editor {
  color: #171717;
  max-width: 940px;
}

.business-page-editor > header {
  background: #fff;
  border-bottom-color: #d6d6d6;
  min-height: 74px;
  margin-bottom: 24px;
}

.business-page-editor > header h1 {
  letter-spacing: -.025em;
  font-size: 24px;
  font-weight: 600;
}

.business-page-editor > header > div:first-child > span {
  color: #656565;
  letter-spacing: .1em;
  font-size: 11px;
}

.business-page-editor > header a {
  color: #28587b;
  text-underline-offset: 2px;
  text-decoration: underline;
}

.business-page-editor > header [data-slot="button"] {
  color: #fff;
  background: #28587b;
  border-color: #28587b;
  font-weight: 600;
}

.business-page-editor > header [data-slot="button"]:disabled {
  color: #fff;
  background: #ddd;
  border-color: #ddd;
}

.business-page-feedback {
  max-width: 600px;
  margin: -10px 0 20px;
}

.business-page-feedback:empty {
  display: none;
}

.business-page-feedback > span {
  color: #2d6d45;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  display: flex;
}

.business-page-feedback > span svg {
  width: 16px;
  height: 16px;
}

.business-page-feedback > .error, .business-page-field-error {
  font-size: 13px;
  font-weight: 550;
  color: #a12e29 !important;
}

.business-page-field-error {
  margin: 5px 0 0 !important;
}

.business-page-counter {
  float: right;
  white-space: nowrap;
}

.business-page-editor > section {
  border-bottom-color: #d8d8d8;
  max-width: 600px;
}

.business-page-editor > section h2 {
  letter-spacing: -.015em;
  font-size: 20px;
}

.business-page-editor [data-slot="input"], .business-page-editor select, .business-page-editor textarea {
  box-shadow: none;
  background: #fff;
  border-color: #cfcfcf;
}

.business-page-editor [aria-invalid="true"] {
  border-color: #ad2b35;
  box-shadow: 0 0 0 1px #ad2b35;
}

.business-page-editor .settings-panel {
  border-radius: 3px;
  border-color: #d5d5d5 !important;
}

.business-page-editor .settings-toggle {
  min-height: 56px;
  padding: 16px;
}

.business-page-editor .settings-toggle > em {
  color: #32794a;
  margin-left: auto;
  margin-right: 12px;
  font-size: 13px;
  font-style: normal;
}

.business-page-editor .settings-toggle > input {
  background: #aaa;
  width: 40px;
  height: 22px;
}

.business-page-editor .settings-toggle > input:checked {
  background: #38864f;
}

.safety-editor .settings-panel {
  padding-bottom: 0 !important;
}

.safety-editor .safety-note {
  color: #202020;
  background: #f0f5fb;
  border: 1px solid #c5d4e2;
  margin: 16px;
  padding: 16px;
}

.safety-editor .safety-note p {
  color: #202020;
  line-height: 20px;
}

.safety-editor .safety-groups {
  padding: 22px 16px 10px;
}

.safety-editor .safety-groups fieldset {
  margin-bottom: 26px;
}

.address-editor .address-map-empty {
  color: #656565;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  max-width: 340px;
  padding: 24px;
  display: flex;
}

.address-editor .address-map-empty svg {
  color: #28587b;
  width: 24px;
  height: 24px;
  margin-bottom: 4px;
}

.address-editor .address-map-empty strong {
  color: #292929;
  font-size: 14px;
}

.address-editor .address-map-empty span {
  font-size: 12px;
  line-height: 17px;
}

.business-media-heading {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.business-media-heading h2 {
  margin-bottom: 5px;
}

.business-media-heading p {
  color: #666;
  max-width: 500px;
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 18px;
}

.business-media-heading > span {
  color: #555;
  background: #f3f3f3;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 12px;
}

.business-media-empty {
  color: #666;
  text-align: center;
  border: 1px dashed #cfcfcf;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  min-height: 210px;
  margin-top: 18px;
  display: flex;
}

.business-media-empty svg {
  color: #28587b;
  width: 28px;
  height: 28px;
  margin-bottom: 4px;
}

.business-media-empty strong {
  color: #222;
  font-size: 14px;
}

.business-media-empty span {
  font-size: 13px;
}

.business-image-grid article {
  border-color: #d1d1d1;
}

.business-image-order {
  color: #303030;
  background: #fffffff0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  font-size: 11px;
  font-weight: 650;
  display: flex;
  position: absolute;
  bottom: 8px;
  left: 8px;
}

.business-logo-workspace {
  align-items: center;
  gap: 24px;
  margin: 18px 0 20px;
  display: flex;
}

.business-logo-workspace .business-logo-preview {
  width: 220px;
  height: 220px;
  margin: 0;
}

.business-logo-workspace .business-logo-preview.empty {
  flex-direction: column;
  gap: 9px;
}

.business-logo-workspace .business-logo-preview.empty svg {
  color: #28587b;
  width: 28px;
  height: 28px;
}

.business-logo-workspace > div:last-child {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.business-logo-workspace > div:last-child strong {
  font-size: 14px;
}

.business-logo-workspace > div:last-child span {
  color: #666;
  font-size: 12px;
}

.faq-list-heading {
  border-bottom: 1px solid #d8d8d8;
  justify-content: space-between;
  align-items: baseline;
  max-width: 720px;
  padding: 4px 0 12px;
  display: flex;
}

.faq-list-heading > span {
  font-size: 13px;
  font-weight: 600;
}

.faq-list-heading > small {
  color: #707070;
  font-size: 11px;
}

.faq-list article > div:nth-child(2) > small {
  color: #777;
  margin-top: 8px;
  font-size: 11px;
  display: block;
}

.faq-form > small {
  color: #747474;
  text-align: right;
  margin: -16px 0 18px;
  font-size: 11px;
}

.public-hours-editor .public-hours-panel {
  border-color: #d5d5d5;
  border-radius: 3px;
  padding: 24px;
}

.public-hours-editor .public-hours-display-row button[role="switch"] {
  width: 68px;
  height: 36px;
}

.public-hours-editor .public-hours-note {
  background: #f0f5fb;
  border-color: #c5d4e2;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.public-hours-editor .public-hours-note svg {
  color: #28587b;
  flex: none;
  width: 17px;
  height: 17px;
  margin-top: 1px;
}

.private-events-editor .settings-panel {
  max-width: 600px !important;
}

.private-events-editor .settings-toggle {
  border-bottom: 1px solid #d8d8d8;
}

.private-events-editor .private-event-email {
  border-top: 0;
}

.private-events-editor .widget-instructions {
  padding: 24px;
}

.private-events-editor .widget-instructions > p:first-of-type {
  color: #333;
  margin-bottom: 22px;
  line-height: 20px;
}

.sales-tax-settings > header {
  min-height: 73px;
}

.sales-tax-source-empty {
  background: #f0f5fb;
  border: 1px solid #c5d4e2;
  align-items: flex-start;
  gap: 11px;
  max-width: 600px;
  margin: 0 0 32px;
  padding: 15px 16px;
  display: flex;
}

.sales-tax-source-empty > svg {
  color: #28587b;
  flex: none;
  width: 17px;
  height: 17px;
  margin-top: 2px;
}

.sales-tax-source-empty > div {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.sales-tax-source-empty strong {
  font-size: 13px;
}

.sales-tax-source-empty span {
  color: #4f5f6b;
  font-size: 12px;
  line-height: 17px;
}

.sales-tax-category-grid > section {
  border-color: #d6d6d6;
  min-height: 188px;
}

.sales-tax-category-grid > section > header {
  background: #fafafa;
}

.sales-tax-category-grid > section > header strong {
  line-height: 1;
}

.taxed-goods {
  overflow-x: auto;
}

.taxed-goods .taxed-goods-count {
  color: #6b6b6b;
  margin: -10px 0 10px;
  font-size: 12px;
}

.taxed-goods table {
  min-width: 620px;
}

@media (max-width: 760px) {
  .business-page-editor > header, .public-hours-editor.business-page-editor > header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 0 16px;
  }

  .business-page-editor > header > div:last-child, .public-hours-editor.business-page-editor > header > div:last-child {
    flex-flow: wrap;
    align-items: center;
    gap: 10px;
    width: 100%;
  }

  .business-page-editor > header [data-slot="button"], .public-hours-editor.business-page-editor > header [data-slot="button"] {
    margin-left: auto;
  }

  .business-logo-workspace {
    flex-direction: column;
    align-items: flex-start;
  }

  .business-image-grid {
    grid-template-columns: 1fr;
  }

  .faq-editor > header > div:last-child {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .faq-editor > header > div:last-child a {
    grid-column: 1 / -1;
  }

  .faq-list-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }

  .public-hours-editor .public-hours-panel {
    border-left: 0;
    border-right: 0;
    max-width: none;
    margin-inline: -16px;
    padding: 20px 16px;
  }

  .public-hours-day {
    grid-template-columns: 38px 40px minmax(0, 1fr);
    gap: 8px;
  }

  .public-hours-day > button {
    width: 40px;
    height: 40px;
  }

  .public-hours-window {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 32px;
  }

  .public-hours-window select:first-child {
    grid-column: 1 / -1;
  }

  .public-hours-window select, .public-hours-closed {
    height: 40px;
  }

  .sales-tax-category-grid {
    grid-template-columns: 1fr;
  }

  .taxed-goods > div {
    flex-direction: column;
    align-items: stretch;
  }

  .taxed-goods select {
    width: 100%;
  }
}

.manage-page {
  color: var(--ink);
  background: #f6f1ea;
  min-height: 100vh;
}

.manage-header {
  border-bottom: 1px solid #ded5ca;
  justify-content: space-between;
  align-items: center;
  height: 74px;
  padding: 0 42px;
  display: flex;
}

.manage-header > a:last-child {
  border-bottom: 1px solid var(--burgundy);
  color: var(--burgundy);
  font-size: var(--text-small);
  padding-bottom: 3px;
}

.manage-stage {
  max-width: 820px;
  margin: 0 auto;
  padding: 72px 28px 90px;
}

.manage-intro {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 34px;
}

.manage-intro h1 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 12px 0 14px;
  font-size: 54px;
  font-weight: 400;
  line-height: 1;
}

.manage-intro > p {
  color: #786d65;
  font-family: var(--serif);
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.manage-reservation {
  background: #fffdf9;
  border: 1px solid #dcd4cb;
  max-width: 620px;
  margin: 0 auto;
  padding: 28px;
  box-shadow: 0 16px 50px #3a28210f;
}

.manage-status {
  border-bottom: 1px solid #e7e0d8;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 12px;
  padding-bottom: 21px;
  display: grid;
}

.manage-status > span {
  color: #3d7454;
  background: #e2eee6;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  height: 38px;
  display: flex;
}

.manage-status > span.cancelled {
  color: #9a4035;
  background: #f2e1dc;
}

.manage-status svg {
  height: 16px;
}

.manage-status > div {
  flex-direction: column;
  display: flex;
}

.manage-status small, .manage-facts small, .manage-guest small {
  color: #968a81;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.manage-status strong {
  font-family: var(--serif);
  margin-top: 2px;
  font-size: 18px;
  font-weight: 400;
}

.manage-status > i {
  color: var(--burgundy);
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  background: #f0ebe5;
  border-radius: 5px;
  padding: 7px 9px;
  font-style: normal;
}

.manage-facts {
  border-bottom: 1px solid #e7e0d8;
  grid-template-columns: 1.4fr 1fr 1fr;
  display: grid;
}

.manage-facts > div {
  border-right: 1px solid #e7e0d8;
  align-items: center;
  gap: 10px;
  min-height: 92px;
  padding: 15px;
  display: flex;
}

.manage-facts > div:first-child {
  padding-left: 0;
}

.manage-facts > div:last-child {
  border: 0;
}

.manage-facts svg {
  color: var(--terracotta);
  height: 16px;
}

.manage-facts span {
  flex-direction: column;
  display: flex;
}

.manage-facts strong {
  font-size: var(--text-small);
  margin-top: 4px;
}

.manage-guest {
  border-bottom: 1px solid #e7e0d8;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  display: flex;
}

.manage-guest > div {
  align-items: center;
  gap: 10px;
  display: flex;
}

.manage-guest > div > span {
  color: var(--burgundy);
  font-size: var(--text-label);
  background: #eee0cb;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.manage-guest p {
  color: #756a62;
  font-size: var(--text-small);
  align-items: center;
  gap: 6px;
  margin: 0;
  display: flex;
}

.manage-guest > div p {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.manage-guest > div strong {
  color: var(--ink);
  font-size: var(--text-small);
}

.manage-guest svg {
  height: 14px;
}

.manage-policy {
  background: #f1ece5;
  align-items: flex-start;
  gap: 12px;
  margin: 22px 0;
  padding: 15px;
  display: flex;
}

.manage-policy > svg {
  color: var(--blue);
  height: 17px;
}

.manage-policy strong {
  font-size: var(--text-small);
}

.manage-policy p {
  color: #7b7068;
  font-size: var(--text-small);
  margin: 4px 0 0;
  line-height: 1.55;
}

.manage-change-help {
  border-left: 2px solid var(--blue);
  background: #f1ece5;
  margin: 0 0 22px;
  padding: 14px 15px;
}

.manage-change-help strong {
  font-size: var(--text-small);
}

.manage-change-help p {
  color: #756a62;
  font-size: var(--text-small);
  margin: 4px 0 0;
  line-height: 1.5;
}

.manage-actions {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.manage-actions > div {
  gap: 8px;
  display: flex;
}

.manage-actions [data-slot="button"] {
  font-size: var(--text-small);
}

.manage-actions > a {
  color: var(--burgundy);
  font-size: var(--text-small);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.manage-error {
  color: #8a3028;
  font-size: var(--text-small);
  background: #f5e2dd;
  padding: 10px;
}

.manage-account-save {
  border: 1px solid #e0d8cf;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 11px;
  margin: 0 0 22px;
  padding: 14px;
  display: grid;
}

.manage-account-save > svg {
  color: var(--terracotta);
  height: 17px;
}

.manage-account-save > div {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.manage-account-save strong {
  font-size: var(--text-small);
}

.manage-account-save p {
  color: #7b7068;
  font-size: var(--text-caption);
  margin: 0;
  line-height: 1.45;
}

.manage-account-save > a {
  color: var(--burgundy);
  font-size: var(--text-small);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.manage-account-save [data-slot="button"] {
  font-size: var(--text-small);
  white-space: nowrap;
}

.manage-reschedule {
  border-top: 1px solid #e3dbd2;
  flex-direction: column;
  gap: 12px;
  padding-top: 18px;
  display: flex;
}

.manage-reschedule-head {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.manage-reschedule-head strong {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 400;
}

.manage-reschedule-head p, .manage-reschedule > p {
  color: #7b7068;
  font-size: var(--text-small);
  margin: 3px 0 0;
  line-height: 1.5;
}

.manage-reschedule-head button {
  color: var(--burgundy);
  font-size: var(--text-small);
  background: none;
  border: 0;
  text-decoration: underline;
}

.manage-reschedule > label {
  color: #7b7068;
  font-size: var(--text-small);
  border-top: 1px solid #ddd4ca;
  border-bottom: 1px solid #ddd4ca;
  grid-template-columns: 16px 62px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  display: grid;
}

.manage-reschedule > label svg {
  color: var(--terracotta);
  height: 15px;
}

.manage-reschedule > label input {
  color: var(--ink);
  font-size: var(--text-control);
  background: none;
  border: 0;
  min-height: 44px;
}

.manage-reschedule > small {
  color: #8f837a;
  font-size: var(--text-label);
  text-transform: uppercase;
}

.manage-times {
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  display: grid;
}

.manage-times button {
  color: var(--burgundy);
  font-size: var(--text-small);
  background: none;
  border: 1px solid #d7cec5;
  border-radius: 5px;
  min-height: 42px;
  padding: 8px 2px;
}

.manage-times button.active {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.manage-reschedule > [data-slot="button"] {
  font-size: var(--text-small);
  align-self: flex-end;
}

.manage-cancel {
  border-left: 2px solid var(--terracotta);
  background: #f6e6e1;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  display: grid;
}

.manage-cancel strong {
  color: #7d3028;
  font-size: var(--text-small);
}

.manage-cancel p {
  color: #846a64;
  font-size: var(--text-small);
  margin: 3px 0 0;
  line-height: 1.5;
}

.manage-cancel > button:not([data-slot="button"]) {
  color: #75645f;
  font-size: var(--text-small);
  background: none;
  border: 0;
}

.manage-cancel [data-slot="button"] {
  font-size: var(--text-small);
}

.manage-transfer-pending {
  border-left: 2px solid var(--blue);
  background: #f0ebe5;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 22px;
  padding: 14px;
  display: flex;
}

.manage-transfer-pending > div {
  align-items: center;
  gap: 11px;
  display: flex;
}

.manage-transfer-pending > div > span {
  color: var(--blue);
  background: #dfe8ea;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.manage-transfer-pending svg {
  height: 15px;
}

.manage-transfer-pending p {
  flex-direction: column;
  margin: 0;
  display: flex;
}

.manage-transfer-pending small {
  color: #91857c;
  font-size: var(--text-caption);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.manage-transfer-pending strong {
  font-size: var(--text-small);
  margin-top: 2px;
}

.manage-transfer-pending em {
  color: #776c64;
  font-size: var(--text-caption);
  margin-top: 2px;
  font-style: normal;
}

.manage-transfer-pending [data-slot="button"] {
  font-size: var(--text-small);
}

.manage-transfer-form {
  border-top: 1px solid #e3dbd2;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  padding-top: 18px;
  display: grid;
}

.manage-transfer-form .manage-reschedule-head {
  grid-column: 1 / -1;
}

.manage-transfer-form > label {
  color: #756a62;
  font-size: var(--text-label);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.manage-transfer-form > label:first-of-type {
  grid-column: 1 / -1;
}

.manage-transfer-form label small {
  color: #9b8f86;
  font-size: var(--text-caption);
  margin-left: 4px;
}

.manage-transfer-form input {
  color: var(--ink);
  font-size: var(--text-control);
  background: #fffdf9;
  border: 1px solid #d8cfc6;
  min-height: 44px;
  padding: 0 12px;
}

.manage-transfer-form > div:last-child {
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
  display: flex;
}

.manage-preferences {
  border: 1px solid #e0d8cf;
  margin: 0 0 22px;
}

.manage-preferences > button {
  color: var(--ink);
  text-align: left;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 64px;
  padding: 11px 14px;
  display: flex;
}

.manage-preferences > button > span {
  align-items: center;
  gap: 10px;
  display: flex;
}

.manage-preferences > button svg {
  color: var(--terracotta);
  height: 16px;
}

.manage-preferences i {
  flex-direction: column;
  gap: 2px;
  font-style: normal;
  display: flex;
}

.manage-preferences strong {
  font-size: var(--text-small);
}

.manage-preferences small {
  color: #877b72;
  font-size: var(--text-caption);
}

.manage-preferences > button > em {
  color: var(--burgundy);
  font-size: var(--text-small);
  text-underline-offset: 3px;
  font-style: normal;
  text-decoration: underline;
}

.manage-preferences > div {
  border-top: 1px solid #e7e0d8;
  flex-direction: column;
  padding: 5px 14px 14px;
  display: flex;
}

.manage-preferences > div > label {
  cursor: pointer;
  border-bottom: 1px solid #eee8e1;
  align-items: center;
  gap: 11px;
  min-height: 61px;
  display: flex;
}

.manage-preferences > div > label.disabled {
  cursor: not-allowed;
  opacity: .55;
}

.manage-preferences label > input {
  accent-color: var(--burgundy);
  width: 17px;
  height: 17px;
}

.manage-preferences label > span {
  align-items: center;
  gap: 9px;
  display: flex;
}

.manage-preferences label svg {
  color: var(--blue);
  height: 15px;
}

.manage-preferences > div > [data-slot="button"] {
  align-self: flex-end;
  margin-top: 13px;
}

.transfer-stage {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
  padding: 70px 24px 100px;
}

.transfer-mark {
  color: var(--burgundy);
  background: #e6ddd2;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 18px;
  display: flex;
}

.transfer-mark svg {
  height: 19px;
}

.transfer-stage h1 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 12px auto 15px;
  font-size: 52px;
  font-weight: 400;
  line-height: 1;
}

.transfer-stage > p {
  color: #786d65;
  font-family: var(--serif);
  max-width: 500px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.5;
}

.transfer-card {
  text-align: left;
  background: #fffdf9;
  border: 1px solid #dcd4cb;
  margin: 34px auto 0;
  padding: 28px;
  box-shadow: 0 16px 50px #3a28210f;
}

.transfer-venue {
  grid-template-columns: 1fr auto;
  align-items: flex-start;
  padding-bottom: 20px;
  display: grid;
}

.transfer-venue small {
  color: #91857c;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.transfer-venue strong {
  font-family: var(--serif);
  grid-column: 1;
  margin-top: 4px;
  font-size: 22px;
  font-weight: 400;
}

.transfer-venue span {
  color: var(--burgundy);
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  letter-spacing: .08em;
  background: #f0ebe5;
  border-radius: 5px;
  grid-area: 1 / 2 / span 2;
  padding: 7px 9px;
}

.transfer-price {
  font-size: var(--text-small);
  border-bottom: 1px solid #e7e0d8;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  display: flex;
}

.transfer-price strong {
  font-family: var(--font-geist-mono);
}

.transfer-policy {
  background: #f1ece5;
  margin: 20px 0;
  padding: 15px;
}

.transfer-policy strong {
  font-size: var(--text-small);
}

.transfer-policy p {
  color: #786d65;
  font-size: var(--text-small);
  margin: 4px 0 0;
  line-height: 1.5;
}

.transfer-actions {
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.transfer-card > [data-slot="button"] {
  margin-left: auto;
  display: flex;
}

.transfer-expiry {
  color: #91857c;
  font-size: var(--text-caption);
  text-align: right;
  margin-top: 14px;
  display: block;
}

.event-owner-row {
  border-bottom: 1px solid #e7e0d8;
  justify-content: space-between;
  align-items: center;
  padding: 19px 0;
  display: flex;
}

.event-owner-row > div {
  align-items: center;
  gap: 10px;
  display: flex;
}

.event-owner-row > div:last-child {
  text-align: right;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.event-owner-row svg {
  color: var(--terracotta);
  height: 17px;
}

.event-owner-row span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.event-owner-row small {
  color: #968a81;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.event-owner-row strong {
  font-size: var(--text-small);
}

.event-owner-row em {
  color: #7b7068;
  font-size: var(--text-caption);
  font-style: normal;
}

.event-ticket-roster {
  border-bottom: 1px solid #e7e0d8;
  padding: 9px 0;
}

.event-ticket-roster > div {
  grid-template-columns: 20px 1fr auto;
  align-items: center;
  gap: 11px;
  min-height: 55px;
  display: grid;
}

.event-ticket-roster svg {
  color: var(--terracotta);
  height: 17px;
}

.event-ticket-roster span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.event-ticket-roster strong {
  font-size: var(--text-small);
}

.event-ticket-roster small {
  color: #82766d;
  font-size: var(--text-caption);
}

.event-ticket-state {
  color: #756a62;
  font-size: var(--text-caption);
  text-transform: capitalize;
  font-style: normal;
}

.event-ticket-state.scanned {
  color: #3d7454;
}

.event-ticket-state.cancelled, .event-ticket-state.refunded {
  color: #9a4035;
}

.manage-policy small {
  color: #91857c;
  font-size: var(--text-caption);
  margin-top: 7px;
  display: block;
}

.event-manage-actions {
  margin-top: 4px;
}

.event-policy-closed {
  color: #867a72;
  font-size: var(--text-caption);
  text-align: center;
  margin: 14px 0 0;
  line-height: 1.5;
}

.event-transfer-phone {
  color: #756a62;
  font-size: var(--text-label);
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 20px;
  display: flex;
}

.event-transfer-phone small {
  color: #9b8f86;
  margin-left: auto;
}

.event-transfer-phone input {
  flex-basis: 100%;
  margin-top: 3px;
}

.event-mobile-tickets {
  border-bottom: 1px solid #e7e0d8;
  padding: 24px 0;
}

.event-mobile-tickets > header {
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 16px;
  display: flex;
}

.event-mobile-tickets > header div {
  gap: 2px;
  display: grid;
}

.event-mobile-tickets > header small {
  color: #8a7e75;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-size: 10px;
}

.event-mobile-tickets h2 {
  font-family: var(--serif);
  margin: 0;
  font-size: 22px;
  font-weight: 500;
}

.event-mobile-tickets nav {
  gap: 6px;
  display: flex;
}

.event-mobile-tickets nav button {
  color: #756a62;
  background: none;
  border: 1px solid #d7cec5;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  font-size: 12px;
  display: flex;
}

.event-mobile-tickets nav button.active {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--white);
}

.event-mobile-pass {
  background: var(--ink);
  color: var(--white);
  grid-template-columns: minmax(0, 1fr) 244px;
  min-height: 300px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.event-mobile-pass:after {
  content: "";
  border-left: 1px dashed #ffffff40;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 244px;
}

.event-mobile-pass-copy {
  align-content: center;
  gap: 8px;
  padding: 34px;
  display: grid;
}

.event-mobile-pass-copy > span {
  color: var(--cream);
  font-family: var(--serif);
  font-size: 27px;
}

.event-mobile-pass-copy > small {
  color: #cfc4ba;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 10px;
}

.event-mobile-pass-copy > strong {
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 500;
  line-height: 1.14;
}

.event-mobile-pass-copy > p {
  color: #d9d0c8;
  margin: 0;
  font-size: 13px;
}

.event-mobile-pass-copy > em {
  color: var(--cream);
  margin-top: 8px;
  font-size: 12px;
  font-style: normal;
}

.event-mobile-pass-code {
  background: var(--white);
  color: var(--ink);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px;
  display: flex;
  position: relative;
}

.event-mobile-pass-code svg {
  max-width: 100%;
  height: auto;
}

.event-mobile-pass-code small {
  color: #756a62;
  margin-top: 8px;
  font-size: 11px;
}

.event-mobile-pass-code > span {
  color: #315d42;
  text-transform: uppercase;
  background: #e2efe6;
  border: 1px solid #a7c8b2;
  align-items: center;
  gap: 5px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  position: absolute;
  bottom: 14px;
}

.event-mobile-pass-code > span svg {
  width: 14px;
  height: 14px;
}

.event-mobile-pass-invalid {
  color: #8f3e34;
  text-align: center;
  background: #eee8e1;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 24px;
  display: flex;
}

.event-mobile-pass-invalid svg {
  width: 32px;
  height: 32px;
}

.review-page {
  color: var(--ink);
  background: #f6f1ea;
  min-height: 100vh;
}

.review-stage {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  padding: 76px 24px 100px;
}

.review-stage h1 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 13px 0 16px;
  font-size: 56px;
  font-weight: 400;
  line-height: 1;
}

.review-stage > p {
  color: #786d65;
  font-family: var(--serif);
  max-width: 470px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.5;
}

.review-reservation {
  border-top: 1px solid #ddd4ca;
  border-bottom: 1px solid #ddd4ca;
  justify-content: center;
  gap: 28px;
  margin: 34px 0 0;
  padding: 18px 0;
  display: flex;
}

.review-reservation span {
  color: #6f645c;
  font-size: var(--text-small);
  align-items: center;
  gap: 6px;
  display: flex;
}

.review-reservation svg {
  color: var(--terracotta);
  height: 14px;
}

.review-form {
  text-align: left;
  margin-top: 32px;
}

.review-form fieldset {
  text-align: center;
  border: 0;
  margin: 0;
  padding: 0;
}

.review-form legend {
  color: #766b63;
  font-size: var(--text-label);
  letter-spacing: .08em;
  text-transform: uppercase;
  width: 100%;
  margin-bottom: 14px;
}

.review-stars {
  justify-content: center;
  gap: 7px;
  display: flex;
}

.review-stars button {
  color: #cfc5bc;
  background: none;
  border: 0;
  min-width: 44px;
  min-height: 44px;
  padding: 4px;
  transition: color .16s, transform .16s;
}

.review-stars button:hover {
  transform: translateY(-2px);
}

.review-stars button.active {
  color: #a34437;
}

.review-stars svg {
  fill: currentColor;
  width: 36px;
  height: 36px;
}

.review-form fieldset small {
  color: #7d7169;
  font-family: var(--serif);
  font-size: var(--text-small);
  margin-top: 9px;
  display: block;
}

.review-form > label {
  color: #6f645c;
  font-size: var(--text-small);
  flex-wrap: wrap;
  margin-top: 30px;
  display: flex;
}

.review-form > label span {
  color: #a09389;
  margin-left: auto;
}

.review-form textarea {
  color: var(--ink);
  font-size: var(--text-control);
  resize: vertical;
  background: #fffdf9;
  border: 1px solid #d8cfc6;
  width: 100%;
  min-height: 125px;
  margin-top: 8px;
  padding: 14px;
  line-height: 1.55;
}

.review-form > [data-slot="button"] {
  min-width: 170px;
  margin: 18px auto 0;
  display: flex;
}

.review-thanks {
  flex-direction: column;
  align-items: center;
  margin-top: 40px;
  display: flex;
}

.review-thanks > span {
  color: #3d7454;
  background: #e2eee6;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  display: flex;
}

.review-thanks svg {
  height: 20px;
}

.review-thanks strong {
  font-family: var(--serif);
  margin-top: 16px;
  font-size: 22px;
  font-weight: 400;
}

.review-thanks p {
  color: #786d65;
  font-size: var(--text-small);
  margin: 7px 0 22px;
}

.confirmation-done {
  color: #847970;
  font-size: var(--text-small);
  text-underline-offset: 3px;
  background: none;
  border: 0;
  margin: 12px auto 0;
  text-decoration: underline;
  display: block;
}

@media (max-width: 600px) {
  .manage-header {
    height: 66px;
    padding: 0 18px;
  }

  .manage-stage {
    padding: 52px 14px 70px;
  }

  .manage-intro h1 {
    font-size: 42px;
  }

  .manage-reservation {
    padding: 21px 18px;
  }

  .manage-facts {
    grid-template-columns: 1fr 1fr;
  }

  .manage-facts > div {
    min-height: 75px;
    padding: 12px;
  }

  .manage-facts > div:nth-child(2) {
    border-right: 0;
  }

  .manage-facts > div:last-child {
    border-top: 1px solid #e7e0d8;
    grid-column: 1 / -1;
    padding-left: 0;
  }

  .manage-guest {
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
  }

  .manage-cancel {
    grid-template-columns: 1fr 1fr;
  }

  .manage-cancel > div {
    grid-column: 1 / -1;
  }

  .manage-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .manage-actions > div {
    flex-direction: column;
  }

  .manage-actions > a {
    text-align: center;
  }

  .manage-times {
    grid-template-columns: repeat(3, 1fr);
  }

  .review-stage {
    padding: 54px 16px 76px;
  }

  .review-stage h1 {
    font-size: 42px;
  }

  .review-reservation {
    flex-direction: column;
    align-items: center;
    gap: 9px;
  }

  .review-stars {
    gap: 2px;
  }

  .review-stars svg {
    width: 31px;
    height: 31px;
  }

  .manage-transfer-pending {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .manage-transfer-form {
    grid-template-columns: 1fr;
  }

  .manage-transfer-form > label, .manage-transfer-form > label:first-of-type {
    grid-column: 1;
  }

  .manage-transfer-form > div:last-child {
    flex-direction: column-reverse;
    grid-column: 1;
  }

  .transfer-stage {
    padding: 52px 14px 76px;
  }

  .transfer-stage h1 {
    font-size: 42px;
  }

  .transfer-card {
    padding: 21px 18px;
  }

  .transfer-actions {
    flex-direction: column-reverse;
  }

  .transfer-actions [data-slot="button"] {
    width: 100%;
  }

  .transfer-expiry {
    text-align: center;
  }

  .manage-preferences > button, .manage-preferences > button > span {
    align-items: flex-start;
  }

  .manage-preferences > button > em {
    margin-top: 2px;
  }

  .manage-preferences > div > [data-slot="button"] {
    align-self: stretch;
  }

  .manage-account-save {
    grid-template-columns: 22px 1fr;
  }

  .manage-account-save > a, .manage-account-save > [data-slot="button"] {
    text-align: center;
    grid-column: 1 / -1;
    width: 100%;
  }

  .event-owner-row {
    align-items: flex-start;
    gap: 14px;
  }

  .event-owner-row > div:first-child {
    align-items: flex-start;
  }

  .event-owner-row em {
    overflow-wrap: anywhere;
  }

  .event-manage-actions {
    flex-direction: column-reverse;
  }

  .event-manage-actions > div, .event-manage-actions [data-slot="button"] {
    width: 100%;
  }

  .event-mobile-pass {
    grid-template-columns: 1fr;
  }

  .event-mobile-pass:after {
    border-top: 1px dashed #ffffff40;
    border-left: 0;
    top: auto;
    left: 0;
    right: 0;
  }

  .event-mobile-pass-copy {
    padding: 28px 26px;
  }

  .event-mobile-pass-code {
    min-height: 244px;
  }
}

.account-page {
  color: var(--ink);
  background: #f6f1ea;
  min-height: 100vh;
}

.account-header {
  border-bottom: 1px solid #ded5ca;
  justify-content: space-between;
  align-items: center;
  height: 74px;
  padding: 0 42px;
  display: flex;
}

.account-header nav {
  align-items: center;
  gap: 24px;
  display: flex;
}

.account-header nav span {
  color: #756a62;
  font-size: var(--text-small);
}

.account-header nav a {
  border-bottom: 1px solid var(--burgundy);
  color: var(--burgundy);
  font-size: var(--text-small);
  padding-bottom: 3px;
}

.account-stage {
  max-width: 920px;
  margin: 0 auto;
  padding: 70px 28px 100px;
}

.account-intro {
  max-width: 620px;
}

.account-intro h1 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 12px 0 14px;
  font-size: 56px;
  font-weight: 400;
  line-height: 1;
}

.account-intro p {
  color: #786d65;
  font-family: var(--serif);
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}

.account-settings {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 38px;
  display: grid;
}

.account-setting-card {
  background: #fffdf9;
  border: 1px solid #dcd4cb;
  padding: 22px;
}

.account-setting-card > header {
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.account-setting-card > header > span {
  color: var(--burgundy);
  background: #f0e4d4;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: flex;
}

.account-setting-card > header svg {
  width: 17px;
  height: 17px;
}

.account-setting-card > header div {
  flex: 1;
}

.account-setting-card > header h2 {
  font-family: var(--serif);
  margin: 0 0 3px;
  font-size: 20px;
  font-weight: 400;
}

.account-setting-card > header p {
  color: #81756c;
  font-size: var(--text-caption);
  margin: 0;
  line-height: 1.4;
}

.account-setting-card > header button {
  color: var(--burgundy);
  font-size: var(--text-small);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.account-setting-card form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
  display: grid;
}

.account-setting-card form label {
  color: #665c55;
  font-size: var(--text-caption);
  gap: 6px;
  display: grid;
}

.account-setting-card form label.full, .account-setting-card form footer {
  grid-column: 1 / -1;
}

.account-setting-card form footer {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
  display: flex;
}

.account-profile-summary {
  flex-direction: column;
  gap: 4px;
  margin-top: 20px;
  display: flex;
}

.account-profile-summary strong {
  font-size: var(--text-small);
}

.account-profile-summary span, .account-payment-empty {
  color: #81756c;
  font-size: var(--text-caption);
}

.account-setting-message {
  color: var(--burgundy);
  font-size: var(--text-caption);
  margin: 12px 0 0;
}

.account-payment-empty {
  margin: 20px 0 0;
  line-height: 1.55;
}

.account-payment-list {
  gap: 10px;
  margin-top: 20px;
  display: grid;
}

.account-payment-list > div {
  border-top: 1px solid #e7e0d8;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  display: flex;
}

.account-payment-list > div > span {
  color: var(--terracotta);
  align-items: center;
  display: flex;
}

.account-payment-list > div > span svg {
  width: 18px;
  height: 18px;
}

.account-payment-list > div > div {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  display: flex;
}

.account-payment-list strong {
  font-size: var(--text-small);
}

.account-payment-list small {
  color: #81756c;
  font-size: var(--text-caption);
}

.account-payment-list em {
  color: #3d7454;
  font-size: var(--text-caption);
  background: #e2eee6;
  border-radius: 999px;
  padding: 5px 8px;
  font-style: normal;
}

.account-payment-list > div > .account-payment-actions {
  flex: none;
  align-items: flex-end;
  gap: 5px;
}

.account-payment-actions button {
  color: var(--burgundy);
  font-size: var(--text-caption);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.account-payment-actions button:disabled {
  cursor: wait;
  opacity: .55;
}

.account-favorites-card {
  grid-column: 1 / -1;
}

.account-favorite-list {
  gap: 10px;
  margin-top: 20px;
  display: grid;
}

.account-favorite-list > div {
  border-top: 1px solid #e7e0d8;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  display: flex;
}

.account-favorite-list svg {
  color: var(--terracotta);
  width: 16px;
  height: 16px;
}

.account-favorite-list strong {
  font-size: var(--text-small);
  flex: 1;
}

.account-favorite-list a, .account-favorite-list button {
  color: var(--burgundy);
  font-size: var(--text-caption);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.account-favorite-list button:disabled {
  cursor: wait;
  opacity: .55;
}

.account-privacy-card {
  grid-column: 1 / -1;
}

.account-privacy-notice {
  color: #71665f;
  font-size: var(--text-small);
  max-width: 720px;
  margin: 18px 0 0;
  line-height: 1.6;
}

.account-privacy-actions {
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
  display: flex;
}

.account-privacy-actions svg {
  width: 15px;
  height: 15px;
}

.account-delete-confirmation {
  color: #665c55;
  font-size: var(--text-small);
  gap: 7px;
  display: grid;
}

.account-error {
  color: #8a3028;
  background: #f5e2dd;
  margin-top: 30px;
  padding: 14px;
}

.account-empty {
  text-align: center;
  border: 1px solid #ded5ca;
  flex-direction: column;
  align-items: center;
  margin-top: 38px;
  padding: 54px 24px;
  display: flex;
}

.account-empty > span {
  color: var(--burgundy);
  background: #eee0cb;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
}

.account-empty svg {
  height: 18px;
}

.account-empty h2 {
  font-family: var(--serif);
  margin: 17px 0 7px;
  font-size: 25px;
  font-weight: 400;
}

.account-empty p {
  color: #786d65;
  font-size: var(--text-small);
  max-width: 390px;
  margin: 0 0 20px;
  line-height: 1.55;
}

.account-reservation-section {
  margin-top: 46px;
}

.account-reservation-section > h2 {
  font-family: var(--serif);
  margin: 0 0 14px;
  font-size: 24px;
  font-weight: 400;
}

.account-reservation-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.account-reservation-card {
  background: #fffdf9;
  border: 1px solid #dcd4cb;
  padding: 22px;
  box-shadow: 0 10px 34px #3a28210d;
}

.account-reservation-title {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.account-reservation-title small {
  color: #91857c;
  font-size: var(--text-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-reservation-title h3 {
  font-family: var(--serif);
  margin: 4px 0 0;
  font-size: 22px;
  font-weight: 400;
}

.account-reservation-title > span {
  color: #3d7454;
  font-size: var(--text-caption);
  background: #e2eee6;
  border-radius: 999px;
  padding: 6px 9px;
}

.account-reservation-title > span.cancelled {
  color: #9a4035;
  background: #f2e1dc;
}

.account-reservation-facts {
  border-top: 1px solid #e7e0d8;
  border-bottom: 1px solid #e7e0d8;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin: 20px 0 16px;
  padding: 16px 0;
  display: flex;
}

.account-reservation-facts span {
  color: #665c55;
  font-size: var(--text-small);
  align-items: center;
  gap: 6px;
  display: flex;
}

.account-reservation-facts svg {
  color: var(--terracotta);
  width: 14px;
  height: 14px;
}

.account-reservation-card footer {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.account-reservation-card footer span {
  color: var(--burgundy);
  font-family: var(--font-geist-mono);
  font-size: var(--text-caption);
  letter-spacing: .05em;
}

.account-reservation-card footer small {
  color: #8b7f76;
  font-size: var(--text-caption);
  line-height: 1.45;
}

.account-manage-link {
  color: var(--burgundy);
  font-size: var(--text-small);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.account-session-error {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
  padding: 120px 24px;
}

.account-session-error h1 {
  font-family: var(--serif);
  letter-spacing: -.045em;
  margin: 13px 0 15px;
  font-size: 52px;
  font-weight: 400;
  line-height: 1;
}

.account-session-error p {
  color: #786d65;
  font-family: var(--serif);
  max-width: 480px;
  margin: 0 auto 22px;
  line-height: 1.55;
}

.account-session-error a {
  color: var(--burgundy);
  font-size: var(--text-small);
  text-underline-offset: 3px;
  text-decoration: underline;
}

@media (max-width: 700px) {
  .account-header {
    height: 66px;
    padding: 0 18px;
  }

  .account-header nav span {
    display: none;
  }

  .account-stage {
    padding: 52px 14px 76px;
  }

  .account-intro h1 {
    font-size: 44px;
  }

  .account-settings, .account-reservation-list, .account-setting-card form {
    grid-template-columns: 1fr;
  }

  .account-setting-card form label.full, .account-setting-card form footer {
    grid-column: auto;
  }

  .account-payment-list > div {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .account-payment-list > div > .account-payment-actions {
    flex-basis: 100%;
    align-items: flex-start;
    margin-left: 28px;
  }

  .account-empty {
    padding: 42px 18px;
  }

  .account-reservation-card footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .account-session-error {
    padding: 90px 18px;
  }

  .account-session-error h1 {
    font-size: 42px;
  }
}

.payment-invite-shell {
  background: radial-gradient(circle at 12% 15%, #eee0cbb3, #0000 34%), #f7f3ed;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 32px 18px;
  display: flex;
}

.payment-invite-card {
  background: #fffdf9;
  border: 1px solid #ddd2c7;
  width: 100%;
  max-width: 590px;
  padding: 52px;
  box-shadow: 0 30px 90px #35201a1f;
}

.payment-invite-wordmark {
  color: var(--burgundy);
  font-family: var(--serif);
  font-size: 30px;
}

.payment-invite-kicker {
  color: var(--terracotta);
  font-size: var(--text-caption);
  letter-spacing: .15em;
  text-transform: uppercase;
  margin: 46px 0 12px;
  font-weight: 750;
}

.payment-invite-card h1 {
  font-family: var(--serif);
  letter-spacing: -.035em;
  margin: 0 0 34px;
  font-size: clamp(34px, 6vw, 50px);
  font-weight: 500;
  line-height: 1.05;
}

.payment-invite-details {
  border-top: 1px solid #e2d9d0;
  border-bottom: 1px solid #e2d9d0;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 22px;
  display: grid;
}

.payment-invite-details > div {
  gap: 5px;
  padding: 18px 12px 18px 0;
  display: grid;
}

.payment-invite-details strong {
  font-size: var(--text-small);
}

.payment-invite-details span {
  color: #746a63;
  font-size: var(--text-caption);
}

.payment-invite-expiry, .payment-invite-security {
  color: #746a63;
  font-size: var(--text-label);
  align-items: center;
  gap: 7px;
  display: flex;
}

.payment-invite-expiry {
  margin: 0 0 24px;
}

.payment-invite-expiry svg, .payment-invite-security svg {
  width: 14px;
  height: 14px;
}

.payment-invite-security {
  justify-content: center;
  margin-top: 18px;
}

.payment-invite-stripe {
  max-width: 680px;
  padding: 22px;
}

.payment-invite-stripe .reservation-payment-step.public {
  padding-top: 26px;
}

.payment-invite-back {
  color: var(--blue);
  font-size: var(--text-label);
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  display: flex;
}

.payment-invite-back svg {
  height: 14px;
}

.payment-invite-confirmed, .payment-invite-unavailable {
  text-align: center;
}

.payment-invite-confirmed > svg {
  color: var(--blue);
  width: 52px;
  height: 52px;
  margin-top: 44px;
}

.payment-invite-confirmed > a {
  margin-top: 18px;
}

.payment-invite-confirmed .payment-invite-kicker, .payment-invite-unavailable .payment-invite-kicker {
  margin-top: 24px;
}

@media (max-width: 640px) {
  .payment-invite-shell {
    align-items: stretch;
    padding: 0;
  }

  .payment-invite-card {
    box-shadow: none;
    border: 0;
    min-height: 100vh;
    padding: 34px 22px;
  }

  .payment-invite-details {
    grid-template-columns: 1fr;
  }

  .payment-invite-details > div {
    border-bottom: 1px solid #eee6dd;
  }
}

.private-event-action {
  color: var(--terracotta);
  font-size: var(--text-small);
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  padding: 0;
  display: flex;
}

.private-event-action svg {
  width: 14px;
  height: 14px;
  transition: transform .16s;
}

.private-event-action:hover svg {
  transform: translateX(3px);
}

.private-inquiry-dialog {
  max-height: min(92vh, 820px);
  overflow-y: auto;
  background: #fffdf9 !important;
  border-radius: 0 !important;
  max-width: 680px !important;
  padding: 34px !important;
}

.private-inquiry-dialog [data-slot="dialog-header"] {
  gap: 8px;
  padding-right: 32px;
}

.private-inquiry-dialog [data-slot="dialog-title"] {
  font-family: var(--serif);
  letter-spacing: -.035em;
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
}

.private-inquiry-dialog [data-slot="dialog-description"] {
  color: #766b63;
  line-height: 1.55;
}

.private-inquiry-form {
  margin-top: 10px;
}

.private-inquiry-grid {
  grid-template-columns: 1fr 1fr;
  gap: 15px 12px;
  display: grid;
}

.private-inquiry-grid label {
  color: #685d55;
  font-size: var(--text-label);
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.private-inquiry-grid label.full {
  grid-column: 1 / -1;
  position: relative;
}

.private-inquiry-grid label.full > span {
  color: #9a8e84;
  position: absolute;
  top: 0;
  right: 0;
}

.private-inquiry-grid [data-slot="input"], .private-inquiry-grid select, .private-inquiry-grid [data-slot="textarea"] {
  color: var(--ink);
  font-size: var(--text-control);
  background: #fff;
  border: 1px solid #d8cec4;
  border-radius: 0;
  width: 100%;
  min-height: 43px;
  padding: 9px 10px;
}

.private-inquiry-grid [data-slot="textarea"] {
  resize: vertical;
  min-height: 96px;
}

.private-inquiry-form > [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 0;
  min-width: 150px;
  height: 44px;
  margin-top: 18px;
}

.private-inquiry-success {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 32px 12px 18px;
  display: flex;
}

.private-inquiry-success > svg {
  color: #39705c;
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
}

.private-inquiry-success [data-slot="dialog-title"] {
  margin: 4px 0 12px;
}

.private-inquiry-success [data-slot="dialog-description"] {
  max-width: 450px;
}

.private-inquiry-success small {
  color: #988a80;
  margin: 18px 0;
}

.private-inquiry-success [data-slot="button"] {
  background: var(--burgundy);
  border-radius: 0;
  min-width: 130px;
}

@media (max-width: 640px) {
  .private-inquiry-dialog {
    min-height: 100dvh;
    max-height: 100dvh;
    width: 100% !important;
    max-width: none !important;
    padding: 26px 20px !important;
    inset: 0 !important;
    transform: none !important;
  }

  .private-inquiry-grid {
    grid-template-columns: 1fr;
  }

  .private-inquiry-grid label.full {
    grid-column: auto;
  }

  .private-inquiry-form > [data-slot="button"] {
    width: 100%;
  }
}

.view-enter {
  animation: .3s both viewIn;
}

@keyframes viewIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1100px) {
  .workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .service-inspector-pane {
    z-index: 20;
    width: 360px;
    position: fixed;
    top: 108px;
    bottom: 0;
    right: 0;
    box-shadow: -8px 0 35px #281a161f;
  }

  .reservation-inspector {
    width: 100%;
    height: 100%;
    max-height: none;
    position: static;
    overflow-y: auto;
  }

  .dashboard-main {
    width: 100%;
  }
}

@media (max-width: 820px) {
  .dashboard-main {
    width: 100%;
  }

  .dashboard-mobile-brand {
    align-items: center;
    gap: 14px;
    display: flex;
  }

  .dashboard-mobile-brand > button {
    background: none;
    border: 0;
  }

  .dashboard-mobile-brand .brand-mark {
    font-size: 20px;
  }

  .dashboard-mobile-brand .brand-mark svg {
    width: 23px;
    height: 23px;
  }

  .date-control {
    margin: auto;
  }

  .search-button, .icon-button {
    display: none;
  }

  .walk-in-button {
    padding: 0 9px;
    font-size: 0;
  }

  .metrics-strip {
    grid-template-columns: repeat(3, 1fr);
  }

  .metrics-strip > div:nth-child(3) {
    border-right: 0;
  }

  .metrics-strip > div:nth-child(4), .metrics-strip > div:nth-child(5) {
    border-top: 1px solid #e5dfd8;
  }

  .metrics-strip > div:nth-child(4) {
    grid-column: 1 / 2;
  }

  .metrics-strip > div:nth-child(5) {
    grid-column: 2 / 4;
  }
}

@media (max-width: 560px) {
  .booking-sheet {
    max-width: 100% !important;
  }

  .booking-body {
    padding: 23px 20px;
  }

  .hold-banner {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .dashboard-topbar {
    height: 62px;
    padding: 0 13px;
  }

  .date-control span {
    min-width: 95px;
  }

  .date-control span strong {
    font-size: var(--text-caption);
  }

  .topbar-actions .button {
    padding: 0 9px;
    font-size: 0;
  }

  .topbar-actions .button svg {
    height: 17px;
  }

  .walk-in-button {
    height: 34px;
  }

  .dashboard-content {
    padding: 19px 12px;
  }

  .service-heading {
    align-items: flex-start;
  }

  .service-state > span:nth-child(2) {
    display: none;
  }

  .service-state {
    padding: 0 8px;
  }

  .metrics-strip {
    grid-template-columns: repeat(5, 110px);
    overflow-x: auto;
  }

  .metrics-strip > div {
    border-top: 0 !important;
    border-right: 1px solid #e5dfd8 !important;
    grid-column: auto !important;
  }

  .view-toolbar {
    flex-direction: column;
    align-items: flex-start;
    height: auto;
    padding: 0;
  }

  .toolbar-actions {
    border-top: 1px solid #e2dbd3;
    width: 100%;
    padding: 8px;
  }

  .timeline-view {
    grid-template-columns: 210px minmax(540px, 1fr);
  }

  .guest-rail {
    min-width: 210px;
  }

  .reservation-inspector {
    width: 100%;
    height: 100%;
  }

  .service-inspector-pane {
    width: 100%;
    height: 58vh;
    top: auto;
    box-shadow: 0 -8px 35px #281a161f;
  }

  .floor-view {
    padding: 10px;
  }

  .floor-canvas {
    height: 450px;
  }

  .snapshot-view {
    grid-template-columns: 1fr;
  }

  .snapshot-column {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .new-reservation-modal {
    padding: 22px !important;
  }

  .staff-times > div {
    grid-template-columns: repeat(3, 1fr);
  }

  .walk-in-option {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .walk-in-option > div:last-child {
    width: 100%;
  }

  .walk-in-option button {
    flex: 1;
  }

  .walk-in-fields {
    grid-template-columns: 1fr;
  }

  .edit-reservation-modal {
    padding: 22px !important;
  }

  .edit-section {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .edit-section > span {
    padding-top: 0;
  }

  .edit-grid.three, .edit-grid {
    grid-template-columns: 1fr 1fr;
  }

  .edit-grid.three label:first-child {
    grid-column: 1 / -1;
  }

  .edit-send-update {
    margin-left: 0;
  }

  .edit-modal-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin: 0 -22px -22px;
    padding: 14px 22px;
  }

  .edit-modal-footer [data-slot="button"] {
    width: 100%;
  }

  .account-page-main {
    padding: 0;
  }

  .account-page-card {
    border: 0;
    border-radius: 0;
    min-height: 100%;
    padding: 0 16px 32px;
  }

  .account-page-body {
    max-width: none;
  }

  .account-security-card > div {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .account-security-card [data-slot="button"] {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-grid .full {
    grid-column: 1;
  }

  .guest-checkout-note {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

.animate-in {
  animation: .25s both fadeIn;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.dashboard-shell {
  color: #171717;
  background: #fff;
  min-height: 100dvh;
}

.dashboard-main {
  min-height: calc(100dvh - 48px);
}

.dashboard-content {
  background: #fff;
  padding: 0;
}

.dashboard-topbar {
  z-index: 15;
  background: #fff;
  border-bottom: 1px solid #dfdfdf;
  grid-template-columns: 310px minmax(330px, 1fr) auto;
  height: 48px;
  padding: 0;
  display: grid;
  position: sticky;
  top: 48px;
}

.reservation-view-nav {
  align-items: stretch;
  height: 48px;
  padding-left: 7px;
  display: flex;
}

.reservation-view-nav button {
  color: #4f4f4f;
  height: 48px;
  padding: 0 11px;
  font-size: 14px;
}

.reservation-view-nav button:after {
  background: var(--burgundy);
  height: 3px;
  bottom: 0;
  left: 10px;
  right: 10px;
}

.reservation-view-nav button.active {
  color: #171717;
  font-weight: 650;
}

.date-control {
  justify-content: center;
  align-items: center;
  gap: 0;
  min-width: 0;
  display: flex;
}

.date-control > button, .date-control .service-date-picker {
  color: #171717;
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 0;
  height: 36px;
}

.date-control > button {
  width: 36px;
}

.date-control > button:first-child {
  border-radius: 4px 0 0 4px;
}

.date-control > button:last-child {
  border-radius: 0 4px 4px 0;
}

.date-control .date-today-button, .date-control .date-month-button {
  border-left: 0;
  width: auto;
  padding: 0 10px;
  font-size: 12px;
}

.date-control .service-date-picker {
  cursor: pointer;
  border-left: 0;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 238px;
  padding: 0 14px;
  font-size: 14px;
  display: flex;
  position: relative;
}

.date-control .service-date-picker svg {
  color: var(--burgundy);
  width: 16px;
  height: 16px;
}

.date-control .service-date-picker strong {
  white-space: nowrap;
  font-size: 14px;
  font-weight: 650;
}

.date-control .service-date-picker span {
  color: #454545;
  text-align: left;
  white-space: nowrap;
  min-width: 0;
  font-size: 14px;
  display: inline;
}

.date-control .service-date-picker input {
  cursor: pointer;
  opacity: 0;
  width: 100%;
  position: absolute;
  inset: 0;
}

.topbar-actions {
  align-items: stretch;
  height: 48px;
}

.topbar-actions .icon-button, .topbar-actions .timeline-key-button, .topbar-actions .walk-in-button, .topbar-actions .book-reservation-button {
  color: #171717;
  background: #fff;
  border: 0;
  border-left: 1px solid #dfdfdf;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 47px;
  min-height: 47px;
  padding: 0;
  display: flex;
}

.topbar-actions .timeline-key-button {
  gap: 5px;
  width: 66px;
  font-size: 13px;
}

.topbar-actions .walk-in-button {
  background: var(--blue);
  color: #fff;
}

.topbar-actions .book-reservation-button {
  background: var(--burgundy);
  color: #fff;
  border-color: #ffffff47;
}

.topbar-actions svg {
  width: 16px;
  height: 16px;
}

.availability-edit-menu {
  border-radius: 3px;
  min-width: 218px;
  padding: 5px;
}

.availability-edit-menu [role="menuitem"] {
  color: #242424;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 2px;
  width: 100%;
  padding: 9px 10px;
  font-size: 13px;
  display: block;
}

.availability-edit-menu [role="menuitem"]:hover, .availability-edit-menu [role="menuitem"]:focus-visible {
  background: #f1f1f1;
  outline: 0;
}

.shuffle-assignments-dialog {
  border-radius: 3px;
  gap: 20px;
  padding: 26px 28px 0;
  max-width: 604px !important;
}

.shuffle-assignments-dialog [data-slot="alert-dialog-header"] {
  gap: 16px;
}

.shuffle-assignments-dialog [data-slot="alert-dialog-title"] {
  font-size: 21px;
  font-weight: 500;
}

.shuffle-assignments-dialog [data-slot="alert-dialog-description"] {
  color: #3f3f3f;
  font-size: 14px;
  line-height: 1.65;
}

.shuffle-assignments-dialog [data-slot="alert-dialog-description"] span {
  margin-bottom: 18px;
  display: block;
}

.shuffle-warning {
  border-left: 3px solid var(--reddish-brown);
  color: #3a302c;
  background: #f4f1ed;
  margin: 0;
  padding: 13px 15px;
  font-size: 13px;
}

.shuffle-assignments-dialog [data-slot="alert-dialog-footer"] {
  background: #fafafa;
  border-radius: 0 0 3px 3px;
  margin: 0 -28px;
  padding: 16px 28px;
}

.timeline-settings-sheet {
  box-shadow: none !important;
  z-index: 45 !important;
  gap: 0 !important;
  width: 311px !important;
  max-width: none !important;
  height: auto !important;
  padding: 0 !important;
  top: 96px !important;
  bottom: 0 !important;
}

.timeline-settings-sheet > [data-slot="sheet-close"] {
  border-radius: 0;
  width: 42px;
  height: 42px;
  top: 8px;
  right: 8px;
}

.timeline-settings-header {
  border-bottom: 1px solid #dfdfdf;
  flex: 0 0 61px;
  justify-content: center;
  height: 61px;
  padding: 0 16px !important;
}

.timeline-settings-header [data-slot="sheet-title"] {
  letter-spacing: -.02em;
  font-size: 18px;
  font-weight: 650;
}

.timeline-settings-scroll {
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.timeline-settings-section > h3 {
  color: #666;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: #fafafa;
  border-bottom: 1px solid #dfdfdf;
  align-items: center;
  height: 40px;
  margin: 0;
  padding: 0 16px;
  font-size: 11px;
  font-weight: 650;
  display: flex;
}

.timeline-settings-section > div {
  padding: 0 16px;
}

.timeline-segmented-setting {
  padding: 17px 0 16px;
}

.timeline-segmented-setting + .timeline-segmented-setting {
  padding-top: 8px;
  padding-bottom: 10px;
}

.timeline-segmented-setting > p {
  color: #1b1b1b;
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 560;
}

.timeline-segmented-setting > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.timeline-segmented-setting button {
  color: #161616;
  background: #fff;
  border: 1px solid #d8d8d8;
  height: 37px;
  margin-right: -1px;
  font-size: 14px;
  font-weight: 560;
}

.timeline-segmented-setting button.active {
  background: var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .timeline-segmented-setting button.active {
    background: color-mix(in srgb, var(--blue) 7%, #fff);
  }
}

.timeline-segmented-setting button.active {
  border-color: var(--blue);
  color: var(--blue);
  z-index: 1;
  position: relative;
}

.timeline-toggle-setting {
  border-top: 1px solid #e3e3e3;
  justify-content: space-between;
  align-items: center;
  min-height: 58px;
  font-size: 14px;
  display: flex;
}

.timeline-toggle-setting [data-slot="switch"] {
  background: #a9a9a9;
  width: 36px;
  height: 20px;
}

.timeline-toggle-setting [data-slot="switch"][data-state="checked"] {
  background: var(--blue);
}

.timeline-toggle-setting [data-slot="switch-thumb"] {
  width: 18px;
  height: 18px;
}

.timeline-toggle-setting [data-slot="switch-thumb"][data-state="checked"] {
  transform: translateX(16px);
}

.view-label-compact {
  display: none;
}

.date-month-button.active {
  border-color: var(--blue);
  color: var(--burgundy);
}

.dashboard-topbar.month-active .date-control .service-date-picker {
  width: 175px;
  min-width: 175px;
}

.dashboard-topbar.month-active .date-control .date-today-button, .dashboard-topbar.month-active .date-control .date-month-button {
  width: 36px;
  padding: 0;
}

.workspace {
  min-height: calc(100dvh - 96px);
  display: grid;
}

.workspace.has-inspector {
  grid-template-columns: 311px minmax(0, 1fr);
}

.workspace.inspector-expanded {
  grid-template-columns: minmax(0, 1fr);
}

.service-inspector-pane {
  background: #fff;
  border: 0;
  border-right: 1px solid #dfdfdf;
  min-width: 0;
  position: relative;
}

.reservation-inspector {
  color: #171717;
  background: #fff;
  height: calc(100dvh - 96px);
  padding: 0 16px 116px;
}

.inspector-head {
  color: #171717;
  background: #fff;
  border-bottom: 1px solid #dfdfdf;
  min-height: 60px;
  margin: 0 -16px;
  padding: 0 16px;
}

.inspector-head h2 {
  font-size: 16px;
  font-weight: 650;
}

.inspector-head button {
  color: #171717;
}

.inspector-booking-summary {
  color: #171717;
  background: #fff;
  border-bottom: 1px solid #dfdfdf;
  min-height: 79px;
  margin: 0 -16px;
  padding: 17px 16px;
}

.inspector-booking-summary strong {
  font-size: 14px;
}

.inspector-booking-summary strong span {
  color: #666;
}

.inspector-booking-summary p {
  margin: 10px 0 0;
  font-size: 13px;
}

.inspector-command-bar {
  grid-template-columns: minmax(0, 1fr) 45px 45px;
  margin: 16px 0 0;
}

.inspector-command-bar > button {
  height: 44px;
}

.inspector-edit-primary, .inspector-edit-menu {
  background: var(--blue);
  border-color: var(--blue);
}

.inspector-cancel-command {
  margin-left: 8px;
}

.inspector-tab-root {
  margin: 9px -16px 0;
}

.inspector-tabs {
  border-bottom: 1px solid #dfdfdf;
  height: 39px !important;
  padding: 0 8px !important;
}

.inspector-tabs button {
  height: 39px !important;
  padding: 0 6px !important;
  font-size: 11px !important;
}

.reservation-facts {
  margin: 14px 0;
  padding: 12px 0;
}

.inspector-service-footer {
  background: #fff;
  border-top: 1px solid #dfdfdf;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  padding: 7px 10px;
  display: grid;
}

.inspector-assignment-row {
  grid-template-columns: 45px minmax(0, 1fr) 45px;
  gap: 6px;
  min-height: 41px;
  display: grid;
}

.inspector-assignment-row > button {
  color: #303030;
  background: #fff;
  border: 1px solid #d7d7d7;
  justify-content: center;
  align-items: center;
  min-width: 0;
  display: flex;
}

.inspector-assignment-row > button:hover:not(:disabled) {
  border-color: var(--burgundy);
  background: #f7f4f1;
}

.inspector-assignment-row > button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.inspector-assignment-pin.active {
  background: var(--burgundy) !important;
}

@supports (color: color-mix(in lab, red, red)) {
  .inspector-assignment-pin.active {
    background: color-mix(in srgb, var(--burgundy) 10%, #fff) !important;
  }
}

.inspector-assignment-pin.active {
  border-color: var(--burgundy) !important;
  color: var(--burgundy) !important;
}

.inspector-assignment-pin svg, .inspector-assignment-move svg {
  width: 16px;
  height: 16px;
}

.inspector-table-assignment {
  gap: 8px;
  padding: 0 12px;
  overflow: hidden;
  justify-content: flex-start !important;
}

.inspector-table-assignment span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.inspector-status-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  min-height: 41px;
  display: grid;
}

.inspector-status-row .inspector-status-trigger {
  height: 41px;
  min-height: 41px;
}

.service-capacity-rows {
  border-top: 1px solid #d7d7d7;
}

.service-capacity-row {
  grid-template-columns: 116px minmax(0, 1fr);
  min-height: 36px;
  display: grid;
}

.service-capacity-row > span {
  color: #353535;
  letter-spacing: .09em;
  text-transform: uppercase;
  border-bottom: 1px solid #dfdfdf;
  align-items: center;
  padding-left: 14px;
  font-size: 10px;
  font-weight: 650;
  display: flex;
}

.service-capacity-row > div {
  grid-template-columns: repeat(var(--capacity-columns), minmax(32px, 1fr));
  display: grid;
}

.service-capacity-row i {
  color: #262626;
  font-variant-numeric: tabular-nums;
  border-bottom: 1px solid #dfdfdf;
  border-left: 1px solid #dfdfdf;
  justify-content: center;
  align-items: center;
  min-width: 0;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  display: flex;
}

.service-capacity-row.occupancy i {
  color: #555;
  font-weight: 500;
}

.inspector-next-status {
  background: var(--burgundy);
  border-color: var(--burgundy);
  padding: 0 12px;
}

.service-grid {
  background: #fff;
  grid-template-columns: 311px minmax(760px, 1fr);
  min-height: calc(100dvh - 96px);
  overflow: auto;
}

.service-grid.rail-hidden {
  grid-template-columns: minmax(760px, 1fr);
}

.guest-rail {
  background: #fff;
  border-right: 1px solid #dfdfdf;
  flex-direction: column;
  min-width: 311px;
  max-height: calc(100dvh - 96px);
  display: flex;
  overflow: hidden;
}

.guest-rail > .reservation-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.availability-editor {
  background: #fff;
  border-right: 1px solid #dfdfdf;
  flex-direction: column;
  min-width: 311px;
  height: calc(100dvh - 96px);
  display: flex;
  overflow: hidden;
}

.availability-editor-header {
  border-bottom: 1px solid #dfdfdf;
  justify-content: space-between;
  align-items: center;
  height: 54px;
  padding: 0 14px 0 16px;
  display: flex;
}

.availability-editor-header strong {
  font-size: 15px;
  font-weight: 600;
}

.availability-editor-header button {
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

.availability-editor-header svg {
  width: 16px;
  height: 16px;
}

.availability-editor-date {
  color: #4e4e4e;
  background: #f6f6f6;
  border-bottom: 1px solid #dfdfdf;
  padding: 9px 16px;
  font-size: 12px;
}

.availability-editor-controls {
  border-bottom: 1px solid #dfdfdf;
  gap: 9px;
  padding: 12px 16px;
  display: grid;
}

.availability-editor-controls label, .block-range-times label {
  gap: 5px;
  display: grid;
}

.availability-editor-controls label > span, .block-range-times label > span {
  color: #565656;
  font-size: 11px;
  font-weight: 600;
}

.availability-editor select, .availability-editor input {
  color: #202020;
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 3px;
  height: 34px;
  padding: 0 8px;
  font-size: 13px;
}

.pacing-editor-body, .block-range-editor {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
}

.pacing-grid {
  grid-template-columns: minmax(72px, 1fr) 76px 76px;
  align-items: center;
  display: grid;
}

.pacing-grid-header {
  color: #5b5b5b;
  border-bottom: 1px solid #d9d9d9;
  height: 35px;
  padding: 0 14px;
  font-size: 11px;
  font-weight: 600;
}

.pacing-grid-header span:not(:first-child) {
  text-align: center;
}

.pacing-rows {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.availability-editor .pacing-row {
  border-bottom: 1px solid #ededed;
  min-height: 42px;
  padding: 4px 14px;
}

.availability-editor .pacing-row time {
  color: #333;
  font-size: 12px;
}

.availability-editor .pacing-row input {
  text-align: center;
  width: 58px;
  height: 30px;
  margin: 0 auto;
  padding: 0 4px;
}

.availability-editor-footer {
  background: #fff;
  border-top: 1px solid #d9d9d9;
  gap: 6px;
  margin-top: auto;
  padding: 10px 12px;
  display: flex;
}

.availability-editor-footer button {
  color: #333;
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 3px;
  min-height: 34px;
  padding: 0 10px;
  font-size: 12px;
}

.availability-editor-footer button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.availability-editor-footer .availability-primary {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}

.availability-editor-footer .availability-danger {
  border-color: var(--burgundy);
  color: var(--burgundy);
  width: 100%;
}

.pacing-editor-footer {
  grid-template-columns: auto auto minmax(0, 1fr);
  display: grid;
}

.block-range-editor {
  padding: 15px 16px 0;
  overflow-y: auto;
}

.block-range-editor > p {
  color: #545454;
  margin: 0 0 17px;
  font-size: 12px;
  line-height: 1.55;
}

.block-range-times {
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  display: grid;
}

.availability-room-list {
  border: 0;
  border-top: 1px solid #e1e1e1;
  margin: 18px -16px 0;
  padding: 13px 16px;
}

.availability-room-list legend {
  color: #565656;
  padding: 0 6px 0 0;
  font-size: 11px;
  font-weight: 600;
}

.availability-room > label, label.availability-room {
  align-items: center;
  gap: 10px;
  min-height: 48px;
  display: flex;
}

.availability-room label > span, label.availability-room > span {
  gap: 2px;
  display: grid;
}

.availability-room strong {
  font-size: 13px;
  font-weight: 500;
}

.availability-room small {
  color: #707070;
  font-size: 11px;
}

.availability-editor-error, .availability-editor-empty {
  color: var(--burgundy);
  margin: 10px 16px;
  font-size: 12px;
  line-height: 1.45;
}

.guest-rail-heading {
  border-bottom: 1px solid #dfdfdf;
  height: 62px;
  padding: 0 12px;
}

.guest-rail-heading > nav {
  align-items: center;
  gap: 2px;
  display: flex;
}

.guest-rail-heading > nav button {
  color: #171717;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.guest-rail-heading > nav button.active {
  color: var(--burgundy);
  background: #f0ebe4;
}

.rail-switch {
  gap: 18px;
}

.rail-switch button {
  color: #171717;
  height: 62px;
  font-size: 14px;
  font-weight: 500;
  position: relative;
}

.rail-switch button.active:after {
  background: var(--burgundy);
  content: "";
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.guest-group-heading {
  min-height: 45px;
  padding: 0 14px;
}

.guest-rail-filter {
  border-bottom: 1px solid #dfdfdf;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 10px 12px;
  display: grid;
}

.guest-rail-filter button {
  color: #444;
  background: #fff;
  border: 1px solid #dfdfdf;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 8px;
  font-size: 12px;
  display: flex;
}

.guest-rail-filter button.active {
  border-color: var(--burgundy);
  color: var(--burgundy);
  background: #f0ebe4;
}

.guest-rail-filter svg {
  width: 13px;
  height: 13px;
}

.guest-group-empty {
  color: #242424;
  border-color: #7a7a7a;
  margin: 0 12px 15px;
  padding: 9px 10px;
  font-size: 13px;
}

.notify-rail-groups {
  min-height: 100%;
}

.notify-rail-group > header {
  justify-content: space-between;
  align-items: center;
  min-height: 45px;
  padding: 0 12px;
  display: flex;
}

.notify-rail-group > header > span {
  align-items: center;
  gap: 8px;
  display: flex;
}

.notify-rail-group > header svg {
  color: #555;
  width: 15px;
  height: 15px;
}

.notify-rail-group > header strong {
  font-size: 13px;
  font-weight: 600;
}

.notify-rail-group > header b {
  font-size: 12px;
  font-weight: 600;
}

.notify-rail-group > header button {
  background: none;
  border: 0;
  align-items: center;
  padding: 0;
  display: flex;
}

.notify-rail-group > p {
  color: #242424;
  border: 1px solid #7a7a7a;
  height: 36px;
  min-height: 36px;
  margin: 4px 12px 12px;
  padding: 8px 12px;
  font-size: 13px;
  line-height: 16px;
}

.order-rail-group {
  border-bottom: 1px solid #dfdfdf;
}

.notify-auto-state {
  border-top: 1px solid #dfdfdf;
  flex: 0 0 40px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  font-size: 12px;
  display: flex;
}

.notify-auto-state i {
  background: #3e8b50;
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.order-status-dock {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.floor-view.guest-filters-open .service-floor-frame, .timeline-view.guest-filters-open .timeline-board {
  display: none;
}

.service-guest-filters-panel {
  background: #fff;
  border: 1px solid #dfdfdf;
  grid-template-rows: 59px minmax(0, 1fr) 48px;
  height: 100%;
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.timeline-view > .service-guest-filters-panel {
  height: calc(100% - 24px);
  margin: 12px;
}

.service-guest-filters-panel > header {
  border-bottom: 1px solid #dfdfdf;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.service-guest-filters-panel > header h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.service-guest-filters-panel > header button {
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
  position: absolute;
  right: 17px;
}

.service-guest-filters-panel > header svg {
  width: 15px;
  height: 15px;
}

.service-guest-filter-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 640px;
  min-height: 0;
  margin: 0 auto;
  display: grid;
  overflow-y: auto;
}

.service-guest-filter-columns > div {
  border-left: 1px solid #dfdfdf;
}

.service-guest-filter-columns > div:last-child {
  border-right: 1px solid #dfdfdf;
}

.service-guest-filter-group {
  border-bottom: 1px solid #dfdfdf;
  padding: 13px 12px 14px;
}

.service-guest-filter-group > header {
  justify-content: space-between;
  align-items: center;
  min-height: 18px;
  display: flex;
}

.service-guest-filter-group > header strong, .service-guest-filter-group > header span {
  font-size: 12px;
}

.service-guest-filter-group > header strong {
  font-weight: 600;
}

.service-guest-filter-group > header span {
  color: #666;
}

.service-guest-filter-group > div {
  gap: 11px;
  padding-top: 14px;
  display: grid;
}

.service-guest-filter-group label {
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.4;
  display: flex;
}

.service-guest-filter-group input {
  accent-color: var(--burgundy);
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
}

.service-guest-filter-group p {
  border: 1px solid #888;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
}

.service-guest-filters-panel > footer {
  border-top: 1px solid #dfdfdf;
  justify-content: center;
  align-items: center;
  display: flex;
}

.service-guest-filters-panel > footer button {
  background: none;
  border: 0;
  font-size: 16px;
  font-weight: 600;
}

.service-notify-dialog {
  height: min(656px, 100dvh - 32px);
  overflow: hidden;
  background: #fff !important;
  border: 0 !important;
  border-radius: 2px !important;
  gap: 0 !important;
  max-width: 600px !important;
  padding: 0 !important;
  box-shadow: 0 12px 36px #0000003d !important;
}

.service-notify-dialog > [data-slot="dialog-header"] {
  border-bottom: 1px solid #dfdfdf;
  justify-content: center;
  min-height: 57px;
  padding: 0 20px;
}

.service-notify-dialog [data-slot="dialog-title"] {
  font-size: 16px;
  font-weight: 600;
}

.service-notify-dialog > [data-slot="dialog-close"] {
  border-radius: 0;
  top: 12px;
  right: 12px;
}

.service-notify-form {
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.service-notify-search {
  padding: 14px 20px 8px;
  position: relative;
}

.service-notify-search > label {
  border: 1px solid #cfcfcf;
  align-items: center;
  height: 38px;
  padding: 0 10px;
  display: flex;
}

.service-notify-search > label svg {
  color: #777;
  width: 15px;
  height: 15px;
  margin-right: 8px;
}

.service-notify-search input {
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  height: 35px;
  font-size: 12px;
}

.service-notify-search > p {
  color: #777;
  margin: 7px 0 0;
  font-size: 11px;
}

.service-notify-results {
  z-index: 3;
  background: #fff;
  border: 1px solid #cfcfcf;
  max-height: 190px;
  position: absolute;
  top: 52px;
  left: 20px;
  right: 20px;
  overflow-y: auto;
  box-shadow: 0 6px 18px #00000024;
}

.service-notify-results > button {
  text-align: left;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #ededed;
  gap: 2px;
  width: 100%;
  padding: 9px 11px;
  display: grid;
}

.service-notify-results > button:hover {
  background: #f5f5f5;
}

.service-notify-results strong {
  font-size: 12px;
  font-weight: 600;
}

.service-notify-results small, .service-notify-results > p {
  color: #777;
  margin: 0;
  font-size: 11px;
}

.service-notify-results > p {
  padding: 12px;
}

.service-notify-party-row {
  flex-direction: column;
  align-items: center;
  padding: 2px 20px 10px;
  display: flex;
}

.service-notify-party-row > div {
  align-items: center;
  display: flex;
}

.service-notify-party-row button {
  background: #fff;
  border: 1px solid #cfcfcf;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 30px;
  display: flex;
}

.service-notify-party-row button:first-child {
  border-right: 0;
}

.service-notify-party-row button:last-child {
  border-left: 0;
}

.service-notify-party-row svg {
  width: 13px;
  height: 13px;
}

.service-notify-party-row input {
  text-align: center;
  border: 1px solid #cfcfcf;
  width: 52px;
  height: 30px;
}

.service-notify-party-row > p {
  color: #555;
  margin: 4px 0 0;
  font-size: 11px;
}

.service-notify-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 12px;
  min-height: 0;
  padding: 0 20px 12px;
  display: grid;
  overflow-y: auto;
}

.service-notify-grid > label {
  gap: 4px;
  display: grid;
}

.service-notify-grid > label.full {
  grid-column: 1 / -1;
}

.service-notify-grid > label > span {
  color: #4f4f4f;
  font-size: 11px;
  font-weight: 600;
}

.service-notify-grid input, .service-notify-grid select, .service-notify-grid textarea {
  color: #222;
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  min-height: 34px;
  padding: 0 9px;
  font-size: 12px;
}

.service-notify-grid input:disabled {
  color: #777;
  background: #f3f3f3;
}

.service-notify-grid textarea {
  resize: none;
  min-height: 43px;
  padding: 8px 9px;
}

.service-notify-error {
  color: #b42318;
  margin: 0;
  padding: 0 20px 8px;
  font-size: 11px;
}

.service-notify-form > [data-slot="dialog-footer"] {
  background: #fff;
  border-radius: 0;
  margin: 0;
  padding: 10px 20px;
}

.service-notify-form > [data-slot="dialog-footer"] [data-slot="button"] {
  border-radius: 2px;
  min-width: 92px;
  height: 35px;
  font-size: 12px;
}

body:has(.service-notify-dialog) [data-slot="dialog-overlay"] {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: #0006 !important;
}

.service-notify-dialog > [data-slot="dialog-header"] {
  min-height: 72px;
  padding: 0 24px;
}

.service-notify-dialog > [data-slot="dialog-close"] {
  display: none;
}

.service-notify-form {
  grid-template-rows: minmax(0, 1fr) 92px;
}

.service-notify-body {
  min-height: 0;
  overflow-y: auto;
}

.service-notify-search {
  border-bottom: 1px solid #dfdfdf;
  padding: 20px 24px 27px;
}

.service-notify-search > label {
  height: 47px;
}

.service-notify-search input {
  height: 44px;
  font-size: 14px;
}

.service-notify-search > p {
  margin-top: 9px;
  font-size: 12px;
}

.service-notify-results {
  top: 67px;
  left: 24px;
  right: 24px;
}

.service-notify-party-row {
  align-items: flex-start;
  padding: 25px 24px 19px;
}

.service-notify-party-row > p {
  order: -1;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 600;
}

.service-notify-party-row button, .service-notify-party-row input {
  height: 45px;
}

.service-notify-party-row input {
  width: 58px;
  font-size: 14px;
}

.service-notify-party-row button {
  width: 44px;
  margin-left: 7px;
}

.service-notify-party-row button:first-of-type, .service-notify-party-row button:last-child {
  border: 1px solid #cfcfcf;
}

.service-notify-grid {
  gap: 21px 16px;
  padding: 0 24px 28px;
  overflow: visible;
}

.service-notify-grid > label {
  gap: 3px;
}

.service-notify-grid > label > span {
  font-size: 12px;
  line-height: 10px;
}

.service-notify-grid input, .service-notify-grid select {
  height: 44px;
  font-size: 14px;
}

.service-notify-grid textarea {
  min-height: 76px;
}

.service-notify-form > [data-slot="dialog-footer"] {
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  padding: 0 24px;
}

.service-notify-form > [data-slot="dialog-footer"] [data-slot="button"] {
  min-width: 99px;
  height: 44px;
  font-size: 14px;
}

.service-notify-form > [data-slot="dialog-footer"] [data-slot="button"]:first-child {
  background: none;
  border-color: #0000;
}

.reservation-item {
  min-height: 58px;
}

.timeline-board {
  background: #fff;
  min-width: 840px;
  padding: 0 0 20px;
}

.assignment-toolbar {
  background: #fff;
  border-bottom: 1px solid #dfdfdf;
  min-height: 45px;
}

.assignment-toolbar > button, .manual-assignment button {
  border-color: #dfdfdf;
  border-radius: 3px;
}

.timeline-times {
  border-bottom-color: #dfdfdf;
  height: 52px;
}

.section-label {
  background: #fff;
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  height: 35px;
}

.section-label span {
  letter-spacing: 0;
  text-transform: none;
  font-size: 14px;
}

.timeline-row {
  height: 49px;
}

.timeline-row > span {
  color: #202020;
  font-size: 13px;
}

.timeline-track {
  background-image: repeating-linear-gradient(90deg, #dfdfdf 0 1px, #0000 1px 6.25%);
}

.timeline-block {
  color: #171717;
  background: #d7d7d7;
  border: 0;
  border-radius: 0;
}

.timeline-block.has-party-status {
  box-shadow: inset 3px 0 var(--party-status-color);
}

.timeline-block.selected {
  background: var(--blue);
  box-shadow: none;
  color: #fff;
}

.timeline-block.selected small {
  color: #ffffffd1;
}

.floor-view {
  background: #fff;
  padding: 12px;
}

.floor-toolbar {
  background: #fff;
  border: 1px solid #dfdfdf;
  min-height: 47px;
  margin: 0;
  padding: 6px;
}

.operational-floor {
  background-color: #fff;
  background-image: none;
  border: 1px solid #dfdfdf;
  border-top: 0;
  height: calc(100dvh - 211px);
  min-height: 430px;
}

.floor-table {
  background: #e4e4e4;
  border-color: #d9d9d9;
  border-radius: 2px;
}

.floor-table.rectangle {
  border-radius: 2px;
}

.floor-table.round {
  border-radius: 50%;
}

.workspace.is-month {
  min-height: calc(100dvh - 96px);
  display: block;
}

.month-view {
  --month-booked: #a5402d;
  --month-no-show: #721121;
  --month-walk-in: #28587b;
  --month-held: #baa898;
  --month-locked: #eee0cb;
  --month-empty: #e5e5e5;
  background: #fff;
  min-height: calc(100dvh - 96px);
  padding: 12px;
  position: relative;
  overflow-x: hidden;
}

.month-weekdays, .month-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  display: grid;
}

.month-weekdays {
  border: 1px solid #d8d8d8;
  border-bottom: 0;
  height: 25px;
}

.month-weekdays span {
  color: #4f4f4f;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  font-weight: 560;
  display: flex;
  overflow: hidden;
}

.month-day {
  color: #111;
  cursor: pointer;
  text-align: left;
  background: #fff;
  border-top: 0;
  border-bottom: 1px solid #d8d8d8;
  border-left: 1px solid #d8d8d8;
  border-right: 0;
  min-height: 184px;
  padding: 0;
  position: relative;
  overflow: visible;
}

.month-day:nth-child(7n) {
  border-right: 1px solid #d8d8d8;
}

.month-day:hover, .month-day:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: -2px;
  z-index: 3;
  background: #faf8f5;
}

.month-day.is-selected {
  box-shadow: inset 0 0 0 2px var(--blue);
  z-index: 2;
}

.month-day.is-outside-month {
  color: #666;
  background: #f7f7f7;
}

.month-day-number {
  font-size: 20px;
  font-weight: 560;
  line-height: 1;
  position: absolute;
  top: 11px;
  left: 11px;
}

.month-day.is-selected .month-day-number {
  color: var(--blue);
}

.month-max-label {
  color: #315d3c;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #edf5ef;
  border: 1px solid #bad2c0;
  padding: 3px 5px;
  font-size: 10px;
  font-weight: 650;
  position: absolute;
  top: 9px;
  right: 6px;
}

.month-day-summary {
  flex-direction: column;
  align-items: center;
  width: 160px;
  display: flex;
  position: absolute;
  top: 42px;
  left: 50%;
  transform: translateX(-50%);
}

.month-gauge {
  aspect-ratio: auto;
  width: 144px;
  height: 72px;
  overflow: hidden;
}

.month-day-summary > strong {
  margin-top: -31px;
  font-size: 28px;
  font-weight: 450;
  line-height: 1;
  position: relative;
}

.month-guests-label {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 650;
}

.month-service-label {
  color: #656565;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 150px;
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.45;
  overflow: hidden;
}

.month-legend {
  z-index: 9;
  background: #eeeeeef5;
  align-items: center;
  gap: 13px;
  margin: 0;
  padding: 9px 12px;
  display: flex;
  position: fixed;
  bottom: 18px;
  left: 24px;
  box-shadow: 0 3px 10px #0000001a;
}

.month-legend > div {
  align-items: center;
  gap: 5px;
  display: flex;
}

.month-legend dt, .month-legend dd {
  margin: 0;
}

.month-legend dd {
  white-space: nowrap;
  font-size: 13px;
}

.month-legend i {
  border-radius: 4px;
  width: 20px;
  height: 20px;
  display: block;
}

.month-legend i.booked {
  background: var(--month-booked);
}

.month-legend i.no-show {
  background: var(--month-no-show);
}

.month-legend i.walk-in {
  background: var(--month-walk-in);
}

.month-legend i.held {
  background: var(--month-held);
}

.month-legend i.locked {
  background: var(--month-locked);
}

.month-view-state {
  color: #555;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: calc(100dvh - 96px);
  padding: 32px;
  display: flex;
}

.month-view-state strong {
  color: #171717;
}

.month-day-skeleton {
  cursor: default;
  background: #f4f4f4;
  animation: 1.4s ease-in-out infinite month-pulse;
}

@keyframes month-pulse {
  50% {
    background: #eaeaea;
  }
}

.snapshot-home {
  background: #fff;
  min-height: calc(100dvh - 48px);
}

.snapshot-home-hero {
  background: #fafafa;
  border-bottom: 1px solid #dfdfdf;
  padding: 34px 24px 48px;
}

.snapshot-home-hero > h1 {
  color: #171717;
  letter-spacing: -.065em;
  margin: 0 0 28px;
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 780;
  line-height: 1;
}

.snapshot-home-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  display: grid;
}

.snapshot-home-metrics > section {
  background: #fff;
  border: 1px solid #dcdcdc;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 28px;
  min-height: 140px;
  padding: 20px 24px;
  display: grid;
}

.snapshot-home-metrics h2 {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 16px;
  font-weight: 650;
}

.snapshot-home-metrics section > div {
  flex-direction: column;
  align-self: end;
  display: flex;
}

.snapshot-home-metrics section > div strong {
  font-size: 28px;
  font-weight: 520;
  line-height: 1;
}

.snapshot-home-metrics section > div span {
  margin-top: 7px;
  font-size: 14px;
}

.snapshot-home-metrics .snapshot-availability {
  display: block;
}

.snapshot-home-metrics .snapshot-availability.open {
  background: #f2faf4;
  border-color: #9fcbb0;
}

.snapshot-home-metrics .snapshot-availability.closed {
  background: #f8eeee;
  border-color: #d5a6a6;
}

.snapshot-availability h2 {
  align-items: center;
  gap: 10px;
  display: flex;
}

.snapshot-availability h2 svg {
  width: 17px;
  height: 17px;
}

.snapshot-availability p {
  max-width: 42ch;
  margin: 18px 0 0;
  font-size: 14px;
  line-height: 1.45;
}

.snapshot-availability a {
  color: inherit;
  text-decoration: underline;
}

.snapshot-launchers {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
  display: grid;
}

.snapshot-launchers button, .snapshot-launchers a {
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 2px;
  align-items: center;
  gap: 10px;
  height: 45px;
  padding: 0 14px;
  font-size: 16px;
  text-decoration: none;
  display: flex;
}

.snapshot-launchers button:hover, .snapshot-launchers a:hover {
  background: var(--burgundy);
}

.snapshot-launchers svg {
  width: 18px;
  height: 18px;
}

.snapshot-launchers svg:last-child {
  margin-left: auto;
}

.snapshot-home-body {
  grid-template-columns: minmax(0, 3fr) minmax(240px, 1fr);
  gap: 24px;
  padding: 48px 24px;
  display: grid;
}

.snapshot-home-body > section {
  background: #fff;
  border: 1px solid #dcdcdc;
  padding: 24px;
}

.snapshot-home-body h2 {
  margin: 0;
  font-size: 18px;
}

.snapshot-status-panel > header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.snapshot-status-panel > header button {
  color: #171717;
  background: none;
  border: 0;
}

.snapshot-status-panel > header svg {
  height: 18px;
}

.snapshot-status-content {
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
  align-items: center;
  gap: 48px;
  min-height: 290px;
  display: grid;
}

.snapshot-cover-gauge {
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  min-height: 170px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.snapshot-cover-gauge > span {
  background: conic-gradient(from 270deg at 50% 100%, var(--burgundy) 0 50%, #ededed 50% 100%);
  border-radius: 180px 180px 0 0;
  width: 216px;
  height: 108px;
  position: absolute;
  top: 36px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-mask: radial-gradient(circle at 50% 100%, #0000 0 53%, #000 54%);
  mask: radial-gradient(circle at 50% 100%, #0000 0 53%, #000 54%);
}

.snapshot-cover-gauge strong {
  font-size: 28px;
  font-weight: 550;
  line-height: 1;
  position: relative;
}

.snapshot-cover-gauge small {
  margin-top: 5px;
  font-size: 13px;
  font-weight: 600;
  position: relative;
}

.snapshot-status-content table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}

.snapshot-status-content th, .snapshot-status-content td {
  text-align: left;
  padding: 7px 0;
}

.snapshot-status-content th {
  color: #666;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 500;
}

.snapshot-status-content th:last-child, .snapshot-status-content td:last-child {
  text-align: right;
}

.snapshot-status-content td i {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  display: inline-block;
}

.snapshot-status-content tr.total td {
  text-transform: uppercase;
  border-top: 1px solid #dfdfdf;
  font-weight: 700;
}

.snapshot-status-content tr.pending td {
  border-top: 1px solid #dfdfdf;
  padding-top: 14px;
}

.snapshot-status-content tr.pending i {
  background: var(--terracotta);
}

.snapshot-notes-panel p, .snapshot-large-parties-panel > p {
  color: #686868;
  margin: 26px 0 0;
  font-size: 14px;
}

.snapshot-service-panel dl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 24px 0 0;
  display: grid;
}

.snapshot-service-panel dl > div {
  border-left: 1px solid #dfdfdf;
  padding: 0 18px;
}

.snapshot-service-panel dl > div:first-child {
  border-left: 0;
  padding-left: 0;
}

.snapshot-service-panel dt {
  color: #6c6c6c;
  text-transform: uppercase;
  font-size: 11px;
}

.snapshot-service-panel dd {
  margin: 7px 0 0;
  font-size: 14px;
  font-weight: 600;
}

.snapshot-service-summary {
  flex-direction: column;
  margin-top: 28px;
  display: flex;
}

.snapshot-service-summary strong {
  font-size: 30px;
  font-weight: 520;
}

.snapshot-service-summary span {
  margin-top: 3px;
  font-size: 14px;
}

.snapshot-large-parties-panel ul {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.snapshot-large-parties-panel li {
  background: #fafafa;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 36px;
  font-size: 14px;
  display: grid;
}

.snapshot-large-parties-panel li strong {
  text-align: center;
}

.snapshot-large-parties-panel time {
  padding-right: 8px;
  font-weight: 600;
}

.snapshot-service-panel {
  grid-column: 1;
}

.snapshot-large-parties-panel {
  grid-column: 2;
}

@media (max-width: 1100px) {
  .dashboard-topbar {
    grid-template-columns: 250px minmax(280px, 1fr) auto;
    overflow-x: auto;
  }

  .date-control .date-today-button, .date-control .date-month-button, .topbar-actions .timeline-key-button {
    display: none;
  }

  .dashboard-topbar.month-active .date-today-button, .dashboard-topbar.month-active .date-month-button {
    justify-content: center;
    align-items: center;
    width: 40px;
    padding: 0;
    display: flex;
  }

  .date-control .service-date-picker {
    min-width: 220px;
  }

  .workspace.has-inspector {
    grid-template-columns: 311px minmax(760px, 1fr);
  }

  .service-inspector-pane {
    box-shadow: none;
    z-index: auto;
    width: auto;
    position: relative;
    top: auto;
  }

  .snapshot-launchers {
    gap: 12px;
  }

  .snapshot-launchers button, .snapshot-launchers a {
    font-size: 14px;
  }
}

@media (max-width: 820px) {
  .dashboard-main {
    min-width: 0;
  }

  .snapshot-home-hero {
    padding: 28px 18px 32px;
  }

  .snapshot-home-metrics {
    grid-template-columns: 1fr;
  }

  .snapshot-home-metrics > section {
    min-height: 130px;
  }

  .snapshot-launchers {
    grid-template-columns: 1fr;
  }

  .snapshot-home-body {
    grid-template-columns: 1fr;
    padding: 28px 18px;
  }

  .snapshot-home-body > section, .snapshot-service-panel, .snapshot-large-parties-panel {
    grid-column: 1;
  }

  .snapshot-status-content {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .snapshot-service-panel dl {
    grid-template-columns: 1fr 1fr;
    gap: 20px 0;
  }

  .snapshot-service-panel dl > div:nth-child(3) {
    border-left: 0;
    padding-left: 0;
  }

  .dashboard-topbar {
    grid-template-columns: 225px 280px auto;
    min-width: 760px;
  }

  .dashboard-topbar.month-active {
    grid-template-rows: 45px 48px;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    height: 93px;
    display: grid;
    overflow: visible;
  }

  .dashboard-topbar.month-active .reservation-view-nav {
    grid-row: 1;
    height: 45px;
    padding-left: 5px;
  }

  .dashboard-topbar.month-active .reservation-view-nav button {
    height: 45px;
  }

  .dashboard-topbar.month-active .reservation-view-nav button:last-child, .dashboard-topbar.month-active .view-label-desktop {
    display: none;
  }

  .dashboard-topbar.month-active .view-label-compact {
    display: inline;
  }

  .dashboard-topbar.month-active .date-control {
    grid-row: 2;
    justify-content: stretch;
    padding: 6px;
  }

  .dashboard-topbar.month-active .date-control .service-date-picker {
    flex: 1;
    min-width: 0;
  }

  .dashboard-topbar.month-active .date-control .service-date-picker > svg, .dashboard-topbar.month-active .topbar-actions {
    display: none;
  }

  .workspace.is-month, .month-view {
    min-height: calc(100dvh - 141px);
  }

  .month-view {
    padding: 12px;
  }

  .month-weekdays {
    height: 25px;
  }

  .month-weekdays span {
    justify-content: flex-start;
    font-size: 10px;
  }

  .month-day {
    min-height: 208px;
  }

  .month-day-number {
    font-size: 20px;
  }

  .month-legend {
    gap: 11px;
    max-width: calc(100vw - 29px);
    bottom: 16px;
    left: 17px;
    overflow: hidden;
  }

  .month-legend > div {
    align-items: flex-start;
  }

  .month-legend dd {
    white-space: normal;
    font-size: 13px;
  }

  :is(.dashboard-content:has(.service-grid), .dashboard-content:has(.workspace.has-inspector)) {
    overflow-x: auto;
  }

  .service-grid {
    grid-template-columns: 250px minmax(760px, 1fr);
  }

  .guest-rail {
    min-width: 250px;
  }

  .workspace.has-inspector {
    grid-template-columns: 311px minmax(760px, 1fr);
  }

  .service-inspector-pane {
    width: auto;
    height: auto;
  }

  .reservation-inspector {
    width: 311px;
    height: calc(100dvh - 96px);
  }
}

@media (max-width: 520px) {
  .dashboard-topbar:not(.month-active) {
    grid-template-rows: 48px 48px;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    height: 96px;
    display: grid;
    overflow: visible;
  }

  .dashboard-topbar:not(.month-active) .reservation-view-nav {
    grid-row: 1;
    justify-content: flex-start;
    padding-left: 5px;
  }

  .dashboard-topbar:not(.month-active) .reservation-view-nav button:nth-child(3), .dashboard-topbar:not(.month-active) .view-label-desktop {
    display: none;
  }

  .dashboard-topbar:not(.month-active) .view-label-compact {
    display: inline;
  }

  .dashboard-topbar:not(.month-active) .date-control {
    grid-row: 2;
    justify-content: stretch;
    padding: 6px;
  }

  .dashboard-topbar:not(.month-active) .date-control .service-date-picker {
    flex: 1;
    min-width: 0;
  }

  .dashboard-topbar:not(.month-active) .date-control .service-date-picker > svg, .dashboard-topbar:not(.month-active) .date-control .service-date-picker > span, .dashboard-topbar:not(.month-active) .topbar-actions > :not(.book-reservation-button) {
    display: none;
  }

  .dashboard-topbar:not(.month-active) .topbar-actions {
    height: 0;
  }

  .dashboard-topbar:not(.month-active) .topbar-actions .book-reservation-button {
    color: #fff;
    z-index: 30;
    border: 0;
    border-radius: 999px;
    gap: 6px;
    width: auto;
    height: 44px;
    padding: 0 18px;
    position: fixed;
    bottom: 18px;
    right: 16px;
    box-shadow: 0 5px 18px #4014193d;
  }

  .dashboard-topbar:not(.month-active) .book-reservation-button:after {
    content: "Book";
    font-size: 13px;
    font-weight: 600;
  }

  .workspace:has(.service-grid) {
    min-height: calc(100dvh - 144px);
  }

  .service-grid, .service-grid.rail-hidden {
    grid-template-columns: minmax(0, 1fr);
    min-height: calc(100dvh - 144px);
    overflow: hidden;
  }

  .guest-rail, .availability-editor {
    width: 100vw;
    min-width: 0;
    height: calc(100dvh - 144px);
    max-height: calc(100dvh - 144px);
  }

  .service-grid .timeline-board {
    display: none;
  }

  .snapshot-home-hero > h1 {
    margin-bottom: 22px;
    font-size: 34px;
  }

  .snapshot-home-metrics > section {
    padding: 18px;
  }

  .snapshot-home-body > section {
    padding: 20px;
  }

  .snapshot-service-panel dl {
    grid-template-columns: 1fr;
  }

  .snapshot-service-panel dl > div {
    border-top: 1px solid #dfdfdf;
    border-left: 0;
    padding: 14px 0 0;
  }
}

.floor-service-stack {
  background: #fff;
  flex-direction: column;
  height: calc(100dvh - 96px);
  min-height: 0;
  display: flex;
}

.floor-service-stack .service-grid {
  flex: auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.service-batch-banner {
  color: #fff;
  background: #333;
  flex: 0 0 59px;
  justify-content: space-between;
  align-items: center;
  padding: 0 18px 0 22px;
  font-size: 14px;
  display: flex;
}

.service-batch-banner strong {
  font-weight: 700;
}

.service-batch-banner button {
  color: #fff;
  text-underline-offset: 3px;
  background: none;
  border: 0;
  padding: 10px;
  font-size: 13px;
  text-decoration: underline;
}

.floor-service-view .floor-view {
  background: #fff;
  min-width: 0;
  min-height: 0;
  padding: 12px;
  overflow: hidden;
}

.batch-active .floor-service-view .floor-view {
  padding-top: 0;
}

.service-floor-frame {
  border: 1px solid #dfdfdf;
  grid-template-rows: 47px minmax(0, 1fr) 47px;
  height: 100%;
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.service-floor-header {
  border-bottom: 1px solid #dfdfdf;
  justify-content: space-between;
  align-items: center;
  padding: 5px 6px;
  display: flex;
}

.service-floor-header > button {
  color: #171717;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  align-items: center;
  gap: 7px;
  height: 36px;
  padding: 0 12px;
  font-size: 13px;
  display: flex;
}

.service-floor-header > button.active {
  background: var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .service-floor-header > button.active {
    background: color-mix(in srgb, var(--blue) 8%, #fff);
  }
}

.service-floor-header > button.active {
  border-color: var(--blue);
  color: var(--blue);
}

.service-floor-header svg, .service-floor-commandbar svg {
  width: 15px;
  height: 15px;
}

.observation-label {
  color: #6b6b6b;
  padding-right: 8px;
  font-size: 12px;
}

.service-floor-content {
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.service-floor-content.has-activity {
  grid-template-columns: minmax(0, 1fr) 280px;
}

.service-floor-main {
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  min-width: 0;
  min-height: 0;
  overflow: auto;
}

.floor-service-view .operational-floor {
  background: #fff;
  border: 0;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.floor-service-view .floor-table {
  box-shadow: none;
  color: #1d1d1d;
  background: #dfdfdf;
  border: 2px solid #0000;
  border-radius: 3px;
  min-width: 38px;
  min-height: 38px;
  padding: 5px;
}

.floor-service-view .floor-table.server-assigned {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--service-table-indicator);
}

.floor-service-view .floor-table.round {
  border-radius: 50%;
}

.floor-service-view .floor-table strong {
  font-family: inherit;
  font-size: 16px;
  font-weight: 650;
  line-height: 1;
}

.floor-service-view .floor-table small {
  color: #555;
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.25;
}

.floor-service-view .floor-table time {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #474747;
  font-size: 10px;
  line-height: 17px;
  position: absolute;
  bottom: -1px;
  left: -1px;
  right: -1px;
  overflow: hidden;
}

.floor-service-view .floor-table.seated, .floor-service-view .floor-table.partially-seated {
  background: #84cc16;
}

.floor-service-view .floor-table.selected {
  box-shadow: 0 0 0 3px var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .floor-service-view .floor-table.selected {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 30%, transparent);
  }
}

.floor-service-view .floor-table.drop-target {
  box-shadow: 0 0 0 4px var(--blue);
}

@supports (color: color-mix(in lab, red, red)) {
  .floor-service-view .floor-table.drop-target {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue) 35%, transparent);
  }
}

@media (min-width: 521px) {
  .timeline-view, .floor-service-view {
    grid-template-columns: 311px minmax(0, 1fr);
  }

  .timeline-view.rail-hidden, .floor-service-view.rail-hidden {
    grid-template-columns: minmax(0, 1fr);
  }

  .timeline-view {
    height: calc(100dvh - 96px);
    min-height: 0;
    overflow: hidden;
  }

  .timeline-view > .guest-rail {
    z-index: 6;
    align-self: start;
    height: calc(100dvh - 96px);
    max-height: calc(100dvh - 96px);
    position: sticky;
    top: 0;
    left: 0;
  }

  .timeline-view > .timeline-board {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    min-width: 0;
    height: 100%;
    min-height: 0;
    overflow: auto;
  }

  .timeline-view > .timeline-board > :not(.timeline-times) {
    min-width: 840px;
  }

  .timeline-view > .timeline-board > .timeline-times {
    min-width: 724px;
  }

  .timeline-view .timeline-times {
    z-index: 5;
    background: #fff;
    position: sticky;
    top: 0;
  }

  .timeline-view .timeline-row > span, .timeline-view .service-capacity-row > span {
    z-index: 4;
    background: #fff;
    position: sticky;
    left: 0;
  }
}

.service-floor-commandbar {
  border-top: 1px solid #dfdfdf;
  justify-content: space-between;
  align-items: stretch;
  min-width: 0;
  display: flex;
}

.service-floor-commandbar > div {
  align-items: stretch;
  min-width: 0;
  display: flex;
}

.service-floor-commandbar button {
  color: #222;
  white-space: nowrap;
  background: #fff;
  border: 0;
  border-right: 1px solid #dfdfdf;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-width: 47px;
  height: 46px;
  padding: 0 13px;
  font-size: 12px;
  display: flex;
}

.service-floor-commandbar > div:last-child button {
  border-left: 1px solid #dfdfdf;
  border-right: 0;
}

.service-floor-commandbar button.active {
  background: var(--blue);
  color: #fff;
}

.service-floor-commandbar button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.service-floor-sort {
  border-right: 1px solid #dfdfdf;
  align-items: center;
  padding: 0 6px;
  display: flex;
}

.service-floor-sort select {
  color: #222;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  height: 35px;
  padding: 0 26px 0 10px;
  font-size: 12px;
}

.service-floor-commandbar .service-batch-button {
  min-width: 154px;
}

.service-floor-commandbar .service-online {
  min-width: 82px;
}

.service-floor-commandbar .service-online.online {
  color: #38764f;
}

.service-floor-list {
  background: #fff;
  min-width: 760px;
  height: 100%;
  padding: 9px 12px 22px;
  overflow: auto;
}

.service-floor-list > section + section {
  margin-top: 13px;
}

.service-floor-list h3 {
  color: #1d1d1d;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 650;
  display: flex;
}

.service-floor-list h3 > span {
  align-items: baseline;
  gap: 4px;
  display: flex;
}

.service-floor-list h3 i {
  color: #555;
  font-style: normal;
  font-weight: 450;
}

.service-floor-list h3 > button {
  color: #171717;
  text-underline-offset: 2px;
  background: none;
  border: 0;
  margin-left: 20px;
  padding: 0;
  font-size: 13px;
  text-decoration: underline;
}

.service-floor-list section > div {
  grid-template-columns: repeat(auto-fill, 116px);
  gap: 12px;
  display: grid;
}

.service-floor-list section > div > button {
  color: #1d1d1d;
  background: #e4e4e4;
  border: 1px solid #d5d5d5;
  border-radius: 2px;
  min-width: 0;
  height: 72px;
  position: relative;
}

.service-floor-list button > small {
  font-size: 11px;
  position: absolute;
  top: 5px;
  left: 6px;
}

.service-floor-list button > strong {
  font-size: 16px;
  font-weight: 650;
  display: block;
}

.service-floor-list button > time {
  color: #fff;
  background: #474747;
  font-size: 10px;
  line-height: 17px;
  position: absolute;
  bottom: -1px;
  left: -1px;
  right: -1px;
}

.service-floor-list button:hover, .service-floor-list button:focus-visible {
  border-color: var(--blue);
  outline: none;
}

.service-floor-list section > div > button.server-selected, .floor-service-view .floor-table.server-selected {
  background: #dce9df;
  box-shadow: inset 0 0 0 2px #3e8b50;
  border-color: #3e8b50 !important;
}

.service-activity-panel {
  background: #fff;
  border-left: 1px solid #dfdfdf;
  grid-template-rows: minmax(0, 1fr) 50px 70px;
  width: 280px;
  min-height: 0;
  display: grid;
}

.service-activity-list {
  min-height: 0;
  padding: 14px;
  overflow-y: auto;
}

.service-activity-list:has( > .service-activity-empty:only-child) {
  justify-content: center;
  align-items: center;
  display: flex;
}

.service-activity-empty, .service-activity-error {
  color: #555;
  text-align: center;
  border: 1px solid #dfdfdf;
  justify-content: center;
  align-items: center;
  width: 230px;
  min-height: 60px;
  margin: 0;
  padding: 12px;
  font-size: 13px;
  display: flex;
}

.service-activity-error {
  color: #7d3028;
  background: #fbefec;
  border-color: #e4c6bf;
}

.service-activity-message, .service-activity-event {
  border-bottom: 1px solid #e5e5e5;
  padding: 11px 2px;
}

.service-activity-message header {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.service-activity-message strong, .service-activity-event strong {
  font-size: 12px;
}

.service-activity-message time, .service-activity-event span {
  color: #777;
  font-size: 11px;
}

.service-activity-message p {
  margin: 5px 0 0;
  font-size: 13px;
  line-height: 1.4;
}

.service-activity-event {
  flex-direction: column;
  gap: 3px;
  display: flex;
}

.service-activity-toggle {
  border-top: 1px solid #dfdfdf;
  justify-content: space-between;
  align-items: center;
  padding: 0 14px;
  font-size: 13px;
  display: flex;
}

.service-activity-toggle [data-slot="switch"][data-state="checked"] {
  background: var(--blue);
}

.service-activity-compose {
  border-top: 1px solid #dfdfdf;
  align-items: center;
  gap: 7px;
  padding: 11px;
  display: flex;
}

.service-activity-compose input {
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 0 9px;
  font-size: 13px;
}

.service-activity-compose button {
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: flex;
}

.service-activity-compose button:disabled {
  opacity: .4;
}

.service-activity-compose svg {
  width: 15px;
  height: 15px;
}

.service-combinations-sheet {
  box-shadow: none !important;
  z-index: 45 !important;
  gap: 0 !important;
  width: 311px !important;
  max-width: none !important;
  height: auto !important;
  padding: 0 !important;
  top: 96px !important;
  bottom: 0 !important;
}

.service-combinations-sheet > [data-slot="sheet-close"] {
  border-radius: 0;
  width: 42px;
  height: 42px;
  top: 8px;
  right: 8px;
}

.service-combinations-header {
  border-bottom: 1px solid #dfdfdf;
  flex: 0 0 61px;
  justify-content: center;
  height: 61px;
  padding: 0 16px !important;
}

.service-combinations-header [data-slot="sheet-title"] {
  font-size: 18px;
  font-weight: 650;
}

.service-combinations-scroll {
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.service-combinations-scroll > p {
  color: #333;
  border-bottom: 1px solid #dfdfdf;
  margin: 0;
  padding: 18px 16px;
  font-size: 13px;
}

.service-combinations-scroll article {
  border-bottom: 1px solid #dfdfdf;
  padding: 17px 16px;
}

.service-combinations-scroll article h4 {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 650;
}

.service-combinations-scroll article p {
  color: #555;
  margin: 4px 0;
  font-size: 13px;
}

.service-combinations-empty {
  color: #666;
  padding: 22px 16px;
  font-size: 13px;
}

.service-server-rail {
  background: #fff;
  border-right: 1px solid #dfdfdf;
  flex-direction: column;
  width: 311px;
  min-width: 311px;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.service-floor-frame.selecting-server {
  border-color: #3e8b50;
  box-shadow: 0 0 0 2px #3e8b50;
}

.service-floor-header.service-server-selection-banner {
  color: #fff;
  background: #3e8b50;
  border-bottom-color: #3e8b50;
  padding: 0 16px;
  font-size: 15px;
}

.service-floor-header.service-server-selection-banner .observation-label {
  color: #ffffffd1;
}

.service-server-header {
  border-bottom: 1px solid #dfdfdf;
  flex: 0 0 61px;
  align-items: center;
  gap: 2px;
  padding: 0 8px 0 16px;
  display: flex;
}

.service-server-header h2 {
  flex: 1;
  margin: 0;
  font-size: 18px;
  font-weight: 650;
}

.service-server-selection-header {
  gap: 8px;
  padding: 0 14px 0 16px;
}

.service-server-selection-header > button {
  width: 40px;
}

.service-server-selection-header > span:nth-child(2) {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.service-server-selection-header h2 {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: none;
  font-size: 16px;
  overflow: hidden;
}

.service-server-selection-header small {
  color: #555;
  margin-top: 1px;
  font-size: 12px;
}

.service-server-selection-header .server-avatar {
  color: #333;
  background: #fff;
  border: 2px solid;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
}

.service-server-header button {
  color: #222;
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 40px;
  display: flex;
}

.service-server-header svg {
  width: 16px;
  height: 16px;
}

.service-server-search {
  border-bottom: 1px solid #dfdfdf;
  flex: 0 0 45px;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  display: flex;
}

.service-server-search svg {
  color: #777;
  width: 15px;
  height: 15px;
}

.service-server-search input {
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  font-size: 13px;
}

.service-server-body {
  min-height: 0;
  overflow-y: auto;
}

.service-server-metrics-heading, .service-server-row {
  grid-template-columns: 38px minmax(0, 1fr) 48px 42px 15px;
  align-items: center;
  display: grid;
}

.service-server-metrics-heading {
  color: #666;
  background: #fafafa;
  border-bottom: 1px solid #dfdfdf;
  min-height: 40px;
  padding: 0 10px;
  font-size: 12px;
}

.service-server-metrics-heading strong {
  grid-column: 1 / 3;
  font-size: 13px;
  font-weight: 650;
}

.service-server-assigned, .service-server-unassigned {
  flex-direction: column;
  display: flex;
}

.service-server-body > h3 {
  color: #666;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #fafafa;
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  margin: 0;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 650;
}

.service-server-row {
  color: #222;
  text-align: left;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #e4e4e4;
  min-height: 42px;
  padding: 0 10px;
}

.service-server-row .server-avatar {
  color: #333;
  background: #fff;
  border: 2px solid;
  width: 24px;
  height: 24px;
}

.service-server-row strong {
  font-size: 13px;
  font-weight: 560;
}

.service-server-row > span:not(.server-avatar) {
  color: #555;
  text-align: center;
  font-size: 12px;
}

.service-server-row svg {
  color: #888;
  width: 13px;
  height: 13px;
}

.service-server-assigned > p, .service-server-unassigned > p {
  color: #777;
  margin: 0;
  padding: 18px 16px;
  font-size: 13px;
}

.service-server-error {
  color: #7d3028;
  background: #fbefec;
  margin: 0;
  padding: 10px 14px;
  font-size: 12px;
}

.service-server-add, .service-server-editor {
  padding: 16px;
}

.service-server-selection-body {
  flex: auto;
  min-height: 0;
  overflow-y: auto;
}

.service-server-no-tables {
  text-align: center;
  border-bottom: 1px solid #dfdfdf;
  flex-direction: column;
  align-items: center;
  min-height: 160px;
  padding: 34px 22px;
  display: flex;
}

.service-server-no-tables h3 {
  margin: 0;
  font-size: 18px;
}

.service-server-no-tables p {
  color: #666;
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.45;
}

.service-server-selection-body > section {
  border-bottom: 1px solid #dfdfdf;
  padding: 16px;
}

.service-server-selection-body > section h3 {
  margin: 0 0 10px;
  font-size: 14px;
}

.service-server-selection-body > section > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  display: grid;
}

.service-server-selection-body > section button {
  text-align: left;
  background: #f2f2f2;
  border: 1px solid #ddd;
  border-radius: 2px;
  grid-template-columns: minmax(0, 1fr) auto 14px;
  align-items: center;
  min-height: 40px;
  padding: 0 8px;
  font-size: 13px;
  display: grid;
}

.service-server-selection-body > section button small {
  color: #666;
  font-size: 11px;
}

.service-server-selection-body > section button svg {
  width: 12px;
  height: 12px;
}

.service-server-rotation-toggle {
  border-bottom: 1px solid #dfdfdf;
  justify-content: space-between;
  align-items: center;
  min-height: 59px;
  padding: 0 12px;
  font-size: 14px;
  display: flex;
}

.service-server-rotation-toggle [data-slot="switch"][data-state="checked"] {
  background: var(--blue);
}

.service-server-selection-footer, .service-server-details-footer {
  background: #fff;
  border-top: 1px solid #dfdfdf;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  padding: 8px 16px 17px;
  display: flex;
}

.service-server-selection-footer > button, .service-server-details-footer > button {
  background: var(--blue);
  color: #fff;
  border: 0;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  height: 43px;
  font-size: 14px;
  display: flex;
}

.service-server-selection-footer > button:disabled, .service-server-details-footer > button:disabled {
  opacity: .45;
}

.service-server-details-form {
  flex: auto;
  min-height: 0;
  padding: 22px 16px;
  overflow-y: auto;
}

.service-server-details-form > label {
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  display: flex;
}

.service-server-details-form > label + label {
  margin-top: 20px;
}

.service-server-details-form > label > p {
  color: #cc3737;
  margin: 2px 0 -17px;
  font-size: 12px;
}

.service-server-details-form input, .service-server-color-select {
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  height: 45px;
}

.service-server-details-form input {
  padding: 0 11px;
  font-size: 14px;
}

.service-server-color-select {
  align-items: center;
  padding-left: 14px;
  display: flex;
}

.service-server-color-select i {
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
}

.service-server-color-select select {
  color: #555;
  background: none;
  border: 0;
  outline: 0;
  width: 100%;
  height: 43px;
  padding: 0 10px;
  font-size: 14px;
}

.service-server-details-footer > button.danger {
  background: #cc3737;
}

.service-server-details-footer svg {
  width: 15px;
  height: 15px;
}

.service-server-add {
  border-bottom: 1px solid #dfdfdf;
}

.service-server-add > div:last-child, .server-editor-actions {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
  display: flex;
}

.server-color-options {
  gap: 8px;
  margin-top: 10px;
  display: flex;
}

.server-color-options > button {
  color: #fff;
  border: 2px solid #0000;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
}

.server-color-options > button.active {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #555;
}

.server-color-options svg {
  width: 14px;
  height: 14px;
}

.service-server-editor {
  min-height: 0;
  overflow-y: auto;
}

.service-server-editor > label:first-child {
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.service-server-editor fieldset {
  border: 0;
  margin: 18px 0;
  padding: 0;
}

.service-server-editor legend {
  font-size: 12px;
}

.server-toggle-row {
  font-size: 13px;
}

.server-table-assignment {
  border-top: 1px solid #dfdfdf;
  margin-top: 15px;
  padding-top: 16px;
}

.server-table-assignment header {
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  display: flex;
}

.server-table-assignment > div {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
  display: grid;
}

.server-table-assignment button {
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  height: 32px;
  font-size: 12px;
}

.server-table-assignment button.active {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}

.timeline-toggle-setting-group > p {
  color: #696969;
  margin: -9px 0 15px;
  font-size: 12px;
  line-height: 1.45;
}

.timeline-select-setting {
  border-top: 1px solid #e3e3e3;
  flex-direction: column;
  gap: 7px;
  padding: 14px 0 17px;
  font-size: 14px;
  display: flex;
}

.timeline-select-setting select {
  color: #222;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  height: 36px;
  padding: 0 9px;
  font-size: 13px;
}

.service-settings-sheet .timeline-toggle-setting {
  min-height: 43px;
}

.service-settings-sheet .timeline-toggle-setting-group > p {
  margin: 0 0 14px;
}

.reservation-item[draggable="true"] {
  cursor: grab;
}

@media (max-width: 820px) and (min-width: 521px) {
  .service-floor-content.has-activity {
    grid-template-columns: minmax(0, 1fr) 250px;
  }

  .service-activity-panel {
    width: 250px;
  }
}

@media (max-width: 520px) {
  .service-notify-dialog {
    height: 100dvh;
    max-height: none;
    width: 100vw !important;
    max-width: none !important;
  }

  .service-notify-grid {
    grid-template-columns: 1fr;
  }

  .service-notify-grid > label.full {
    grid-column: auto;
  }

  .service-grid.guest-filters-open > .guest-rail {
    display: none;
  }

  .floor-service-view.guest-filters-open .floor-view, .timeline-view.guest-filters-open > .service-guest-filters-panel {
    width: 100vw;
    height: calc(100dvh - 144px);
    margin: 0;
    padding: 0;
    display: block;
  }

  .floor-service-view.guest-filters-open .service-guest-filters-panel, .timeline-view.guest-filters-open > .service-guest-filters-panel {
    height: 100%;
    display: grid;
  }

  .service-guest-filter-columns {
    max-width: none;
    display: block;
  }

  .service-guest-filter-columns > div, .service-guest-filter-columns > div:last-child {
    border-left: 0;
    border-right: 0;
  }

  .floor-service-stack {
    height: calc(100dvh - 144px);
  }

  .floor-service-view .floor-view {
    display: none;
  }

  .floor-service-view .service-server-rail {
    width: 100vw;
    min-width: 0;
    height: calc(100dvh - 144px);
  }

  .service-batch-banner {
    display: none;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #261b19;
  background: #f8f4ee;
  margin: 0;
}

button, input, textarea {
  font: inherit;
}

button, a {
  -webkit-tap-highlight-color: transparent;
}

:root {
  --background: #f8f4ee;
  --foreground: #261b19;
  --card: #fffdf9;
  --card-foreground: #261b19;
  --popover: #fffdf9;
  --popover-foreground: #261b19;
  --primary: #721121;
  --primary-foreground: #fffaf2;
  --secondary: #eee0cb;
  --secondary-foreground: #721121;
  --muted: #f0ebe4;
  --muted-foreground: #766b63;
  --accent: #eee0cb;
  --accent-foreground: #721121;
  --destructive: #e40014;
  --border: #ded5ca;
  --input: #d7cdc2;
  --ring: #a5402d;
  --chart-1: #721121;
  --chart-2: #a5402d;
  --chart-3: #28587b;
  --chart-4: #baa898;
  --chart-5: #eee0cb;
  --radius: .75rem;
  --sidebar: #271a19;
  --sidebar-foreground: #f6eee4;
  --sidebar-primary: #eee0cb;
  --sidebar-primary-foreground: #721121;
  --sidebar-accent: #392725;
  --sidebar-accent-foreground: #fffaf2;
  --sidebar-border: #ffffff1a;
  --sidebar-ring: #baa898;
}

@supports (color: lab(0% 0 0)) {
  :root {
    --destructive: lab(48.4493% 77.4328 61.5452);
  }
}

.dark {
  --background: #0a0a0a;
  --foreground: #fafafa;
  --card: #171717;
  --card-foreground: #fafafa;
  --popover: #171717;
  --popover-foreground: #fafafa;
  --primary: #e5e5e5;
  --primary-foreground: #171717;
  --secondary: #262626;
  --secondary-foreground: #fafafa;
  --muted: #262626;
  --muted-foreground: #a1a1a1;
  --accent: #262626;
  --accent-foreground: #fafafa;
  --destructive: #ff6568;
  --border: #ffffff1a;
  --input: #ffffff26;
  --ring: #737373;
  --chart-1: #d4d4d4;
  --chart-2: #737373;
  --chart-3: #525252;
  --chart-4: #404040;
  --chart-5: #262626;
  --sidebar: #171717;
  --sidebar-foreground: #fafafa;
  --sidebar-primary: #1447e6;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #262626;
  --sidebar-accent-foreground: #fafafa;
  --sidebar-border: #ffffff1a;
  --sidebar-ring: #737373;
}

@supports (color: lab(0% 0 0)) {
  .dark {
    --background: lab(2.75381% 0 0);
    --foreground: lab(98.26% 0 0);
    --card: lab(7.78201% -.0000149012 0);
    --card-foreground: lab(98.26% 0 0);
    --popover: lab(7.78201% -.0000149012 0);
    --popover-foreground: lab(98.26% 0 0);
    --primary: lab(90.952% 0 -.0000119209);
    --primary-foreground: lab(7.78201% -.0000149012 0);
    --secondary: lab(15.204% 0 -.00000596046);
    --secondary-foreground: lab(98.26% 0 0);
    --muted: lab(15.204% 0 -.00000596046);
    --muted-foreground: lab(66.128% -.0000298023 .0000119209);
    --accent: lab(15.204% 0 -.00000596046);
    --accent-foreground: lab(98.26% 0 0);
    --destructive: lab(63.7053% 60.745 31.3109);
    --border: lab(100% 0 0 / .1);
    --input: lab(100% 0 0 / .15);
    --ring: lab(48.496% 0 0);
    --chart-1: lab(84.92% 0 -.0000119209);
    --chart-2: lab(48.496% 0 0);
    --chart-3: lab(34.924% 0 0);
    --chart-4: lab(27.036% 0 0);
    --chart-5: lab(15.204% 0 -.00000596046);
    --sidebar: lab(7.78201% -.0000149012 0);
    --sidebar-foreground: lab(98.26% 0 0);
    --sidebar-primary: lab(36.9089% 35.0961 -85.6872);
    --sidebar-primary-foreground: lab(98.26% 0 0);
    --sidebar-accent: lab(15.204% 0 -.00000596046);
    --sidebar-accent-foreground: lab(98.26% 0 0);
    --sidebar-border: lab(100% 0 0 / .1);
    --sidebar-ring: lab(48.496% 0 0);
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0)scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1))rotate(var(--tw-enter-rotate, 0));
    filter: blur(var(--tw-enter-blur, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0)scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1))rotate(var(--tw-exit-rotate, 0));
    filter: blur(var(--tw-exit-blur, 0));
  }
}

/*# sourceMappingURL=_043ck1n._.css.map*/