.waiter-access {
  color-scheme: dark;
  background: #0B1411;
  color: #E6F2EC;
  font-family: var(--font-body);
  margin: 0;
}
.waiter-access main { max-width: 46rem; margin: auto; padding: 1.25rem; }
.waiter-access [hidden] { display: none; }
.waiter-access h1, .waiter-access h2, .waiter-access h3 { font-family: var(--font-display); margin: 0 0 .6rem; }
.waiter-heading, .waiter-ticket-heading, .waiter-actions {
  display: flex; flex-wrap: wrap; gap: .65rem; justify-content: space-between; align-items: center;
}
.waiter-heading p { margin: 0 0 .3rem; color: #65D6A4; font-weight: 600; }
.waiter-panel, .waiter-ticket {
  background: #14231D; border: 1px solid #355446; border-radius: 1rem; padding: 1rem; margin-bottom: .75rem;
}
.waiter-access form, .waiter-access label { display: grid; gap: .45rem; }
.waiter-access form { gap: .85rem; }
.waiter-access fieldset { display: grid; gap: .85rem; border: 0; margin: 0; padding: 0; }
.waiter-access summary { cursor: pointer; padding-block: .45rem; }
.waiter-access details form, .waiter-access section section { margin-top: 1rem; }
.waiter-access :is(button, input, select) {
  box-sizing: border-box; min-height: 44px; max-width: 100%; padding: .55rem .8rem; font: inherit;
  color: inherit; background: #0e1a15; border: 1px solid #547466; border-radius: .65rem;
}
.waiter-access button { cursor: pointer; }
.waiter-access button:disabled { opacity: .65; cursor: wait; }
.waiter-access .waiter-primary { color: #062318; background: #77dfa7; font-weight: 600; }
.waiter-access :focus-visible { outline: 2px solid #8cf2bd; outline-offset: 3px; }
.waiter-ticket-heading h3 { margin: 0; }
.waiter-ticket { overflow-wrap: anywhere; }
.waiter-ticket ul { padding-inline-start: 1.15rem; }
.waiter-note { display: block; color: #ffda9e; margin-block: .25rem; }
.waiter-status { color: #f6d59f; background: #3b2d17; padding: .25rem .6rem; border-radius: 1rem; }
.waiter-status[data-status="preparing"] { color: #dce5ff; background: #263452; }
.waiter-status[data-status="ready"], .waiter-status[data-status="acknowledged"] { color: #b0f4cd; background: #204734; }
.waiter-access .premium-toast-fallback {
  position: fixed; inset: auto 1rem 1rem; padding: .8rem; background: #204734; border-radius: .7rem;
}
@media (prefers-reduced-motion: reduce) {
  .waiter-access .notyf * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
