@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap");
:root {
  --ink: #25332e;
  --muted: #839087;
  --green: #2e5b49;
  --green-dark: #234736;
  --line: #e4e8e2;
  --canvas: #f7f8f5;
  --sans: "DM Sans", Arial, sans-serif;
  --heading: "Manrope", Arial, sans-serif;
  --guest-accent: #2e5b49;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  color: inherit;
}
input,
select,
textarea {
  color: var(--ink);
  min-width: 0;
}
button:focus-visible,
a:focus-visible {
  outline: 3px solid #aac7b9;
  outline-offset: 3px;
}
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #b4ccbf;
  outline-offset: 1px;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-family: var(--heading);
  font-weight: 650;
}
h2 {
  font-size: 18px;
  letter-spacing: -0.5px;
}
h3 {
  font-size: 15px;
  letter-spacing: -0.25px;
}
.muted {
  color: #7c877f;
  line-height: 1.7;
  margin: 0 0 20px;
}
small {
  font-size: 11px;
}
.workspace {
  display: flex;
  min-height: 100vh;
}
.sidebar {
  width: 238px;
  position: fixed;
  left: 0;
  top: 0;
  height: 100dvh;
  z-index: 30;
  background: #fdfefb;
  border-right: 1px solid var(--line);
  padding: 35px 18px 17px;
  display: flex;
  flex-direction: column;
}
.brand {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  font-family: var(--heading);
  font-size: 25px;
  font-weight: 750;
  letter-spacing: -1.2px;
  position: relative;
}
.brand-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 33px;
  background: var(--green);
  border-radius: 9px;
  color: white;
}
.brand-dot {
  font-size: 9px;
  align-self: flex-start;
  margin: 3px 0 0 -5px;
}
.property-picker {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 12px 9px;
  margin: 34px 0 31px;
  box-shadow: 0 2px 3px #1c372704;
}
.property-avatar {
  width: 30px;
  height: 32px;
  display: grid;
  place-items: center;
  background: #ebe9dd;
  font-family: Georgia, serif;
  border-radius: 5px;
  color: #6e705c;
  font-size: 18px;
}
.property-picker > div {
  flex: 1;
  min-width: 0;
}
.property-picker small {
  display: block;
  font-size: 8px;
  letter-spacing: 1px;
  color: #8b928a;
  margin-bottom: 4px;
}
.property-picker select {
  border: 0;
  background: transparent;
  width: 100%;
  font-size: 11px;
  font-weight: 600;
  appearance: none;
  padding: 0;
}
.nav-label {
  font-size: 9px;
  letter-spacing: 1.3px;
  color: #929b92;
  padding: 0 13px;
  margin: 0 0 12px;
}
nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
nav > button,
.side-settings {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  padding: 13px 14px;
  width: 100%;
  border-radius: 7px;
  color: #748077;
  font-size: 12px;
  text-align: left;
}
nav > button.selected,
.side-settings.selected {
  background: #eaf0e8;
  color: #345845;
  font-weight: 650;
}
nav > button:hover,
.side-settings:hover {
  background: #f0f3ed;
}
.nav-count {
  background: #d7e3d3;
  color: #3e5a40;
  border-radius: 5px;
  min-width: 21px;
  text-align: center;
  padding: 2px 5px;
  margin-left: auto;
  font-size: 10px;
}
.nav-dot {
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: #a9b99c;
  margin-left: auto;
}
.sidebar-bottom {
  margin-top: auto;
  padding-top: 30px;
}
.trial-card {
  border: 1px solid #e5e9dd;
  border-radius: 8px;
  background: #f4f6ee;
  padding: 14px 12px;
  margin: 0 2px 16px;
}
.trial-card > div {
  display: flex;
  gap: 7px;
  align-items: center;
}
.trial-card strong {
  font-size: 10px;
  font-weight: 600;
}
.trial-card p {
  font-size: 10px;
  color: #8a9180;
  margin: 7px 0 12px;
}
.trial-card button {
  font-size: 10px;
  background: transparent;
  border: 0;
  padding: 0;
  display: flex;
  gap: 24px;
  align-items: center;
  font-weight: 600;
}
.side-settings {
  padding: 12px 15px;
  margin-bottom: 15px;
}
.profile {
  border: 0;
  background: transparent;
  border-top: 1px solid var(--line);
  padding: 18px 6px 0;
  display: flex;
  gap: 9px;
  align-items: center;
  width: 100%;
  text-align: left;
}
.avatar {
  width: 33px;
  height: 33px;
  display: inline-grid;
  place-items: center;
  background: #eadfd0;
  border: 2px solid #fff;
  color: #82705c;
  border-radius: 50%;
  font-size: 10px;
  flex-shrink: 0;
  font-weight: 600;
}
.profile strong {
  display: block;
  font-size: 10px;
  font-weight: 600;
}
.profile small {
  display: block;
  font-size: 9px;
  color: #91998d;
  margin-top: 3px;
}
.profile > svg {
  margin-left: auto;
  color: #9aa197;
}
.avatar.small {
  width: 29px;
  height: 29px;
  font-size: 9px;
}
.main-shell {
  margin-left: 238px;
  flex: 1;
  min-width: 0;
}
.topbar {
  height: 76px;
  border-bottom: 1px solid var(--line);
  background: #fdfefb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 38px;
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 11px;
  color: #969d95;
}
.breadcrumb span {
  color: #c6cbc1;
}
.breadcrumb strong {
  font-weight: 500;
  color: #536054;
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}
.sandbox-tag {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #9c8a60;
  font-size: 10px;
}
.sandbox-tag > span {
  width: 5px;
  height: 5px;
  background: #bcaa7d;
  border-radius: 50%;
}
.icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 5px;
  color: #8a948b;
  border-radius: 5px;
}
.icon-button:hover {
  background: #eef2e9;
}
.notification-button {
  position: relative;
}
.notification-button i {
  width: 5px;
  height: 5px;
  background: #b89961;
  border: 1px solid white;
  border-radius: 50%;
  position: absolute;
  right: 7px;
  top: 4px;
}
.top-divider {
  width: 1px;
  height: 23px;
  background: var(--line);
}
.main-content {
  max-width: 1590px;
  margin: 0 auto;
  padding: 36px 38px 20px;
}
.page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 29px;
}
.eyebrow {
  font-size: 10px;
  color: #869181;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.eyebrow > span {
  font-size: 8px;
  color: #b1b8a8;
}
.page-heading h1 {
  font-size: 28px;
  line-height: 1.35;
  letter-spacing: -1.05px;
  margin-bottom: 9px;
  font-weight: 650;
}
.page-heading p {
  color: #8a9488;
  font-size: 11px;
  line-height: 1.6;
}
.page-heading > .button {
  font-size: 10px;
  padding: 11px 14px;
  align-self: center;
  margin-top: 14px;
  white-space: nowrap;
}
.button {
  border-radius: 6px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 15px;
  font-size: 12px;
  font-weight: 550;
  transition: background 0.15s;
  line-height: 1.2;
  white-space: nowrap;
}
.button.primary {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
.button.primary:hover {
  background: var(--green-dark);
}
.button.light {
  background: #fdfefb;
  border-color: #e0e5dc;
  box-shadow: 0 1px 2px #162b1a03;
  color: #65725f;
}
.button.light:hover {
  background: #f1f5ed;
}
.button.small {
  font-size: 10px;
  padding: 9px 11px;
  gap: 6px;
}
.button.full {
  width: 100%;
}
.button.sound-on {
  background: #e7efe6;
  color: #39624b;
  border: 1px solid #d7e4d4;
}
.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
  margin-bottom: 30px;
}
.stat {
  padding: 19px 18px 13px;
  background: #fdfefb;
  border: 1px solid #e1e6dd;
  border-radius: 9px;
  box-shadow: 0 2px 4px #26352b02;
}
.stat.highlight {
  background: #f0f4e9;
  border-color: #dce4d2;
}
.stat-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  color: #819078;
}
.stat-label > span {
  color: #8a9b81;
}
.stat-value {
  font-family: var(--heading);
  font-size: 29px;
  line-height: 1.4;
  font-weight: 650;
  letter-spacing: -1px;
  margin-top: 10px;
  color: #374b38;
}
.stat > p {
  font-size: 9px;
  color: #8d9885;
  margin-top: 3px;
  line-height: 1.5;
}
.stat-trend {
  font-size: 8px;
  color: #8a967b;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 16px;
  padding-top: 10px;
  border-top: 1px solid #e9ede3;
}
.tiny-dot {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #79936f;
}
.stat-trend .tiny-dot {
  width: 3px;
  height: 3px;
}
.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 18px;
}
.section-heading h2 {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 17px;
}
.section-heading p {
  font-size: 10px;
  color: #8c9585;
  margin-top: 6px;
  line-height: 1.5;
}
.section-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.live-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #77916b;
  background: #edf3e9;
  border: 1px solid #e0e9d8;
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 8px;
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: 0;
}
.live-pill > span {
  background: #8ca97e;
  border-radius: 100%;
  width: 4px;
  height: 4px;
}
.orange-dot {
  width: 4px;
  height: 4px;
  display: inline-block;
  background: #caaa77;
  border-radius: 50%;
  margin-left: -3px;
}
.order-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 0 19px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
}
.tabs {
  display: flex;
  align-items: center;
  gap: 2px;
}
.tabs > button {
  border: 0;
  color: #8b9586;
  border-radius: 5px;
  background: transparent;
  padding: 9px 11px;
  font-size: 10px;
  white-space: nowrap;
}
.tabs > button.active {
  background: #e9eee2;
  color: #526448;
  font-weight: 600;
}
.tabs > button > span {
  margin-left: 6px;
  padding: 1px 4px;
  background: #dbe4cf;
  font-size: 8px;
  border-radius: 3px;
}
.toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.search {
  display: flex;
  align-items: center;
  background: #fdfefb;
  border: 1px solid #e1e6dc;
  border-radius: 6px;
  padding: 8px 10px;
  gap: 6px;
  color: #9aa492;
}
.search input {
  border: 0;
  outline: none;
  font-size: 9px;
  background: transparent;
  width: 116px;
  color: #687861;
}
.search input::placeholder {
  color: #9da694;
}
.filter-select {
  appearance: auto;
  border: 1px solid #e1e6dc;
  border-radius: 6px;
  padding: 9px;
  font-size: 9px;
  background: #fdfefb;
  color: #76836b;
}
.layout-toggle {
  border: 1px solid #e1e6dc;
  background: #fdfefb;
  padding: 7px;
}
.board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.board:has(.done) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.board:has(.done):not(:has(.new)) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.board:has(.done):not(:has(.new)) > .done {
  grid-column: 1/-1;
}
.board:has(.done):not(:has(.new)) .column-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.board-column {
  min-width: 0;
  background: #eef1e9;
  border: 1px solid #e6eadf;
  border-radius: 8px;
  padding: 13px 10px 10px;
}
.board-column.new {
  background: #f0f1eb;
}
.board-column.progress {
  background: #eef1e9;
}
.board-column.done {
  background: #edf1eb;
}
.column-title {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 3px 13px;
}
.status-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: #bba27c;
  flex-shrink: 0;
}
.status-dot.progress {
  background: #8c9c70;
}
.status-dot.done {
  background: #6e967c;
}
.column-title h3 {
  font-size: 11px;
  font-weight: 600;
  font-family: var(--sans);
}
.column-count {
  font-size: 9px;
  background: #e2e7d9;
  padding: 2px 5px;
  border-radius: 4px;
  color: #8b977d;
}
.column-title > svg {
  margin-left: auto;
  color: #a4ae99;
}
.column-cards {
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.order-card {
  background: #fdfefb;
  border: 1px solid #e0e5d9;
  box-shadow: 0 2px 3px #2d3a2803;
  border-radius: 7px;
  padding: 14px 14px 12px;
  min-width: 0;
}
.order-card.overdue {
  border-color: #dacaac;
}
.order-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 13px;
}
.order-number {
  font-size: 9px;
  color: #97a08c;
}
.order-age {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 8px;
  color: #9da58f;
}
.order-age.late {
  color: #bb9263;
}
.order-card h3 {
  font-size: 14px;
  font-weight: 650;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.room-guest {
  font: 9px var(--sans);
  color: #98a28c;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  max-width: 45%;
}
.order-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.dept-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 6px;
  border-radius: 4px;
  font-size: 8px;
  line-height: 1;
}
.dept-tag > i {
  width: 4px;
  height: 4px;
  border-radius: 100%;
}
.after-hours {
  font-size: 8px;
  display: flex;
  align-items: center;
  gap: 3px;
  color: #b19a72;
}
.order-items {
  padding: 14px 0 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  font-size: 10px;
  color: #607052;
}
.order-items > div {
  display: flex;
  gap: 8px;
}
.qty {
  color: #9ba58d;
  font-size: 9px;
  min-width: 12px;
}
.order-note {
  color: #9e9c7d;
  font-size: 9px;
  background: #f7f6ed;
  padding: 8px 9px;
  border-radius: 4px;
  line-height: 1.5;
  margin: 0 0 11px;
}
.order-card-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #edf0e6;
  padding: 11px 0 12px;
}
.order-card-bottom strong {
  font-size: 11px;
  font-weight: 600;
  color: #586749;
}
.order-card-bottom > span {
  font-size: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
  color: #9ba48c;
}
.order-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #355e46;
  color: #fff;
  width: 100%;
  border: 0;
  border-radius: 4px;
  padding: 9px;
  font-size: 9px;
  font-weight: 500;
}
.order-action:hover {
  background: #294a36;
}
.order-action.complete {
  background: #eff3e8;
  color: #758465;
  border: 1px solid #e1e7d7;
}
.late-alert,
.print-alert {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #b19872;
  font-size: 8px;
  padding: 0 0 9px;
  line-height: 1.4;
}
.print-alert {
  color: #a79578;
}
.done-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 9px;
  color: #8e9d7e;
  background: #f0f4eb;
  border-radius: 4px;
  padding: 9px;
}
.column-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 50px 14px;
  text-align: center;
  color: #b0bba2;
  min-height: 200px;
}
.column-empty strong {
  font-size: 10px;
  font-weight: 500;
}
.column-empty span {
  font-size: 9px;
  color: #a9b29c;
}
.board-footer {
  display: flex;
  justify-content: space-between;
  color: #a1aa95;
  font-size: 8px;
  padding-top: 13px;
  gap: 12px;
}
.board-footer > span:first-child {
  display: flex;
  align-items: center;
  gap: 5px;
}
.board-footer .status-dot {
  width: 4px;
  height: 4px;
}
.insight-strip {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid #e0e6d7;
  border-radius: 7px;
  background: #f1f4e9;
  margin: 26px 0 0;
  padding: 18px;
}
.insight-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #e0e7d6;
  border-radius: 8px;
  background: #f8faf3;
  color: #8b9c73;
  flex-shrink: 0;
}
.insight-strip strong {
  font-size: 11px;
  font-weight: 550;
  color: #6d8056;
}
.insight-strip p {
  font-size: 9px;
  color: #9aa58b;
  margin-top: 5px;
  line-height: 1.5;
}
.insight-strip button {
  display: flex;
  gap: 9px;
  align-items: center;
  border: 0;
  background: transparent;
  font-size: 9px;
  white-space: nowrap;
  margin-left: auto;
  color: #768b5d;
}
.page-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: 8px;
  color: #aab29e;
  margin: 28px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid #e4e9dc;
}
.page-footer > span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.page-footer > span:last-child {
  gap: 15px;
}
.list-layout {
  display: flex !important;
  flex-direction: column;
}
.list-layout .column-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: #1d2f285e;
  backdrop-filter: blur(4px);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px;
  overflow: auto;
}
.modal {
  width: 490px;
  max-width: 100%;
  max-height: 90dvh;
  overflow: auto;
  background: #fcfdf9;
  border: 1px solid #e2e7dc;
  border-radius: 14px;
  padding: 25px;
  box-shadow: 0 20px 70px #12302120;
}
.modal.wide {
  width: 850px;
}
.modal-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}
.modal-title h2 {
  font-size: 21px;
  letter-spacing: -0.7px;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 17px;
  min-width: 0;
}
.field > span {
  font-size: 11px;
  font-weight: 550;
  color: #64765d;
}
.field > small,
.field small {
  font-size: 10px;
  line-height: 1.6;
  color: #949f89;
  font-weight: 400;
}
.field input,
.field select,
.field textarea {
  border: 1px solid #dfe5d8;
  background: white;
  border-radius: 6px;
  min-height: 40px;
  padding: 10px;
  font-size: 12px;
  width: 100%;
}
.field input[type="color"] {
  padding: 4px;
  height: 40px;
}
.field textarea {
  min-height: 85px;
  resize: vertical;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.form-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}
.form-footer > .button {
  min-width: 150px;
}
.error {
  padding: 12px;
  background: #fff2ea;
  border: 1px solid #edd6c6;
  border-radius: 6px;
  color: #a06143;
  font-size: 12px;
  margin-bottom: 12px;
  line-height: 1.5;
}
.toast {
  position: fixed;
  z-index: 200;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  padding: 14px 20px;
  background: #2e4f3d;
  color: #fff;
  border: 1px solid #446b51;
  border-radius: 8px;
  box-shadow: 0 5px 30px #29452e33;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 90vw;
  font-size: 12px;
}
.empty {
  text-align: center;
  padding: 50px 25px;
  color: #8d9a81;
}
.empty h3 {
  font-size: 16px;
  margin: 10px 0;
}
.empty p {
  font-size: 12px;
  line-height: 1.6;
}
.empty-mark {
  font-size: 30px;
  color: #93aa82;
}
.loading-screen {
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 25px;
}
.loading-screen form {
  width: 300px;
}
.loading-screen p {
  font-size: 13px;
  color: #87967d;
}
.text-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  font-size: 11px;
  color: #658457;
  padding: 5px 0;
}
.info-banner {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #edf2e6;
  border: 1px solid #dde6d3;
  border-radius: 7px;
  padding: 15px;
  margin-bottom: 22px;
  color: #81946c;
}
.info-banner svg {
  flex-shrink: 0;
  margin-top: 1px;
}
.info-banner p {
  font-size: 11px;
  line-height: 1.7;
}
.info-banner strong {
  font-weight: 550;
  color: #637b4f;
}
.room-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.room-card {
  padding: 22px;
  background: #fdfefb;
  border: 1px solid var(--line);
  border-radius: 9px;
}
.room-card.occupied {
  border-color: #d9e3d1;
}
.room-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 23px;
}
.room-icon {
  color: #98a68b;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: #f1f4ea;
  border-radius: 9px;
}
.badge {
  font-size: 9px;
  padding: 5px 8px;
  display: inline-block;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1.4;
}
.badge.green {
  background: #e9f0e3;
  color: #779362;
}
.badge.amber {
  background: #f5efdf;
  color: #af9765;
}
.badge.neutral {
  background: #eef0e8;
  color: #9ca58f;
}
.room-card h3 {
  font-size: 19px;
  margin-bottom: 8px;
}
.room-card > p {
  color: #8e9b82;
  font-size: 12px;
  margin-bottom: 15px;
}
.checkout-time {
  display: flex;
  gap: 5px;
  font-size: 10px;
  color: #a0ab94;
  align-items: center;
  margin: 15px 0 22px;
}
.room-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-top: 1px solid #edf0e6;
  padding-top: 15px;
}
.room-actions .text-button {
  font-size: 9px;
}
.room-actions .button {
  font-size: 9px;
}
.search.standalone {
  margin-bottom: 20px;
  width: 290px;
}
.search.standalone input {
  width: 100%;
  font-size: 11px;
}
.qr-sheet {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 20px 0;
}
.qr-card {
  padding: 28px 18px;
  background: #fff;
  text-align: center;
  border: 1px solid #dbe4d3;
  border-radius: 10px;
  break-inside: avoid;
}
.qr-brand {
  font-family: Georgia, serif;
  font-size: 21px;
  color: #5e7750;
}
.qr-card h3 {
  font-size: 12px;
  margin: 14px 0 4px;
  color: #8fa17d;
}
.qr-card img {
  width: 190px;
  max-width: 100%;
  display: block;
  margin: 5px auto 10px;
}
.qr-card > strong {
  font-size: 15px;
}
.qr-card p {
  font-size: 10px;
  color: #97a08c;
  margin: 8px 0 12px;
}
.qr-card small {
  font-size: 9px;
  color: #a5ad9a;
  display: block;
}
.qr-card a {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #698951;
  margin-top: 15px;
}
.menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.menu-admin-card {
  display: flex;
  align-items: center;
  gap: 19px;
  background: #fdfefb;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 20px;
  min-width: 0;
}
.menu-emoji {
  display: grid;
  place-items: center;
  width: 85px;
  min-width: 85px;
  height: 110px;
  background: #f2eee3;
  border-radius: 7px;
  font-size: 36px;
}
.menu-emoji.drinks {
  background: #edeae3;
}
.menu-emoji.services {
  background: #ecf0e4;
}
.menu-admin-card > div:last-child {
  min-width: 0;
  flex: 1;
}
.menu-category {
  font-size: 9px;
  color: #a2ab95;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 9px;
}
.menu-admin-card h3 {
  font-size: 15px;
  margin: 5px 0 8px;
}
.menu-admin-card p {
  font-size: 10px;
  line-height: 1.6;
  color: #94a087;
}
.menu-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}
.menu-card-footer strong {
  font-size: 12px;
  color: #738660;
}
.menu-card-footer button {
  font-size: 10px;
}
.checkbox-field {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #7b8c6c;
  font-size: 11px;
  margin: 10px 0 20px;
}
.checkbox-field input {
  accent-color: var(--green);
}
.hours-editor {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 13px;
  border: 1px solid #e0e6d6;
  background: #f5f7ef;
  border-radius: 7px;
}
.hours-row {
  display: flex;
  flex-direction: column;
  gap: 9px;
  border-bottom: 1px solid #e2e8d8;
  padding-bottom: 12px;
}
.day-buttons {
  display: flex;
  gap: 5px;
}
.day-buttons button {
  background: #edf1e6;
  border: 1px solid #dbe3d1;
  color: #a1ad92;
  width: 27px;
  height: 27px;
  border-radius: 5px;
  font-size: 10px;
}
.day-buttons button.active {
  background: #dce7d1;
  color: #6a8455;
  border-color: #c7d8b8;
}
.hours-times {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hours-times input {
  padding: 6px;
  min-height: 33px;
  width: 115px;
}
.hours-times > span {
  font-size: 10px;
  color: #9ba98b;
}
.messages-panel {
  display: grid;
  grid-template-columns: 290px 1fr;
  background: #fdfefb;
  border: 1px solid var(--line);
  border-radius: 9px;
  min-height: 550px;
  overflow: hidden;
}
.conversation-list {
  border-right: 1px solid var(--line);
}
.conversation-list h3 {
  display: flex;
  justify-content: space-between;
  padding: 22px 17px;
  font-size: 12px;
}
.conversation-list h3 span {
  color: #a7b29c;
  font-weight: 400;
}
.conversation-list button {
  width: 100%;
  border: 0;
  border-top: 1px solid #edf0e8;
  background: transparent;
  padding: 17px;
  display: flex;
  align-items: center;
  gap: 11px;
  text-align: left;
}
.conversation-list button.active {
  background: #f0f4e8;
  box-shadow: inset 3px 0 #92a780;
}
.conversation-list button > div {
  min-width: 0;
  flex: 1;
}
.conversation-list strong {
  font-size: 11px;
  display: block;
  font-weight: 550;
}
.conversation-list small {
  display: block;
  font-size: 9px;
  color: #9eac90;
  margin-top: 5px;
  font-weight: 400;
}
.conversation-list p {
  font-size: 9px;
  color: #9eab91;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 9px;
}
.conversation {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.conversation-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.conversation-header h3 {
  font-size: 13px;
}
.conversation-header p {
  font-size: 10px;
  color: #9aaa8a;
  margin-top: 5px;
}
.conversation-header select {
  background: #f7f9f2;
  border: 1px solid #e0e6d7;
  border-radius: 4px;
  padding: 6px;
  font-size: 10px;
  color: #849976;
}
.chat-messages {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
  min-height: 320px;
  max-height: 55dvh;
  overflow: auto;
  padding: 24px;
}
.chat-bubble {
  padding: 13px 16px;
  background: #eef2e6;
  color: #778d65;
  max-width: 80%;
  border-radius: 9px 9px 9px 2px;
  align-self: flex-start;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.chat-bubble.staff {
  background: #3b6349;
  color: #fff;
  align-self: flex-end;
  border-radius: 9px 9px 2px 9px;
}
.chat-bubble small {
  display: block;
  font-size: 8px;
  opacity: 0.6;
  margin-top: 7px;
}
.chat-compose {
  display: flex;
  gap: 8px;
  padding: 15px 20px;
  border-top: 1px solid var(--line);
}
.chat-compose input {
  background: #f7f9f1;
  border: 1px solid #e0e6d7;
  border-radius: 6px;
  padding: 11px;
  flex: 1;
  font-size: 12px;
  min-width: 0;
}
.chat-compose input::placeholder {
  color: #a2b092;
}
.chat-footnote {
  font-size: 9px;
  text-align: center;
  color: #abb69d;
  padding: 0 10px 13px;
}
.panel {
  background: #fdfefb;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 24px;
  margin-bottom: 22px;
}
.chart-legend {
  display: flex;
  gap: 15px;
  font-size: 9px;
  color: #9ba98b;
}
.chart-legend span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.chart-legend i {
  width: 7px;
  height: 7px;
  border-radius: 2px;
}
.staffed-key {
  background: #bfd0aa;
}
.unstaffed-key {
  background: #5f8150;
}
.chart-area {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  gap: 15px;
  border-bottom: 1px solid #e7ecde;
  padding: 30px 20px 0;
  min-height: 275px;
}
.chart-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 35px;
  flex: 1;
}
.chart-day > strong {
  font-size: 10px;
  color: #7c906c;
  font-weight: 500;
}
.bar-space {
  height: 190px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
}
.stacked-bar {
  width: 55px;
  max-width: 80%;
  display: flex;
  flex-direction: column;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
}
.staffed-bar {
  background: #c6d4b3;
  min-height: 0;
}
.unstaffed-bar {
  background: #74955f;
  min-height: 0;
}
.chart-day > span {
  font-size: 9px;
  color: #9daa8e;
  padding: 13px 0;
}
.report-table {
  overflow: auto;
}
.report-table h2 {
  margin-bottom: 23px;
}
.report-table table {
  border-collapse: collapse;
  width: 100%;
  font-size: 11px;
  text-align: left;
  white-space: nowrap;
}
.report-table th {
  color: #a2ad95;
  font-weight: 400;
  font-size: 10px;
  background: #f7f9f2;
  padding: 12px 15px;
}
.report-table td {
  padding: 17px 15px;
  border-bottom: 1px solid #edf0e7;
  color: #849673;
}
.green-text {
  color: #668b50;
  background: #eff4e7;
  padding: 5px 8px;
  border-radius: 4px;
}
.settings-tabs {
  margin-bottom: 25px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--line);
}
.settings-panel {
  max-width: 760px;
  padding: 30px;
}
.settings-panel > h2 {
  font-size: 22px;
  margin-bottom: 10px;
}
.settings-panel > p {
  font-size: 12px;
  margin-bottom: 30px;
}
.settings-panel h3 {
  margin: 25px 0 20px;
  color: #6a815a;
}
.settings-panel hr {
  border: 0;
  border-top: 1px solid #e5ebdb;
  margin-top: 25px;
}
.department-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.department-card {
  margin-bottom: 0;
}
.department-card h3 {
  margin: 24px 0 15px;
  font-size: 12px;
}
.department-card p {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #a0ae92;
  gap: 12px;
  margin: 10px 0;
}
.department-card p strong {
  font-weight: 500;
  color: #768d65;
}
.department-card > small {
  color: #a6b299;
  display: block;
  margin: 17px 0;
}
.department-card > .button {
  font-size: 10px;
  margin-top: 14px;
}
.integration-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.integration-card {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.integration-card > h3 {
  font-size: 19px;
  margin: 18px 0 7px;
}
.integration-card > small {
  color: #96a585;
  font-size: 9px;
}
.integration-card > p {
  font-size: 11px;
  color: #9aa88b;
  line-height: 1.7;
  margin: 18px 0 23px;
  flex: 1;
}
.integration-card > .button {
  font-size: 10px;
}
.printer-row {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 19px 0;
  border-bottom: 1px solid #e8edde;
  color: #9dad8b;
}
.printer-row > div {
  flex: 1;
}
.printer-row strong {
  font-size: 12px;
  font-weight: 550;
  color: #768e63;
  display: block;
}
.printer-row small {
  font-size: 10px;
  display: block;
  margin-top: 6px;
}
.printer-row:last-child {
  border-bottom: 0;
}
.printer-row > .button {
  font-size: 9px;
}
.ticket-log > h2 {
  margin-bottom: 15px;
}
.job-row {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 16px 0;
  border-bottom: 1px solid #e8edde;
}
.job-row > div {
  flex: 1;
  min-width: 0;
}
.job-row strong {
  font-size: 11px;
  color: #899a77;
  font-weight: 500;
}
.job-row small {
  display: block;
  font-size: 9px;
  color: #a7b397;
  margin-top: 6px;
  overflow-wrap: anywhere;
}
.billing-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding: 30px;
  background: #f1f5e8;
}
.billing-summary h2 {
  font-size: 23px;
  margin: 17px 0 12px;
}
.billing-summary p {
  font-size: 12px;
  color: #99a98a;
}
.billing-summary > svg {
  color: #a1b68d;
}
.plan-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.plan-card {
  padding: 30px;
  margin-bottom: 10px;
}
.plan-card.chosen {
  border-color: #9fb88a;
}
.plan-card > h2 {
  font-size: 25px;
}
.plan-card > p {
  font-size: 12px;
  color: #9caa8e;
  margin: 15px 0 25px;
}
.plan-price {
  font-size: 16px;
  color: #809a6d;
  border-top: 1px solid #e5ebda;
  border-bottom: 1px solid #e5ebda;
  padding: 18px 0;
}
.plan-card ul {
  list-style: none;
  padding: 0;
  margin: 25px 0;
  display: flex;
  flex-direction: column;
  gap: 17px;
}
.plan-card li {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 11px;
  color: #94a382;
}
.billing-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.billing-actions > span {
  color: #a7b399;
  font-size: 9px;
}
.detail-box {
  background: #f0f4e9;
  padding: 20px;
  border: 1px solid #e1e8d5;
  border-radius: 7px;
  margin-bottom: 20px;
}
.detail-box strong {
  font-size: 13px;
  color: #81996d;
}
.detail-box p {
  font-size: 12px;
  color: #96a788;
  line-height: 1.7;
  margin-top: 10px;
}
.detail-box small {
  color: #a6b697;
  font-size: 9px;
}
.activity-list {
  max-height: 65vh;
  overflow: auto;
}
.activity-list > div {
  display: flex;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid #e5ecda;
}
.activity-mark {
  background: #edf3e3;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #8ca778;
  flex-shrink: 0;
}
.activity-list p {
  font-size: 12px;
  color: #82996c;
  line-height: 1.6;
}
.activity-list small {
  display: block;
  color: #a8b897;
  font-size: 9px;
  margin-top: 5px;
}
.mobile-toggle,
.mobile-close {
  display: none;
}
.wrap {
  flex-wrap: wrap;
}
.spin {
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* Guest portal */
.guest-shell {
  max-width: 670px;
  margin: auto;
  background: #fcfcf7;
  min-height: 100dvh;
  padding: 0 32px;
  color: #334435;
  padding-bottom: 100px;
}
.guest-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0 18px;
}
.guest-property {
  display: flex;
  gap: 9px;
  align-items: center;
  font-family: Georgia, serif;
  font-size: 21px;
  letter-spacing: -0.4px;
  color: var(--guest-accent);
}
.guest-property > svg {
  stroke-width: 1.4;
}
.language-picker {
  display: flex;
  align-items: center;
  gap: 3px;
  color: #9aa68e;
  font-size: 10px;
}
.language-picker select {
  border: 0;
  background: transparent;
  font-size: 10px;
  color: #859975;
  padding: 4px;
}
.guest-location {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  color: #a2ac96;
  margin-bottom: 15px;
}
.guest-location .tiny-dot {
  background: #a6b88d;
}
.guest-location > span:nth-child(2) {
  color: #c3ccb7;
}
.guest-demo {
  font-size: 9px;
  color: #b19f78;
  background: #f6f2e6;
  padding: 8px 12px;
  text-align: center;
  border-radius: 5px;
  margin: 12px 0 16px;
}
.guest-tabs {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e3e9d9;
  padding-bottom: 12px;
  gap: 6px;
}
.guest-tabs button {
  background: transparent;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1;
  padding: 9px 5px;
  font-size: 10px;
  color: #a1b090;
  border-radius: 5px;
}
.guest-tabs button.active {
  background: #ecf1e4;
  color: var(--guest-accent);
  font-weight: 600;
}
.guest-tabs button > span {
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 8px;
  background: #dce8ce;
}
.guest-welcome {
  position: relative;
  padding: 38px 0 28px;
  overflow: hidden;
  border-bottom: 1px solid #e6ebdc;
  margin-bottom: 22px;
}
.guest-eyebrow {
  text-transform: uppercase;
  font-size: 8px;
  letter-spacing: 1.8px;
  color: #a6b595;
  margin-bottom: 14px;
}
.guest-welcome h1 {
  font-family: Georgia, serif;
  font-size: 39px;
  font-weight: 400;
  line-height: 1.1;
  max-width: 360px;
  letter-spacing: -1.2px;
  color: var(--guest-accent);
  position: relative;
  z-index: 1;
}
.guest-welcome p {
  font-size: 11px;
  line-height: 1.8;
  color: #a1af92;
  max-width: 290px;
  margin-top: 16px;
  position: relative;
  z-index: 1;
}
.welcome-art {
  position: absolute;
  right: -5px;
  top: 35px;
  width: 170px;
  height: 170px;
  color: #c6d2b6;
  transform: rotate(8deg);
  opacity: 0.7;
}
.welcome-art svg {
  width: 100%;
}
.guest-categories {
  display: flex;
  gap: 8px;
  overflow: auto;
  scrollbar-width: none;
  margin-bottom: 21px;
}
.guest-categories button {
  border: 1px solid #e3e9d8;
  background: #fdfef9;
  border-radius: 30px;
  white-space: nowrap;
  padding: 10px 19px;
  font-size: 10px;
  color: #99aa86;
}
.guest-categories button.active {
  color: #fff;
  border-color: var(--guest-accent);
  background: var(--guest-accent);
}
.guest-menu {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.guest-menu-item {
  display: flex;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid #e7ecde;
}
.guest-menu-item:first-child {
  padding-top: 0;
}
.guest-item-art {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 106px;
  height: 115px;
  background: #f1ede1;
  border-radius: 9px;
  flex-shrink: 0;
  overflow: hidden;
}
.guest-item-art > span {
  font-size: 49px;
  filter: drop-shadow(3px 6px 4px #5d523415);
  transform: rotate(-8deg);
}
.guest-item-art.drinks {
  background: #ecebe1;
}
.guest-item-art.drinks > span {
  transform: rotate(7deg);
}
.guest-item-art.services {
  background: #eaf0e1;
}
.guest-item-text {
  flex: 1;
  min-width: 0;
  padding: 3px 0;
  display: flex;
  flex-direction: column;
}
.guest-item-text h3 {
  font-size: 15px;
  color: #687e56;
  font-weight: 600;
  line-height: 1.4;
}
.guest-item-text p {
  font-size: 10px;
  line-height: 1.65;
  color: #a7b394;
  margin-top: 7px;
  max-width: 280px;
}
.guest-item-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  padding-top: 9px;
}
.guest-item-bottom strong {
  font-size: 12px;
  color: #809d65;
  font-weight: 550;
}
.add-item {
  width: 28px;
  height: 28px;
  border: 1px solid #d9e4cb;
  background: #f6f8f0;
  color: var(--guest-accent);
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.add-item:hover {
  background: #e4edd9;
}
.stepper {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dbe6cd;
  border-radius: 20px;
  padding: 4px;
  background: #f6f9f0;
  font-size: 11px;
  color: #719154;
}
.stepper button {
  border: 0;
  display: grid;
  place-items: center;
  background: transparent;
  padding: 2px;
  color: var(--guest-accent);
  width: 18px;
}
.stepper > span {
  min-width: 9px;
  text-align: center;
}
.guest-upsells {
  padding: 30px 0;
}
.guest-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #8ba776;
  margin-bottom: 19px;
}
.guest-section-title h2 {
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -0.3px;
}
.upsell-scroll {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 12px;
}
.guest-upsell {
  min-width: 210px;
  width: 210px;
  border: 1px solid #dfe8d3;
  border-radius: 10px;
  background: #f5f7ed;
  padding: 17px;
  display: flex;
  flex-direction: column;
}
.upsell-art {
  font-size: 34px;
  padding: 8px 0 19px;
}
.guest-upsell h3 {
  font-size: 14px;
  color: #7b9566;
}
.guest-upsell p {
  font-size: 10px;
  line-height: 1.7;
  color: #a1b18e;
  margin: 9px 0 18px;
  flex: 1;
}
.guest-upsell > div:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.guest-upsell strong {
  font-size: 12px;
  color: #809d65;
}
.guest-footer {
  text-align: center;
  padding: 28px 0 20px;
  border-top: 1px solid #e6ecda;
  color: #b0bd9e;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.guest-footer strong {
  font-family: Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  color: #9db189;
  margin-top: 8px;
}
.guest-footer p {
  font-size: 8px;
  margin: 14px 0 10px;
}
.guest-footer small {
  font-size: 8px;
  max-width: 300px;
  line-height: 1.5;
}
.guest-footer > span {
  font-size: 8px;
  margin-top: 23px;
  color: #bdc7ae;
}
.guest-footer b {
  font-family: var(--heading);
  font-size: 10px;
  font-weight: 600;
}
.basket-dock {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 670px;
  margin: auto;
  padding: 18px 30px 23px;
  background: linear-gradient(transparent, #fcfcf7 30%);
  z-index: 40;
}
.basket-dock > button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: var(--guest-accent);
  color: #fff;
  border: 1px solid #ffffff22;
  border-radius: 8px;
  padding: 15px 17px;
  box-shadow: 0 4px 20px #294e2f20;
  font-size: 12px;
}
.basket-dock > button > strong {
  font-size: 11px;
  font-weight: 500;
  margin-right: auto;
}
.basket-dock > button > span:nth-last-child(2) {
  font-size: 12px;
}
.basket-count {
  background: #ffffff18;
  border: 1px solid #ffffff28;
  border-radius: 4px;
  padding: 3px 7px;
  font-size: 10px;
}
.basket-lines {
  margin-bottom: 20px;
}
.basket-lines > div {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid #e4ecda;
}
.basket-item-emoji {
  width: 35px;
  height: 40px;
  background: #f1f4e7;
  display: grid;
  place-items: center;
  border-radius: 6px;
  font-size: 22px;
}
.basket-lines > div > div:nth-child(2) {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.basket-lines strong {
  font-size: 12px;
  color: #7d9769;
  font-weight: 550;
}
.basket-lines > div > div > span {
  font-size: 10px;
  color: #9cb085;
}
.payment-choices {
  display: flex;
  gap: 10px;
  margin-top: 22px;
}
.payment-choices button {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  background: #fbfdf6;
  border: 1px solid #dfe9d2;
  border-radius: 7px;
  padding: 14px 10px;
  color: #a6b796;
}
.payment-choices strong {
  font-size: 11px;
  font-weight: 500;
  text-align: left;
}
.payment-choices button.active {
  border-color: #a3bd8b;
  background: #f0f6e7;
  color: #7d9b64;
}
.payment-choices button > span {
  margin-left: auto;
  display: grid;
  place-items: center;
}
.payment-choices button i {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid #d5e2c7;
}
.payment-demo-note {
  font-size: 9px;
  line-height: 1.6;
  color: #b1a178;
  background: #f9f6e9;
  padding: 10px;
  border-radius: 4px;
  margin: 15px 0;
}
.basket-total {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e2ebd5;
  padding: 20px 0;
  color: #7d9868;
  font-size: 14px;
}
.basket-total > strong {
  font-family: var(--heading);
  font-size: 20px;
  font-weight: 600;
}
.guest-checkout {
  background: var(--guest-accent) !important;
  border-color: var(--guest-accent) !important;
  padding: 15px;
  font-size: 12px;
}
.guest-orders {
  padding: 24px 0 30px;
}
.guest-order-card {
  padding: 20px;
  border: 1px solid #dfe9d1;
  border-radius: 9px;
  background: #fdfef9;
  margin-bottom: 17px;
}
.guest-order-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 23px;
}
.guest-order-top h3 {
  font-size: 13px;
  color: #809b6c;
}
.guest-order-top > span {
  font-size: 9px;
  color: #abbc98;
}
.guest-progress {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 12px;
}
.guest-progress > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  position: relative;
  flex: 1;
  color: #becab0;
}
.guest-progress > div > span {
  display: grid;
  place-items: center;
  background: #f0f5e7;
  border: 1px solid #dfe9d2;
  border-radius: 50%;
  width: 23px;
  height: 23px;
  font-size: 8px;
  z-index: 1;
}
.guest-progress > div.active {
  color: #819f6b;
}
.guest-progress > div.active > span {
  background: #7f9b68;
  color: white;
  border-color: #7f9b68;
}
.guest-progress > div small {
  font-size: 8px;
  text-align: center;
}
.guest-progress > div:after {
  content: "";
  height: 1px;
  background: #e4ecd9;
  width: 110%;
  position: absolute;
  top: 12px;
  left: 50%;
}
.guest-progress > div:last-child:after {
  display: none;
}
.guest-order-lines {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 11px;
  color: #99b080;
}
.guest-order-lines > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.guest-order-lines strong {
  font-weight: 500;
}
.guest-order-notes {
  font-size: 10px;
  color: #a7b992;
  margin-top: 18px;
  padding: 10px;
  border-radius: 4px;
  background: #f5f8ef;
}
.guest-order-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #e4edd8;
  margin-top: 20px;
  padding-top: 16px;
  color: #9cb087;
  font-size: 10px;
}
.guest-order-total strong {
  font-size: 14px;
  color: #7f9a6b;
  font-weight: 550;
}
.order-received {
  text-align: center;
  padding: 16px 15px 32px;
}
.order-received > span {
  display: grid;
  place-items: center;
  color: #8ba775;
  background: #eff6e6;
  border: 1px solid #dfebd0;
  border-radius: 50%;
  width: 55px;
  height: 55px;
  margin: auto auto 19px;
}
.order-received h2 {
  font-family: Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  color: #799667;
}
.order-received p {
  font-size: 11px;
  line-height: 1.8;
  color: #a2b58f;
  margin: 12px auto 20px;
  max-width: 290px;
}
.guest-chat {
  display: flex;
  flex-direction: column;
  gap: 13px;
  max-height: 50vh;
  overflow: auto;
  min-height: 190px;
  padding: 10px 0 23px;
}
.guest-expired {
  min-height: 100dvh;
  max-width: 430px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 30px;
  color: #789365;
  gap: 25px;
}
.guest-logo {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border: 1px solid #dfe9d0;
  background: #edf4e3;
  border-radius: 50%;
  color: #83a06e;
}
.guest-expired h1 {
  font-family: Georgia, serif;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: -0.7px;
}
.guest-expired p {
  font-size: 13px;
  line-height: 1.9;
  color: #9eb28b;
}
.guest-powered {
  font-size: 16px;
  color: #a7ba96;
  font-weight: 650;
  margin-top: 50px;
}
@media (min-width: 1500px) {
  .board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .main-content {
    padding-left: 45px;
    padding-right: 45px;
  }
  .order-card {
    padding: 18px;
  }
  .column-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
  .board:has(.done) .column-cards {
    display: flex;
  }
  .stat-value {
    font-size: 34px;
  }
}
@media (max-width: 1150px) {
  .sidebar {
    width: 205px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .main-shell {
    margin-left: 205px;
  }
  .main-content {
    padding: 28px 24px;
  }
  .topbar {
    padding: 0 24px;
  }
  .page-heading h1 {
    font-size: 25px;
  }
  .stat-grid {
    gap: 10px;
  }
  .stat {
    padding: 16px 12px 12px;
  }
  .stat-value {
    font-size: 25px;
  }
  .stat-label {
    font-size: 9px;
  }
  .stat-label svg {
    width: 14px;
  }
  .stat > p {
    font-size: 8px;
  }
  .stat-trend {
    font-size: 7px;
  }
  .toolbar-right .search {
    display: none;
  }
  .order-toolbar .tabs > button {
    padding: 9px;
    font-size: 9px;
  }
  .room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .menu-admin-card {
    gap: 12px;
    padding: 16px;
  }
  .menu-emoji {
    width: 65px;
    min-width: 65px;
    font-size: 30px;
  }
  .menu-admin-card h3 {
    font-size: 13px;
  }
  .menu-grid {
    gap: 12px;
  }
  .integration-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .messages-panel {
    grid-template-columns: 230px 1fr;
  }
  .list-layout .column-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .board:has(.done) {
    gap: 12px;
  }
  .board:has(.done) .order-card {
    padding: 12px;
  }
  .board:has(.done) .room-guest {
    display: none;
  }
}
@media (max-width: 850px) {
  .sidebar {
    width: 190px;
  }
  .main-shell {
    margin-left: 190px;
  }
  .brand {
    font-size: 22px;
    gap: 7px;
  }
  .brand-icon {
    width: 29px;
    height: 30px;
  }
  .property-picker {
    padding: 10px 6px;
    gap: 6px;
  }
  .property-picker select {
    font-size: 10px;
  }
  .property-avatar {
    width: 27px;
    height: 28px;
  }
  nav > button {
    font-size: 11px;
    padding: 12px 11px;
    gap: 9px;
  }
  .trial-card strong {
    font-size: 9px;
  }
  .trial-card {
    padding: 12px 9px;
  }
  .trial-card p {
    font-size: 9px;
  }
  .page-heading {
    align-items: flex-start;
  }
  .page-heading > .button {
    font-size: 8px;
    padding: 9px;
    gap: 4px;
    margin-top: 22px;
  }
  .page-heading > .button > svg {
    width: 12px;
  }
  .page-heading h1 {
    font-size: 23px;
  }
  .page-heading p {
    font-size: 10px;
    max-width: 320px;
  }
  .stat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .stat-value {
    font-size: 28px;
  }
  .stat-label {
    font-size: 10px;
  }
  .stat > p {
    font-size: 9px;
  }
  .stat-trend {
    font-size: 8px;
    margin-top: 10px;
  }
  .main-content {
    padding: 25px 21px;
  }
  .board {
    gap: 12px;
  }
  .board-column {
    padding: 11px 8px 8px;
  }
  .order-card {
    padding: 12px 10px 10px;
  }
  .order-card .room-guest {
    display: none;
  }
  .order-card h3 {
    font-size: 13px;
  }
  .order-items {
    font-size: 9px;
  }
  .order-meta {
    gap: 5px;
  }
  .order-card-bottom > span {
    font-size: 7px;
  }
  .order-age {
    font-size: 7px;
  }
  .board:has(.done) {
    display: flex;
    flex-wrap: wrap;
  }
  .board:has(.done) > .board-column {
    flex: 1;
    min-width: 200px;
  }
  .board:has(.done):not(:has(.new)) .column-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .insight-strip {
    padding: 14px;
    gap: 10px;
  }
  .insight-strip strong {
    font-size: 10px;
  }
  .insight-strip p {
    font-size: 8px;
  }
  .insight-strip button {
    font-size: 8px;
  }
  .insight-icon {
    width: 30px;
    height: 30px;
  }
  .menu-grid {
    grid-template-columns: 1fr;
  }
  .menu-emoji {
    width: 95px;
    min-width: 95px;
    font-size: 40px;
  }
  .messages-panel {
    grid-template-columns: 180px 1fr;
  }
  .conversation-list button {
    padding: 14px 10px;
    gap: 6px;
  }
  .conversation-list .avatar {
    display: none;
  }
  .conversation-list strong {
    font-size: 10px;
  }
  .conversation-list small {
    font-size: 8px;
  }
  .conversation-header {
    padding: 17px;
  }
  .chat-messages {
    padding: 16px;
  }
  .chat-compose {
    padding: 12px;
  }
  .chat-compose > .button > span {
    display: none;
  }
  .chat-bubble {
    max-width: 95%;
    font-size: 11px;
  }
  .settings-panel {
    padding: 22px;
  }
  .department-grid {
    grid-template-columns: 1fr;
  }
  .plan-card {
    padding: 23px;
  }
  .plan-card li {
    font-size: 10px;
  }
  .plan-price {
    font-size: 13px;
  }
  .chart-legend {
    flex-direction: column;
    gap: 6px;
  }
  .printer-row {
    gap: 10px;
    flex-wrap: wrap;
  }
  .printer-row strong {
    font-size: 10px;
  }
  .printer-row small {
    font-size: 8px;
  }
  .eyebrow {
    font-size: 8px;
  }
}
@media (max-width: 650px) {
  .sidebar {
    left: -255px;
    width: 238px;
    transition: left 0.2s;
    box-shadow: 10px 0 60px #152d2222;
  }
  .sidebar.open {
    left: 0;
  }
  .sidebar .brand {
    font-size: 25px;
  }
  .main-shell {
    margin-left: 0;
  }
  .mobile-toggle {
    display: inline-flex;
  }
  .mobile-close {
    display: block;
    position: absolute;
    right: 12px;
    top: 12px;
  }
  .topbar {
    height: 60px;
    padding: 0 19px;
    gap: 12px;
  }
  .breadcrumb {
    margin-right: auto;
    font-size: 10px;
    gap: 10px;
  }
  .top-actions {
    gap: 13px;
  }
  .top-divider {
    display: none;
  }
  .top-actions > .avatar {
    display: none;
  }
  .main-content {
    padding: 27px 18px;
  }
  .page-heading {
    position: relative;
    margin-bottom: 23px;
    gap: 10px;
  }
  .page-heading h1 {
    font-size: 25px;
    letter-spacing: -1px;
  }
  .page-heading p {
    font-size: 10px;
    max-width: 290px;
  }
  .eyebrow {
    font-size: 8px;
  }
  .page-heading > .button {
    position: absolute;
    right: 0;
    top: -5px;
    margin: 0;
    padding: 4px;
    border: 0;
    box-shadow: none;
    background: transparent;
    font-size: 0;
    gap: 4px;
  }
  .page-heading > .button > svg {
    width: 13px;
    height: 13px;
  }
  .page-heading > .button > svg:last-child {
    display: none;
  }
  .stat-grid {
    margin-bottom: 25px;
    gap: 10px;
  }
  .stat {
    padding: 14px 13px 10px;
  }
  .stat-label {
    font-size: 9px;
  }
  .stat-value {
    font-size: 27px;
    margin-top: 8px;
  }
  .stat > p {
    font-size: 8px;
  }
  .stat-trend {
    font-size: 7px;
    padding-top: 8px;
    margin-top: 10px;
  }
  .section-heading {
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
  }
  .section-heading h2 {
    font-size: 16px;
  }
  .section-heading p {
    font-size: 9px;
  }
  .section-actions {
    gap: 5px;
  }
  .section-actions .button {
    font-size: 9px;
    padding: 8px;
    gap: 5px;
  }
  .section-actions .button svg {
    width: 13px;
  }
  .section-actions .button > span {
    font-size: 8px;
  }
  .order-toolbar {
    flex-wrap: wrap;
    padding-bottom: 14px;
    gap: 13px;
  }
  .toolbar-right {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .toolbar-right .search {
    display: flex;
    flex: 1;
  }
  .toolbar-right .search input {
    width: 100%;
    font-size: 9px;
  }
  .filter-select {
    font-size: 9px;
  }
  .layout-toggle {
    display: none;
  }
  .tabs > button {
    font-size: 9px;
    padding: 9px;
  }
  .board {
    display: flex;
    flex-direction: column;
  }
  .board-column {
    padding: 13px 10px 10px;
  }
  .column-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    align-items: start;
  }
  .order-card {
    padding: 12px 10px;
  }
  .order-items {
    font-size: 9px;
    gap: 8px;
  }
  .board:has(.done) {
    display: flex;
    flex-wrap: nowrap;
  }
  .board:has(.done) > .board-column {
    min-width: 0;
  }
  .board:has(.done) .column-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .board:has(.done) .order-card {
    padding: 12px 10px;
  }
  .board-footer {
    font-size: 7px;
    line-height: 1.6;
  }
  .insight-strip {
    padding: 15px;
    position: relative;
    align-items: flex-start;
    gap: 9px;
  }
  .insight-strip > div {
    padding-bottom: 19px;
  }
  .insight-strip strong {
    font-size: 10px;
    line-height: 1.7;
  }
  .insight-strip p {
    font-size: 9px;
    line-height: 1.7;
  }
  .insight-strip button {
    position: absolute;
    right: 16px;
    bottom: 12px;
    font-size: 9px;
  }
  .page-footer {
    font-size: 7px;
    margin-top: 22px;
    padding-top: 15px;
    gap: 5px;
  }
  .page-footer > span:last-child {
    max-width: 150px;
    text-align: right;
    line-height: 1.6;
  }
  .room-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }
  .room-card {
    padding: 15px 12px;
  }
  .room-top {
    margin-bottom: 18px;
  }
  .room-icon {
    width: 30px;
    height: 30px;
  }
  .room-icon > svg {
    width: 19px;
  }
  .room-card h3 {
    font-size: 16px;
  }
  .room-card > p {
    font-size: 10px;
  }
  .checkout-time {
    font-size: 8px;
    align-items: flex-start;
    line-height: 1.6;
    margin: 12px 0;
  }
  .checkout-time > svg {
    flex-shrink: 0;
    width: 11px;
    margin-top: 1px;
  }
  .room-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
  }
  .room-actions .button {
    font-size: 9px;
  }
  .room-actions .text-button {
    font-size: 8px;
    align-self: center;
  }
  .room-card > .button {
    font-size: 9px;
    padding: 10px 6px;
  }
  .room-card .badge {
    font-size: 7px;
    padding: 4px;
  }
  .info-banner {
    padding: 12px;
    gap: 8px;
  }
  .info-banner p {
    font-size: 10px;
  }
  .search.standalone {
    width: 100%;
  }
  .menu-admin-card {
    padding: 16px;
    gap: 15px;
  }
  .menu-emoji {
    width: 74px;
    min-width: 74px;
    height: 100px;
    font-size: 34px;
  }
  .menu-admin-card p {
    font-size: 9px;
  }
  .menu-admin-card h3 {
    font-size: 13px;
  }
  .menu-category {
    font-size: 8px;
  }
  .menu-card-footer {
    margin-top: 10px;
  }
  .menu-card-footer strong {
    font-size: 11px;
  }
  .modal-backdrop {
    padding: 16px;
    align-items: center;
  }
  .modal {
    padding: 22px;
    max-height: 90dvh;
    border-radius: 12px;
  }
  .modal-title h2 {
    font-size: 19px;
  }
  .modal-title {
    margin-bottom: 20px;
  }
  .form-grid {
    gap: 10px;
  }
  .field {
    margin-bottom: 15px;
  }
  .field > span {
    font-size: 10px;
  }
  .field input,
  .field select,
  .field textarea {
    font-size: 12px;
  }
  .qr-sheet {
    grid-template-columns: 1fr;
  }
  .messages-panel {
    display: flex;
    flex-direction: column;
    min-height: 70dvh;
  }
  .conversation-list {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    display: flex;
    overflow: auto;
    flex-shrink: 0;
  }
  .conversation-list > h3 {
    display: none;
  }
  .conversation-list > button {
    width: 150px;
    min-width: 150px;
    padding: 12px;
    border-right: 1px solid #e6edda;
    border-top: 0;
  }
  .conversation-list > button.active {
    box-shadow: inset 0 -2px #92a780;
  }
  .conversation-list p {
    font-size: 8px;
  }
  .conversation-list small {
    font-size: 8px;
  }
  .conversation {
    min-height: 60dvh;
  }
  .chat-messages {
    max-height: 40dvh;
    min-height: 250px;
  }
  .chat-bubble {
    max-width: 85%;
  }
  .conversation-header {
    padding: 15px;
  }
  .chat-compose input {
    font-size: 12px;
  }
  .report-chart {
    padding: 20px 15px;
  }
  .report-chart .section-heading h2 {
    font-size: 15px;
  }
  .chart-legend {
    font-size: 8px;
  }
  .chart-area {
    gap: 5px;
    padding: 20px 0 0;
    overflow: auto;
    justify-content: flex-start;
  }
  .chart-day > strong {
    font-size: 8px;
  }
  .chart-day > span {
    font-size: 8px;
  }
  .stacked-bar {
    width: 30px;
  }
  .report-table {
    padding: 20px 12px;
  }
  .report-table td {
    font-size: 10px;
    padding: 15px 10px;
  }
  .report-table th {
    font-size: 9px;
    padding: 12px 10px;
  }
  .revenue-stats {
    margin-top: 20px;
  }
  .settings-tabs {
    overflow: auto;
  }
  .settings-panel {
    padding: 22px 17px;
  }
  .settings-panel > h2 {
    font-size: 20px;
  }
  .settings-panel > p {
    font-size: 11px;
  }
  .settings-panel .form-grid {
    grid-template-columns: 1fr;
  }
  .integration-grid {
    grid-template-columns: 1fr 1fr;
    gap: 11px;
  }
  .integration-card {
    padding: 16px 13px;
  }
  .integration-card > h3 {
    font-size: 16px;
    margin-top: 14px;
  }
  .integration-card > p {
    font-size: 10px;
    margin: 13px 0 18px;
  }
  .integration-card > .button {
    font-size: 8px;
    padding: 9px 5px;
    white-space: normal;
    line-height: 1.5;
  }
  .integration-card .badge {
    font-size: 7px;
  }
  .plan-grid {
    grid-template-columns: 1fr;
  }
  .billing-summary {
    padding: 25px 20px;
  }
  .billing-summary h2 {
    font-size: 21px;
    line-height: 1.5;
  }
  .billing-summary p {
    font-size: 11px;
    line-height: 1.7;
  }
  .billing-summary > svg {
    display: none;
  }
  .billing-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .printer-row {
    gap: 8px;
  }
  .printer-row > svg {
    width: 20px;
  }
  .printer-row > div {
    min-width: 120px;
  }
  .printer-row > .button {
    font-size: 8px;
    padding: 7px;
  }
  .job-row {
    gap: 7px;
  }
  .job-row strong {
    font-size: 10px;
  }
  .job-row small {
    font-size: 8px;
  }
  .job-row .text-button {
    font-size: 9px;
  }
  .job-row > .badge {
    font-size: 7px;
  }
  .ticket-log {
    padding: 20px 15px;
  }
  .guest-shell {
    padding-left: 22px;
    padding-right: 22px;
  }
  .guest-header {
    padding-top: 25px;
  }
  .guest-property {
    font-size: 19px;
  }
  .guest-welcome {
    padding-top: 33px;
  }
  .guest-welcome h1 {
    font-size: 37px;
    max-width: 260px;
  }
  .guest-welcome p {
    font-size: 11px;
    max-width: 240px;
  }
  .welcome-art {
    width: 130px;
    height: 160px;
    right: -26px;
    top: 38px;
    opacity: 0.5;
  }
  .guest-item-art {
    width: 90px;
    height: 108px;
  }
  .guest-item-art > span {
    font-size: 42px;
  }
  .guest-menu-item {
    gap: 15px;
    padding: 19px 0;
  }
  .guest-item-text h3 {
    font-size: 14px;
  }
  .guest-item-text p {
    font-size: 9px;
    line-height: 1.65;
  }
  .guest-item-bottom strong {
    font-size: 11px;
  }
  .guest-item-bottom {
    padding-top: 6px;
  }
  .guest-categories button {
    font-size: 10px;
    padding: 10px 17px;
  }
  .guest-tabs button {
    font-size: 9px;
    gap: 5px;
  }
  .guest-tabs button > svg {
    width: 14px;
  }
  .guest-chat .chat-bubble {
    max-width: 90%;
  }
  .guest-chat + .chat-compose {
    padding: 12px 0 0;
  }
  .payment-choices strong {
    font-size: 10px;
  }
  .payment-choices button {
    gap: 5px;
    padding: 13px 9px;
  }
  .payment-choices > button > svg {
    width: 17px;
  }
  .basket-dock {
    padding: 18px 22px 23px;
  }
  .guest-footer {
    margin-top: 10px;
  }
  .guest-upsell {
    width: 190px;
    min-width: 190px;
  }
  .guest-upsell h3 {
    font-size: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
@media print {
  body {
    background: white;
  }
  .workspace {
    display: block;
  }
  .sidebar,
  .main-shell,
  .toast,
  .no-print,
  .modal-title,
  .modal-backdrop > .modal > .field {
    display: none !important;
  }
  .modal-backdrop {
    position: static;
    background: white;
    backdrop-filter: none;
    display: block;
    padding: 0;
    overflow: visible;
  }
  .modal-backdrop .modal {
    display: block;
    width: 100%;
    max-width: none;
    max-height: none;
    border: 0;
    box-shadow: none;
    padding: 0;
    overflow: visible;
  }
  .qr-sheet {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .qr-card {
    border: 1px solid #bbb;
    page-break-inside: avoid;
  }
  .qr-card img {
    width: 190px;
  }
  .qr-card h3 {
    color: #222;
  }
  .modal-backdrop .modal-title {
    display: none;
  }
  .qr-card p,
  .qr-card small {
    color: #333;
  }
  .qr-brand {
    color: #222;
  }
}
/* Readable service screens: quiet visual hierarchy with sufficient contrast. */
.page-heading p,
.section-heading p,
.eyebrow {
  color: #74816c;
}
.stat-label {
  color: #6f7e64;
}
.stat > p {
  font-size: 10px;
  color: #7a886f;
}
.stat-trend {
  font-size: 9px;
  color: #728367;
}
.stat-label {
  font-size: 11px;
}
.order-number,
.order-age {
  font-size: 10px;
  color: #89977c;
}
.order-items {
  font-size: 12px;
  color: #526649;
}
.order-items .qty {
  font-size: 11px;
  color: #859577;
}
.order-note {
  font-size: 11px;
  color: #8b845f;
}
.order-card-bottom > span {
  font-size: 10px;
  color: #819371;
}
.order-card-bottom strong {
  font-size: 13px;
}
.order-action {
  font-size: 11px;
  min-height: 36px;
}
.order-card .room-guest {
  font-size: 10px;
  color: #8b9c7b;
}
.dept-tag {
  font-size: 10px;
}
.after-hours,
.late-alert,
.print-alert {
  font-size: 9px;
}
.tabs > button {
  font-size: 11px;
}
.search input,
.filter-select {
  font-size: 11px;
}
.column-title h3 {
  font-size: 12px;
}
.column-count {
  font-size: 10px;
}
.page-footer {
  color: #859579;
}
.column-title {
  padding-bottom: 15px;
}
.room-card > p,
.menu-admin-card p,
.integration-card > p,
.settings-panel > p,
.muted {
  color: #78896a;
}
.room-card .checkout-time {
  color: #819571;
}
.menu-category {
  color: #829775;
}
.menu-admin-card p {
  font-size: 11px;
}
.menu-category {
  font-size: 10px;
}
.menu-card-footer strong {
  font-size: 13px;
}
.menu-card-footer button {
  font-size: 11px;
}
.board-footer {
  font-size: 9px;
  color: #879b78;
}
.insight-strip strong {
  font-size: 12px;
  color: #607b4d;
}
.insight-strip p {
  font-size: 10px;
  color: #7c926b;
}
.info-banner p {
  color: #71885f;
}
.guest-item-text p {
  font-size: 13px;
  color: #819270;
  line-height: 1.6;
}
.guest-item-text h3 {
  font-size: 16px;
  color: #526b42;
}
.guest-item-bottom strong {
  font-size: 14px;
  color: #65824f;
}
.guest-item-art {
  height: 125px;
}
.guest-menu-item {
  min-height: 155px;
}
.guest-welcome p {
  font-size: 13px;
  color: #7e936c;
  line-height: 1.7;
  max-width: 310px;
}
.guest-eyebrow {
  font-size: 9px;
  color: #8ca278;
}
.guest-tabs button {
  font-size: 11px;
  min-height: 40px;
  color: #829a6e;
}
.guest-location {
  font-size: 11px;
  color: #8da27a;
}
.guest-demo {
  font-size: 10px;
  color: #948057;
}
.guest-categories button {
  font-size: 12px;
  min-height: 42px;
}
.guest-upsell h3 {
  font-size: 15px;
  color: #678351;
}
.guest-upsell p {
  font-size: 12px;
  color: #8b9e7a;
}
.guest-upsell strong {
  font-size: 14px;
}
.guest-footer p,
.guest-footer small,
.guest-footer > span {
  font-size: 10px;
  color: #91a47e;
}
.guest-footer small {
  font-size: 9px;
}
.guest-item-bottom .add-item,
.guest-upsell .add-item {
  width: 36px;
  height: 36px;
}
.stepper {
  min-height: 34px;
  gap: 9px;
  font-size: 12px;
}
.stepper button {
  min-width: 24px;
  min-height: 24px;
}
.guest-shell .field > span {
  font-size: 12px;
}
.guest-shell .field textarea,
.guest-shell .field select {
  font-size: 14px;
}
.guest-orders .guest-order-lines {
  font-size: 12px;
  color: #7c9569;
}
.guest-progress > div small {
  font-size: 10px;
}
.guest-order-total {
  font-size: 11px;
  color: #81976f;
}
.guest-order-top h3 {
  font-size: 14px;
}
.guest-order-top > span {
  font-size: 10px;
}
.guest-order-notes {
  font-size: 11px;
  color: #8a9f77;
}
.guest-footer {
  padding-top: 30px;
}
.order-received p {
  font-size: 12px;
  color: #81996c;
}
.guest-expired p {
  color: #81966f;
}
.guest-welcome h1 {
  max-width: 370px;
}
.guest-powered {
  color: #8fa379;
}
@media (max-width: 1150px) {
  .order-card .order-items {
    font-size: 11px;
  }
  .order-card-bottom > span {
    font-size: 9px;
  }
  .order-card .room-guest {
    max-width: 40%;
  }
  .stat-label {
    font-size: 10px;
  }
  .stat > p {
    font-size: 9px;
  }
  .stat-trend {
    font-size: 8px;
  }
  .toolbar-right .filter-select {
    font-size: 10px;
  }
}
@media (max-width: 650px) {
  .guest-welcome h1 {
    max-width: 270px;
  }
  .guest-welcome p {
    max-width: 260px;
  }
  .guest-item-text p {
    font-size: 12px;
  }
  .guest-item-text h3 {
    font-size: 15px;
  }
  .guest-item-art {
    height: 125px;
    width: 85px;
  }
  .guest-item-bottom strong {
    font-size: 12px;
  }
  .guest-menu-item {
    gap: 14px;
    min-height: 160px;
  }
  .guest-item-text {
    padding: 0;
  }
  .guest-upsell p {
    font-size: 11px;
  }
  .guest-shell .field input,
  .guest-shell .field textarea,
  .guest-shell .field select,
  .guest-shell .chat-compose input {
    font-size: 16px;
  }
  .guest-tabs button {
    font-size: 10px;
  }
  .guest-order-lines {
    font-size: 12px;
  }
  .guest-progress > div small {
    font-size: 9px;
  }
  .stat > p {
    font-size: 9px;
  }
  .stat-trend {
    font-size: 8px;
  }
  .stat-label {
    font-size: 10px;
  }
  .order-card .order-items {
    font-size: 10px;
  }
  .order-card h3 {
    font-size: 13px;
  }
  .order-card .order-number,
  .order-card .order-age {
    font-size: 9px;
  }
  .order-card-bottom > span {
    font-size: 8px;
  }
  .order-card-bottom strong {
    font-size: 12px;
  }
  .order-action {
    font-size: 10px;
    min-height: 38px;
  }
  .order-note {
    font-size: 10px;
  }
  .order-meta .dept-tag {
    font-size: 9px;
  }
  .order-meta .after-hours {
    font-size: 8px;
  }
  .late-alert,
  .print-alert {
    font-size: 8px;
  }
  .order-toolbar .tabs > button {
    font-size: 10px;
  }
  .room-card > p {
    font-size: 11px;
  }
  .menu-admin-card p {
    font-size: 11px;
  }
  .menu-category {
    font-size: 9px;
  }
  .menu-card-footer button {
    font-size: 10px;
  }
  .insight-strip p {
    font-size: 10px;
  }
  .info-banner p {
    font-size: 11px;
  }
  .search input {
    font-size: 10px;
  }
  .board-footer {
    font-size: 8px;
  }
  .messages-panel .chat-compose input {
    font-size: 16px;
  }
}
/* Guest choice remains an addition to the hotel's existing service. */
.guest-alternative {
  padding: 11px 13px;
  margin: 0 0 14px;
  background: #f3f5ee;
  border: 1px solid #e4e9db;
  border-radius: 7px;
  color: #72836a;
  font-size: 11px;
  line-height: 1.65;
}
.guest-alternative a {
  display: inline-block;
  margin-top: 5px;
  color: var(--guest-accent);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.guest-pickup-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px;
  background: #edf2e6;
  border: 1px solid #dce6d0;
  border-radius: 7px;
  margin-bottom: 15px;
  color: #62804d;
}
.guest-pickup-notice > svg {
  flex-shrink: 0;
  margin-top: 3px;
}
.guest-pickup-notice strong,
.guest-pickup-notice span {
  display: block;
  font-size: 11px;
  line-height: 1.7;
}
.guest-pickup-notice span {
  color: #859873;
}
.guest-checkout-promise {
  font-size: 11px;
  color: #7d926b;
  line-height: 1.7;
  background: #f1f5e9;
  border-radius: 6px;
  padding: 12px;
  margin: 12px 0 20px;
}
.fulfillment-choices {
  border: 1px solid #e0e7d6;
  border-radius: 8px;
  padding: 12px;
  margin: 0 0 18px;
}
.fulfillment-choices legend {
  font-size: 12px;
  color: #6a815a;
  padding: 0 6px;
}
.fulfillment-choices label {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e3e8dc;
  border-radius: 6px;
  margin-bottom: 9px;
  background: #fff;
  cursor: pointer;
}
.fulfillment-choices label.selected {
  background: #edf3e5;
  border-color: #b6c9a2;
}
.fulfillment-choices input {
  accent-color: var(--guest-accent);
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}
.fulfillment-choices strong {
  font-size: 12px;
  color: #6f885e;
  font-weight: 550;
}
.fulfillment-choices small {
  display: block;
  font-size: 11px;
  color: #8c9f7c;
  margin-top: 5px;
}
.fulfillment-choices p {
  font-size: 10px;
  line-height: 1.7;
  color: #9cae8a;
  margin: 8px 3px 0;
}
.guest-order-handoff,
.order-handoff {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 11px;
  color: #788d65;
  background: #eff4e8;
  padding: 10px;
  border-radius: 5px;
  line-height: 1.6;
  margin: 12px 0;
}
.order-handoff {
  font-size: 10px;
  padding: 8px;
  margin: 0 0 10px;
}
.checkin-share {
  margin-top: 20px;
  text-align: left;
  padding-top: 15px;
  border-top: 1px solid #e3e9da;
}
.checkin-share label {
  font-size: 11px;
  color: #758c63;
  display: block;
}
.checkin-share textarea {
  width: 100%;
  height: 110px;
  margin: 8px 0 10px;
  border: 1px solid #dfe7d4;
  border-radius: 5px;
  padding: 10px;
  font-size: 10px;
  line-height: 1.6;
  background: #f9fbf5;
  resize: vertical;
}
.checkin-share .button {
  font-size: 10px;
  white-space: normal;
}
.checkin-share > small {
  margin-top: 9px;
  font-size: 9px;
  line-height: 1.6;
}
.guest-shell .checkin-share textarea {
  font-size: 14px;
}

:root{--ink:#152036;--muted:#78869e;--green:#315bff;--green-dark:#2448db;--line:#e0e6f0;--canvas:#f5f7fc;--guest-accent:#315bff}
.public-demo-bar{position:sticky;top:0;z-index:80;min-height:50px;background:#10182b;color:#cad7f7;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 18px;font-size:10px;line-height:1.5}.public-demo-bar>a{color:#c3d1f4;white-space:nowrap}.public-demo-bar>span{font-size:9px;color:#8aa0c8;letter-spacing:.04em}.public-demo-bar>span b{color:#c2d3fa;font-weight:600}.public-demo-bar>div{display:flex;gap:7px}.public-demo-bar button{border:1px solid #3c5078;background:#223453;border-radius:5px;padding:8px 10px;color:#c2d5ff;font-size:10px;min-height:33px;white-space:nowrap}.public-demo-notice{position:sticky;top:50px;z-index:60;min-height:43px;display:flex;align-items:center;padding:10px 18px;background:#edf2ff;color:#6281b8;font-size:9px;line-height:1.7;border-bottom:1px solid #d8e2f9}.sidebar{top:93px;height:calc(100dvh - 93px);background:white;padding-top:25px}.workspace{min-height:calc(100dvh - 93px)}.topbar{top:93px;background:#ffffffed}.brand-icon{background:var(--green)}.brand,.page-heading h1{color:#152036}.sidebar nav button.selected{background:#edf2ff;color:#315bff}.property-picker{background:#f7f9fe}.nav-count{background:#315bff;color:white}.trial-card{background:#edf2ff;border-color:#dce5fc}.trial-card strong,.trial-card button{color:#5272bd}.page-heading>div>p,.muted{color:#7a89a3}.stat-card,.panel,.order-card,.room-card{border-color:#dce4f1}.stat-card.highlight{background:#eaf0ff;border-color:#c7d6ff}.stat-value,.stat-card h3{color:#3f5e94}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.light{background:white;border-color:#dce4f3;color:#6e85b0}.button.soft{background:#edf2ff;color:#6486c8}.tabs button.active{color:#315bff;border-color:#315bff}.guest-shell{--guest-accent:#315bff}.guest-hero{background:#eef2fb}.guest-hero h1{color:#38568d}.guest-header{background:#fff}.guest-order-handoff,.order-handoff{background:#edf2ff;color:#7795ce}.modal-backdrop{z-index:100}.demo-ticket{padding:35px;max-width:450px;margin:auto;font:14px/1.9 monospace}.demo-ticket h1{font-size:25px;margin:25px 0}.demo-ticket h2{font-size:18px;margin-bottom:20px}.demo-ticket button,.demo-ticket a{display:inline-block;border:1px solid #d5def0;background:#edf2ff;color:#4c70b6;padding:12px;margin:20px 12px 0 0}
@media(max-width:800px){.public-demo-bar{padding:9px 12px;min-height:50px;gap:8px}.public-demo-bar>span{display:none}.public-demo-notice{font-size:8px;padding:9px 12px;min-height:54px;top:50px}.sidebar{top:104px;height:calc(100dvh - 104px)}.topbar{top:104px}.public-demo-bar button{font-size:8px;padding:8px;min-height:32px}.public-demo-bar>a{font-size:9px}.main-content{padding:25px 18px}.page-heading h1{font-size:28px}.public-demo-bar>div{gap:5px}.sidebar.open{z-index:70}}@media(max-width:370px){.public-demo-bar{flex-wrap:wrap}.public-demo-bar>a{font-size:8px}.public-demo-bar button{font-size:7px;padding:7px 5px}.public-demo-notice{font-size:8px}.page-heading h1{font-size:25px}.main-content{padding:22px 14px}}@media print{.public-demo-bar,.public-demo-notice{display:none}.sidebar{top:0}.demo-ticket button,.demo-ticket a{display:none}}
.stat{border-color:#dce4f0;background:white}.stat.highlight{background:#eaf0ff;border-color:#cad8fb}.stat-label,.stat-label>span,.stat>p,.stat-trend{color:#7183a3}.stat-value{color:#3f5e94}.tabs button.active{background:#edf2ff;color:#315bff}.order-action{background:#315bff;border-color:#315bff;color:white}.order-action.complete{background:#edf2ff;border-color:#d5e0fb;color:#6387c9}.order-items{color:#526c97}.order-items .qty,.order-number,.order-age,.room-guest{color:#869bbb}.order-card-bottom>span{color:#8a9fbd}.order-card-bottom strong{color:#5576ab}.room-card>p,.room-status,.field>span{color:#7489ad}.board-column.new .column-header{background:#eef2fc}.board-column.progress .column-header{background:#f0f3fb}
/* Local partners, guest discovery and isolated placement billing. */
.lp-workspace{color:#23334f}.lp-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:20px}.lp-intro h2{font-size:22px;line-height:1.3}.lp-intro p{font-size:12px;color:#6c7f9e;line-height:1.9;max-width:700px;margin-top:12px}.lp-intro>a{flex-shrink:0}.lp-disclosure{padding:13px 15px;border:1px solid #d4dff6;border-radius:7px;background:#edf2ff;font-size:10px;color:#607da9;line-height:1.9;margin:17px 0 22px}.lp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.lp-stats>div{background:white;border:1px solid #d9e3f2;border-radius:9px;padding:20px}.lp-stats span{font-size:11px;color:#6d84aa;line-height:1.7;display:block}.lp-stats strong{font-size:29px;font-family:var(--heading);font-weight:650;color:#3e64aa;display:block;letter-spacing:-1px;margin-top:12px}.lp-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:28px 0 20px}.lp-controls .tabs{flex-wrap:wrap;gap:5px}.lp-controls .tabs button{white-space:nowrap;font-size:10px}.lp-partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px}.lp-partner-card{border:1px solid #d7e2f2;border-radius:10px;padding:20px;background:white;min-width:0}.lp-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.lp-card-head>span{font-size:8px;color:#7e94b8;line-height:1.7}.lp-state{font-size:9px;white-space:nowrap;border-radius:5px;padding:5px 7px;background:#fff1d9;color:#9b773b;font-weight:500;line-height:1.5}.lp-state.active,.lp-state.paid{background:#e5f4ec;color:#4d8e73}.lp-state.paused{background:#e9edf5;color:#8595b0}.lp-partner-card h3{font-size:19px;line-height:1.3;color:#344e7c}.lp-partner-card>p{font-size:12px;color:#7187aa;line-height:1.9;min-height:88px;margin:15px 0}.lp-fee{padding:15px 0;border-top:1px solid #e2e9f4;border-bottom:1px solid #e2e9f4;margin:18px 0}.lp-fee>span{font-size:9px;color:#859bc0;display:block}.lp-fee>strong{font-size:22px;color:#4a70b5;display:block;margin-top:7px;font-weight:550}.lp-fee small{font-size:9px;font-weight:400;color:#8fa6ca}.lp-actions{display:flex;gap:8px;flex-wrap:wrap}.lp-actions .button{font-size:9px;min-height:35px;padding:9px 10px}.lp-message{padding:13px 15px;background:#eef3ff;border:1px solid #ccdafa;color:#5d7db7;font-size:12px;line-height:1.8;border-radius:7px;margin-bottom:20px}.lp-editor{background:white;padding:25px;border:1px solid #cddbf3;border-radius:11px;margin-top:25px;scroll-margin-top:125px}.lp-editor h3{font-size:22px;margin-bottom:23px}.lp-editor form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lp-editor label,.lp-invoice-form label{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#6a82ac;line-height:1.7;min-width:0}.lp-editor input,.lp-editor select,.lp-editor textarea,.lp-invoice-form input,.lp-invoice-form select{width:100%;padding:12px;border:1px solid #ccd9ee;border-radius:6px;color:#506d9f;background:#fafcff;font-size:12px;min-height:42px}.lp-editor textarea{resize:vertical;line-height:1.8}.lp-full{grid-column:1/-1}.lp-invoice-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:17px;align-items:end;padding:22px;border:1px solid #d2dff3;border-radius:10px;background:#fff;margin-bottom:25px}.lp-invoice-form .button{min-height:43px;font-size:10px}.lp-invoices{display:grid;gap:12px}.lp-invoice{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:20px;align-items:center;padding:21px;background:#fff;border:1px solid #d7e2f3;border-radius:9px}.lp-invoice h3{font-size:15px;color:#47689d;line-height:1.4}.lp-invoice p{font-size:11px;color:#7e97bc;margin:8px 0}.lp-invoice small{font-size:8px;color:#96acd0;overflow-wrap:anywhere;line-height:1.8;display:block}.lp-invoice>strong{font-size:21px;font-weight:500;color:#567ab6}.lp-invoice .button{font-size:9px;padding:10px}.lp-footnote{font-size:10px;color:#8298bb;line-height:1.95;margin-top:21px;max-width:900px}.lp-empty{padding:35px;background:#f7faff;border:1px dashed #c7d7f4;border-radius:10px;font-size:13px;color:#7e98c1;line-height:1.9}.lp-guide{padding:30px;background:#f4f6fc;min-height:100vh;color:#1d2f4e}.lp-guide.compact{padding:23px;border:1px solid #d8e2f2;border-radius:11px;min-height:0;background:#f8faff}.lp-guide-header{margin-bottom:27px}.lp-guide-header>span{font-size:9px;letter-spacing:.09em;color:#7890b8;font-weight:600}.lp-guide-header h1{font-size:37px;line-height:1.13;letter-spacing:-1.5px;margin:19px 0 15px;color:#263d65}.lp-guide-header>p{font-size:13px;line-height:1.9;color:#7c93b8;max-width:750px}.lp-guide-header>small{font-size:9px;line-height:1.9;display:block;color:#92a7c8;margin-top:12px;max-width:900px}.lp-guide-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:20px}.lp-guide-cards>article{background:white;border:1px solid #d4e0f3;border-radius:11px;overflow:hidden;min-width:0}.lp-guide-art{height:105px;display:grid;place-items:center;background:linear-gradient(130deg,#e2eafd,#f3f4ed);font-size:45px}.lp-guide-card-copy{padding:21px}.lp-guide-card-copy>span{font-size:9px;color:#8aa0c6;display:block;margin-bottom:10px}.lp-sponsored{display:inline-block;font-size:8px;color:#899ebf;border:1px solid #d8e2f3;border-radius:4px;padding:4px 6px;margin-bottom:13px}.lp-guide-card-copy h2{font-size:22px;line-height:1.3;letter-spacing:-.7px;color:#3b5c94}.lp-guide-card-copy p{font-size:12px;line-height:1.95;color:#7e96bd;margin:15px 0 20px}.lp-guide-card-copy .button{font-size:10px;min-height:38px}.lp-guide-details{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;background:#eaf0ff;border:1px solid #cbdaf8;border-radius:10px;padding:25px;margin-top:24px;scroll-margin-top:30px}.lp-guide-details>div>span{font-size:8px;letter-spacing:.07em;color:#7693c4}.lp-guide-details h2{font-size:26px;line-height:1.25;color:#42669f;margin-top:16px}.lp-guide-details p{font-size:12px;color:#7890b9;line-height:1.95;margin:16px 0;max-width:750px}.lp-guide-details>.button{font-size:9px;flex-shrink:0}.lp-guide-details .button.primary{font-size:11px;margin-top:9px}.lp-payment-page{max-width:760px;margin:0 auto;padding:35px 25px;color:#273d60}.lp-payment-page>a{display:inline-block;font-size:11px;color:#7c96bf;margin-bottom:25px}.lp-payment-page>section{background:#fff;border:1px solid #d1def2;border-radius:14px;padding:35px}.lp-payment-badge{font-size:9px;color:#7996c5;font-weight:600;letter-spacing:.09em}.lp-payment-page h1{font-size:35px;line-height:1.2;letter-spacing:-1.2px;margin:22px 0}.lp-payment-page dl{margin:28px 0}.lp-payment-page dl>div{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 0;border-bottom:1px solid #dce5f4}.lp-payment-page dt{font-size:12px;color:#7c97bf}.lp-payment-page dd{font-size:13px;color:#5275aa;font-weight:500;text-align:right;margin:0;overflow-wrap:anywhere}.lp-payment-page .button.primary{width:100%;min-height:48px}.lp-payment-back{display:inline-block;font-size:11px;color:#7897c7;margin-top:25px;border-bottom:1px solid #baceee;padding-bottom:5px}.lp-payment-receipt{border:1px solid #c7e2d7;background:#eef8f3;border-radius:9px;padding:20px}.lp-payment-receipt strong{font-size:15px;color:#4d8e73}.lp-payment-receipt p{font-size:11px;line-height:1.9;color:#789d8c;margin-top:12px;overflow-wrap:anywhere}.guest-nearby-link{display:block;text-align:center;margin:0 0 20px;padding:13px;border:1px solid #cad9f5;border-radius:8px;background:#edf2ff;color:#6489cc;font-size:12px;font-weight:550}
@media(max-width:1000px){.lp-controls{align-items:flex-start;flex-direction:column;gap:16px}.lp-invoice{grid-template-columns:minmax(0,1fr) auto auto}.lp-invoice>.button{grid-column:1/-1;justify-self:start}.lp-invoice-form{grid-template-columns:1fr 1fr}.lp-invoice-form>.button{grid-column:1/-1;justify-self:start}.lp-guide-header h1{font-size:33px}}@media(max-width:650px){.lp-intro{flex-direction:column;gap:16px}.lp-intro h2{font-size:22px}.lp-intro p{font-size:12px}.lp-stats{grid-template-columns:1fr;gap:10px}.lp-stats>div{padding:17px 19px;display:flex;justify-content:space-between;align-items:center;gap:20px}.lp-stats strong{font-size:27px;margin-top:0}.lp-stats span{max-width:170px;font-size:10px}.lp-controls .tabs button{font-size:9px;padding:9px}.lp-controls>.button{font-size:11px;min-height:42px}.lp-partner-card{padding:20px}.lp-partner-card h3{font-size:22px}.lp-partner-card>p{font-size:13px;min-height:0}.lp-actions .button{font-size:10px;min-height:40px}.lp-editor{padding:21px 16px}.lp-editor form{grid-template-columns:1fr}.lp-editor input,.lp-editor select,.lp-editor textarea,.lp-invoice-form input,.lp-invoice-form select{font-size:16px}.lp-invoice-form{padding:20px 16px;grid-template-columns:1fr}.lp-invoice{padding:20px 16px;grid-template-columns:minmax(0,1fr) auto;gap:15px}.lp-invoice>div{grid-column:1/-1}.lp-invoice>strong{font-size:23px}.lp-invoice>.lp-state{justify-self:end}.lp-invoice h3{font-size:18px}.lp-invoice p{font-size:12px}.lp-invoice small{font-size:9px}.lp-invoice>.button{font-size:11px}.lp-guide{padding:25px 18px}.lp-guide.compact{padding:21px 15px}.lp-guide-header h1{font-size:32px}.lp-guide-header>p{font-size:13px}.lp-guide-header>small{font-size:9px;line-height:1.95}.lp-guide-cards{grid-template-columns:1fr;gap:18px}.lp-guide-art{height:95px}.lp-guide-card-copy{padding:20px}.lp-guide-card-copy h2{font-size:23px}.lp-guide-card-copy p{font-size:13px}.lp-guide-details{flex-direction:column;padding:23px 18px;gap:18px}.lp-guide-details h2{font-size:25px}.lp-guide-details p{font-size:13px}.lp-payment-page{padding:25px 17px}.lp-payment-page>section{padding:27px 19px}.lp-payment-page h1{font-size:30px}.lp-payment-page .lp-disclosure{font-size:10px}.lp-payment-page dl>div{gap:18px}.lp-payment-page dt{font-size:11px}.lp-payment-page dd{font-size:12px}.lp-payment-receipt{padding:18px}.lp-footnote{font-size:10px}}
.lp-intro p,.lp-partner-card>p,.lp-guide-header>p,.lp-guide-card-copy p,.lp-guide-details p{color:#637ca2}.lp-guide-header>small,.lp-disclosure,.lp-footnote{color:#7088ac}
.sidebar{overflow-y:auto;overscroll-behavior-y:contain}.lp-partner-card h3,.lp-partner-card p,.lp-guide-card-copy h2,.lp-guide-card-copy p,.lp-invoice h3{overflow-wrap:anywhere}

/* Generic label fits the existing sidebar on tablet and mobile. */
.demo-brand-label{font-size:18px;line-height:1.12;letter-spacing:-.04em;max-width:145px;white-space:normal}.brand-icon{flex-shrink:0}
/* Hotel setup, information and live editor previews. */
.xp-editor-grid,.xp-wizard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:26px;min-width:0}.xp-editor-grid>div,.xp-wizard-grid>div{min-width:0}.xp-editor-grid .menu-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.xp-preview{position:sticky;top:180px;align-self:start;min-width:0}.modal .xp-preview{top:0}.xp-preview-label{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:0 3px 12px;font-size:8px;color:#7383a0}.xp-preview-label strong{font-size:8px;letter-spacing:.08em}.xp-preview-label span{font-size:7px}.xp-phone{border:1px solid #dce4f2;overflow:hidden;border-radius:24px;background:white;box-shadow:0 12px 40px #203a7010;max-height:720px;overflow-y:auto;scrollbar-width:thin}.xp-phone header{display:flex;align-items:center;gap:9px;padding:18px 15px;background:var(--xp-primary);color:white}.xp-phone header strong{flex:1;line-height:1.3;font-size:13px;overflow-wrap:anywhere}.xp-phone header>span:last-child{font-size:8px;flex-shrink:0}.xp-logo{width:32px;height:32px;object-fit:contain;border-radius:5px;background:white;flex-shrink:0}.xp-logo-mark{display:grid;place-items:center;width:30px;height:30px;font-size:23px;flex-shrink:0}.xp-room{padding:10px 15px;background:#f4f6fb;color:#7890b5;font-size:9px;border-bottom:1px solid #e5eaf4}.xp-phone-welcome{padding:23px 17px 20px}.xp-phone-welcome small{font-size:7px;letter-spacing:.1em;color:#8293b1}.xp-phone-welcome h3{font-size:23px;color:var(--xp-primary);line-height:1.2;margin-top:12px;letter-spacing:-.035em;overflow-wrap:anywhere}.xp-phone nav{display:flex;padding:0 15px 13px;gap:8px}.xp-phone nav button{border:1px solid #dce3f0;border-radius:20px;padding:8px 13px;background:white;color:#7183a2;font-size:9px;min-height:34px}.xp-phone nav button[aria-pressed=true]{background:var(--xp-accent);border-color:var(--xp-accent);color:white}.xp-phone-items{padding:0 16px}.xp-phone-items article{display:flex;gap:12px;padding:18px 0;border-top:1px solid #edf0f6}.xp-item-art{width:49px;height:64px;background:#f2f4f9;border-radius:8px;display:grid;place-items:center;flex-shrink:0;overflow:hidden}.xp-item-art>span{font-size:26px}.xp-item-art img{width:100%;height:100%;object-fit:cover}.xp-phone-items h4{font-size:11px;line-height:1.5;overflow-wrap:anywhere}.xp-phone-items p{font-size:10px;line-height:1.8;color:#7b8ca8;margin:5px 0}.xp-phone-items strong{font-size:10px;color:var(--xp-accent)}.xp-phone-items small{display:block;font-size:9px;color:#9d7035;margin-top:8px}.xp-phone-foot{text-align:center;padding:17px;font-size:9px;color:#8293af;border-top:1px solid #edf0f6}.xp-draft-note{font-size:11px;color:#7086aa;line-height:1.8;margin:0 0 15px}.xp-empty{padding:23px;font-size:12px;color:#8091ad;line-height:1.8}.xp-guest-info{padding:0 20px;margin:14px auto;max-width:680px}.xp-info-toggle{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:15px;background:#eef2fc;color:#506f9f;border:1px solid #dce5f5;border-radius:9px;font-size:12px;min-height:45px}.xp-info-page{padding:15px 0;border-bottom:1px solid #e2e8f3}.xp-info-page summary{cursor:pointer;font-size:13px;line-height:1.7;font-weight:550;color:#35527f;overflow-wrap:anywhere}.xp-info-page p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;color:#627c9f;margin-top:12px}.xp-guest-info>div>small{font-size:9px;color:#8598b8;display:block;margin-top:14px;line-height:1.7}.xp-guest-info.preview{padding:0 15px}.xp-guest-info.preview .xp-info-toggle{font-size:10px;padding:12px}.xp-guest-info.preview .xp-info-page summary{font-size:11px}.xp-guest-info.preview .xp-info-page p{font-size:10px}.xp-wizard{padding:26px}.xp-wizard h2{font-size:27px;line-height:1.2}.xp-wizard>p{font-size:12px;line-height:1.8;margin:12px 0 24px}.xp-wizard form .field{margin-bottom:18px}.xp-wizard input[type=color]{padding:5px;height:44px;width:100%}.xp-steps{display:flex;gap:10px;margin-bottom:25px}.xp-steps span{padding:9px 12px;border-radius:7px;background:#f0f3f9;color:#8898b3;font-size:10px}.xp-steps .active{background:#315bff;color:white}.xp-steps .done{background:#e5f3ef;color:#3e816d}.xp-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.xp-form-actions>.button.primary{margin-left:auto}.xp-image-picker{margin-bottom:20px}.xp-image-picker>div{display:flex;align-items:center;gap:15px;margin:12px 0}.xp-image-picker img{width:70px;height:70px;object-fit:contain;border:1px solid #dce5f3;background:white;border-radius:8px}.xp-image-picker input[type=file]{font-size:11px;padding:12px;width:100%;overflow:hidden}.xp-setup-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:25px}.xp-setup-heading h2{font-size:27px;line-height:1.2}.xp-setup-heading p{font-size:12px;line-height:1.8;margin-top:12px}.xp-checklist{display:grid;gap:13px;margin:30px 0}.xp-checklist article{display:flex;gap:19px;align-items:center;border:1px solid #dce4f2;background:white;border-radius:12px;padding:22px}.xp-checklist article>span{width:33px;height:33px;border-radius:50%;background:#eef2ff;color:#6f89c5;display:grid;place-items:center;flex-shrink:0;font-size:13px}.xp-checklist article>span.complete{background:#e5f4ed;color:#3a8d70}.xp-checklist article>div{flex:1;min-width:0}.xp-checklist h3{font-size:16px;line-height:1.5}.xp-checklist p{font-size:12px;line-height:1.8;color:#7b8da9;margin-top:5px}.xp-setup-next{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:23px;background:#eaf0fe;border-radius:12px;margin-bottom:23px}.xp-setup-next>div{flex:1;min-width:200px}.xp-setup-next strong{font-size:15px}.xp-setup-next p{font-size:12px;color:#6e85ad;line-height:1.8;margin-top:8px}.xp-status{padding:14px 17px;border-radius:8px;background:#e8f3ee;color:#447a68;line-height:1.8;font-size:12px;margin:18px 0}.xp-page-card{padding:25px;margin-bottom:16px}.xp-page-card h3{font-size:23px;margin:18px 0 12px;line-height:1.25;overflow-wrap:anywhere}.xp-page-card>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.85;color:#7186a7;max-height:125px;overflow:auto}.xp-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.xp-insights section{padding:23px;min-width:0}.xp-insights h3{font-size:14px;margin-bottom:18px}.xp-insights section>strong{font-size:35px;color:#4d70ac;letter-spacing:-.06em}.xp-insights p{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#7b8ca8;line-height:1.8;margin:8px 0}.xp-insights b{font-weight:500;white-space:nowrap;color:#526f9f}.xp-insights small{font-size:9px;color:#8194b3}.xp-public-welcome{min-height:100vh;display:grid;place-items:center;background:#eff3fb;padding:25px}.xp-public-welcome section{max-width:590px;border-radius:25px;background:var(--xp-primary);color:white;padding:45px}.xp-public-welcome .xp-logo{width:60px;height:60px}.xp-public-welcome p{font-size:13px;line-height:1.9;color:#ccd7eb;margin:20px 0}.xp-public-welcome h1{font-size:44px;letter-spacing:-.05em;overflow-wrap:anywhere}.xp-public-welcome h2{font-size:23px;line-height:1.5;font-weight:400;margin-top:20px}.xp-public-welcome strong{display:block;font-size:13px;line-height:1.8;color:#d5e0ff}.xp-public-welcome a{margin-top:30px}.xp-menu-photo{width:100%;height:100%;object-fit:cover}.guest-welcome h1{color:var(--guest-primary,#152036)}
@media(max-width:1100px){.xp-editor-grid,.xp-wizard-grid{grid-template-columns:minmax(0,1fr)}.xp-preview{position:static;width:310px;max-width:100%;margin:0 auto}.xp-editor-grid>.xp-preview{grid-row:auto}.xp-wizard-grid>div>.xp-preview{width:310px}.xp-insights{grid-template-columns:1fr}.xp-setup-heading{flex-wrap:wrap}.xp-editor-grid .menu-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}
@media(max-width:650px){.xp-wizard{padding:21px 16px}.xp-wizard h2{font-size:25px}.xp-wizard input,.xp-wizard select,.xp-page-card input,.xp-editor-grid textarea,.xp-editor-grid input,.xp-editor-grid select{font-size:16px}.xp-wizard .form-grid{grid-template-columns:1fr}.xp-steps{gap:7px}.xp-steps span{font-size:9px;padding:9px}.xp-checklist article{flex-wrap:wrap;padding:19px 16px;gap:12px}.xp-checklist article>div{flex-basis:calc(100% - 50px)}.xp-checklist article>button{margin-left:45px}.xp-checklist h3{font-size:14px}.xp-checklist p{font-size:11px}.xp-setup-heading h2{font-size:25px}.xp-setup-next{padding:20px 16px}.xp-setup-next .button{width:100%;justify-content:center}.xp-page-card{padding:22px 17px}.xp-page-card h3{font-size:22px}.xp-info-page p{font-size:12px}.xp-editor-grid .menu-grid{grid-template-columns:1fr}.xp-public-welcome section{padding:30px 22px}.xp-public-welcome h1{font-size:36px}.xp-public-welcome h2{font-size:21px}.xp-public-welcome .button{font-size:11px}.xp-form-actions .button{font-size:11px}.xp-insights p{font-size:12px}}
.xp-phone nav{flex-direction:row}.xp-phone nav button{flex:1;width:auto}.xp-wizard-grid .field,.xp-editor-grid .field{min-width:0}.xp-editor-grid .section-heading>div{min-width:0}.xp-editor-grid .section-heading{flex-wrap:wrap}.xp-phone header{height:auto;min-height:64px}.xp-setup-heading>.button{flex-shrink:0}
.guest-shell .guest-header{background:var(--guest-primary,#152036);color:white}.guest-shell .guest-property{color:white}.guest-header .language-picker{color:#d8e3fa}.guest-header .language-picker select{color:white;background:transparent;border-color:#ffffff44}.guest-header .language-picker select option{color:#152036;background:white}
