.floor-smoking-area { display:block; padding:16px; margin:16px 8px; border:2px dashed #778570; border-radius:14px; background:#e9efdf; color:var(--ink); text-align:center; font-weight:700; min-height:52px; overflow-wrap:anywhere; }
.floor-smoking-area[hidden] { display:none; }
.table-scene.photo-scene { background:none !important; height:180px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.table-scene.photo-scene::before,.table-scene.photo-scene::after { display:none !important; }
.photo-scene img { width:100%; height:148px; object-fit:cover; border-radius:12px; }
.photo-table-status { background:#f6faf0; border:1px solid #b8c9ba; padding:4px 10px; border-radius:16px; font-size:13px; max-width:100%; overflow-wrap:anywhere; text-align:center; }
.photo-table-status.is-occupied { background:#fae9ce; border-color:#bd8f6f; color:#62422e; }
.seating-offer { margin-block:14px; padding:16px; border:1px solid #b7cbb5; border-radius:14px; background:#f2f6eb; color:#173e35; overflow-wrap:anywhere; }
.seating-offer[hidden] { display:none; }
.seating-offer > p { line-height:1.7; margin:0 0 12px; }
.seating-offer .guest-controls { display:flex; flex-wrap:wrap; gap:10px; }
.seating-offer button { min-height:44px; white-space:normal; }
.guest-floor-return {
  margin: 14px 0;
  padding: 12px;
  border: 1px solid #b7cbb5;
  border-radius: 12px;
  background: #f2f6eb;
}
.guest-floor-return[hidden],
.guest-table-handoff button[hidden] {
  display: none;
}
.guest-floor-return p {
  margin: 0 0 10px;
  color: #365d50;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.guest-floor-return > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.guest-floor-return button,
.guest-table-handoff button,
button[data-show-guest-table] {
  min-height: 44px;
  min-width: 44px;
  max-width: 100%;
  white-space: normal;
}
.guest-table-handoff {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0;
}
.table:focus {
  outline: 3px solid #245744;
  outline-offset: 3px;
}
#queue .guest-controls {
  flex-wrap: wrap;
}
#queue .guest-controls select {
  flex: 1 1 170px;
  max-width: 100%;
}
#queue .guest-controls select,
#queue .guest-controls button,
.table-actions button,
[data-return-to-queue],
[data-return-to-request] {
  min-height: 44px;
  min-width: 44px;
}
#tables .table-previewing {
  border-color: #95aa9a;
  background: #f2f6eb;
}
#tables .request-linked {
  border-color: #95aa9a;
  background: #f2f6eb;
}
.table-preview-note,
.request-table-note {
  margin: 4px 0;
  font-size: 11px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
[data-return-to-queue],
[data-return-to-request] {
  max-width: 100%;
  padding: 8px 4px;
  font-size: 11px;
  white-space: normal;
}
.floor-view-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.floor-view-controls label {
  font-weight: 700;
  flex: 0 0 auto;
}
.floor-view-controls select {
  flex: 1 1 190px;
  min-width: 0;
  max-width: 100%;
}
.floor-view-controls select,
.floor-view-controls button {
  min-height: 44px;
  min-width: 44px;
}
.floor-view-controls [hidden] {
  display: none;
}
#floor-view-summary,
.floor-view-notice,
#floor-view-order {
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.7;
  margin: 10px 0;
}
.floor-view-notice {
  border-right: 3px solid #557868;
  border-radius: 4px;
  padding: 8px 12px;
  color: #365d50;
  background: #edf2e6;
}
.floor-toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 12px 0;
}
.floor-toolbar button {
  min-height: 44px;
  min-width: 44px;
}
#floor-help {
  font-size: 13px;
  min-height: 44px;
}
#tables {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(210px, auto);
  align-items: start;
  justify-content: normal;
  gap: 18px 10px;
  padding: 8px 0;
}
.workspace > .panel {
  min-width: 0;
}
.table {
  min-width: 0;
  gap: 8px;
  padding: 8px 2px;
  border: 1px solid transparent;
  border-radius: 12px;
  text-align: center;
}
#tables .table-scene {
  width: 100%;
  max-width: 170px;
  min-width: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  zoom: 1;
  background-size: 0 0;
}
#tables .table-scene::before {
  content: "";
  display: block;
  flex: none;
  width: 100%;
  aspect-ratio: 1;
  background-image: inherit;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
#tables .table-scene .tabletop,
#tables .table-scene .tabletop.round,
#tables .table-scene .tabletop.long {
  min-width: 0;
  max-width: 100%;
  align-self: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2px 6px;
  padding: 5px 6px;
}
#tables .table-scene .tabletop strong,
#tables .table-scene .tabletop small {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.editing-floor .table {
  border-color: #c4d1c2;
  background: #ffffff80;
}
.table-zone {
  font-size: 11px;
  background: #e6ebde;
  border-radius: 20px;
  padding: 4px 9px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.table-actions {
  width: 100%;
  max-width: 132px;
}
.edit-table-button {
  min-height: 44px;
  min-width: 44px;
  font-size: 11px;
  padding: 7px 9px;
  max-width: 100%;
}
.floor-move-handle {
  min-height: 44px;
  min-width: 44px;
  width: 100%;
  max-width: 148px;
  touch-action: none;
  user-select: none;
  cursor: grab;
  padding: 8px 6px;
  font-size: 12px;
}
.floor-move-handle:active {
  cursor: grabbing;
}
#floor-move-status {
  min-height: 24px;
  font-size: 14px;
  margin: 0 0 8px;
  overflow-wrap: anywhere;
}
#floor-move-actions[hidden] {
  display: none;
}
.floor-drop-slot {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  align-self: stretch;
  min-width: 0;
  min-height: 210px;
  padding: 12px 6px;
  background: #f5f7ee;
  border: 2px dashed #95aa9a;
  border-radius: 12px;
  color: #365d50;
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
#tables .floor-drop-active {
  outline: 3px solid #245744;
  outline-offset: -3px;
  background-color: #e9f1de;
}
#tables .floor-drop-invalid {
  outline: 3px solid #91422c;
  outline-offset: -3px;
  background-color: #fbede3;
}
.floor-moving > .table-scene {
  outline: 2px dashed #557868;
  outline-offset: 3px;
  border-radius: 12px;
}
.floor-move-preview {
  display: grid;
  place-items: center;
  width: 100%;
  pointer-events: none;
}
.floor-drop-slot:has(.floor-move-preview) {
  align-content: start;
}
@media (max-width: 520px) {
  .floor-drop-slot {
    min-height: 170px;
    padding: 10px 4px;
    font-size: 11px;
  }
  .floor-move-handle {
    font-size: 11px;
    padding-inline: 4px;
  }
}
#table-preview {
  display: grid;
  place-items: center;
  margin: 18px 0;
}
#table-form .form-line label {
  flex: 1;
  max-width: none;
  min-width: 0;
}
#table-form fieldset {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 16px;
  margin: 18px 0;
}
#table-form legend {
  font-weight: 700;
  font-size: 14px;
  padding: 0 6px;
}
#table-form fieldset p {
  font-size: 12px;
  margin: 0;
}
.table-form-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.danger {
  color: #873d2a;
  border-color: #d9b4a7;
}
button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
#table-status {
  font-size: 14px;
  min-height: 24px;
}
#table-occupancy {
  font-size: 13px;
  overflow-wrap: anywhere;
}
.chair.seat-top {
  top: 0;
  left: calc(50% - 14px);
}
.chair.seat-bottom {
  bottom: 0;
  left: calc(50% - 14px);
}
.chair.side-left {
  left: 0;
}
.chair.side-right {
  right: 0;
}
.map-column-1 {
  grid-column: 1;
}
.map-column-2 {
  grid-column: 2;
}
.map-column-3 {
  grid-column: 3;
}
.map-row-1 {
  grid-row: 1;
}
.map-row-2 {
  grid-row: 2;
}
.map-row-3 {
  grid-row: 3;
}
.map-row-4 {
  grid-row: 4;
}
.map-row-5 {
  grid-row: 5;
}
.map-row-6 {
  grid-row: 6;
}
.map-row-7 {
  grid-row: 7;
}
.map-row-8 {
  grid-row: 8;
}
.map-row-9 {
  grid-row: 9;
}
.map-row-10 {
  grid-row: 10;
}
.map-row-11 {
  grid-row: 11;
}
.map-row-12 {
  grid-row: 12;
}
.map-row-13 {
  grid-row: 13;
}
.map-row-14 {
  grid-row: 14;
}
.map-row-15 {
  grid-row: 15;
}
.map-row-16 {
  grid-row: 16;
}
.map-row-17 {
  grid-row: 17;
}
.map-row-18 {
  grid-row: 18;
}
.map-row-19 {
  grid-row: 19;
}
.map-row-20 {
  grid-row: 20;
}
.map-row-21 {
  grid-row: 21;
}
.map-row-22 {
  grid-row: 22;
}
.map-row-23 {
  grid-row: 23;
}
.map-row-24 {
  grid-row: 24;
}
.map-row-25 {
  grid-row: 25;
}
.map-row-26 {
  grid-row: 26;
}
.map-row-27 {
  grid-row: 27;
}
.map-row-28 {
  grid-row: 28;
}
.map-row-29 {
  grid-row: 29;
}
.map-row-30 {
  grid-row: 30;
}
.map-row-31 {
  grid-row: 31;
}
.map-row-32 {
  grid-row: 32;
}
.map-row-33 {
  grid-row: 33;
}
.map-row-34 {
  grid-row: 34;
}
.chair.seat-row-1-of-1 {
  top: 50%;
  transform: translateY(-50%);
}
.chair.seat-row-1-of-2 {
  top: 33.3333%;
  transform: translateY(-33.3333%);
}
.chair.seat-row-2-of-2 {
  top: 66.6667%;
  transform: translateY(-66.6667%);
}
.chair.seat-row-1-of-3 {
  top: 25%;
  transform: translateY(-25%);
}
.chair.seat-row-2-of-3 {
  top: 50%;
  transform: translateY(-50%);
}
.chair.seat-row-3-of-3 {
  top: 75%;
  transform: translateY(-75%);
}
.table-scene.rows-3 {
  height: 150px;
}
.rows-3 .tabletop {
  height: 116px;
}
.chair.seat-row-1-of-4 {
  top: 20%;
  transform: translateY(-20%);
}
.chair.seat-row-2-of-4 {
  top: 40%;
  transform: translateY(-40%);
}
.chair.seat-row-3-of-4 {
  top: 60%;
  transform: translateY(-60%);
}
.chair.seat-row-4-of-4 {
  top: 80%;
  transform: translateY(-80%);
}
.table-scene.rows-4 {
  height: 182px;
}
.rows-4 .tabletop {
  height: 148px;
}
.chair.seat-row-1-of-5 {
  top: 16.6667%;
  transform: translateY(-16.6667%);
}
.chair.seat-row-2-of-5 {
  top: 33.3333%;
  transform: translateY(-33.3333%);
}
.chair.seat-row-3-of-5 {
  top: 50%;
  transform: translateY(-50%);
}
.chair.seat-row-4-of-5 {
  top: 66.6667%;
  transform: translateY(-66.6667%);
}
.chair.seat-row-5-of-5 {
  top: 83.3333%;
  transform: translateY(-83.3333%);
}
.table-scene.rows-5 {
  height: 214px;
}
.rows-5 .tabletop {
  height: 180px;
}
.chair.seat-row-1-of-6 {
  top: 14.2857%;
  transform: translateY(-14.2857%);
}
.chair.seat-row-2-of-6 {
  top: 28.5714%;
  transform: translateY(-28.5714%);
}
.chair.seat-row-3-of-6 {
  top: 42.8571%;
  transform: translateY(-42.8571%);
}
.chair.seat-row-4-of-6 {
  top: 57.1429%;
  transform: translateY(-57.1429%);
}
.chair.seat-row-5-of-6 {
  top: 71.4286%;
  transform: translateY(-71.4286%);
}
.chair.seat-row-6-of-6 {
  top: 85.7143%;
  transform: translateY(-85.7143%);
}
.table-scene.rows-6 {
  height: 246px;
}
.rows-6 .tabletop {
  height: 212px;
}
.chair.seat-row-1-of-7 {
  top: 12.5%;
  transform: translateY(-12.5%);
}
.chair.seat-row-2-of-7 {
  top: 25%;
  transform: translateY(-25%);
}
.chair.seat-row-3-of-7 {
  top: 37.5%;
  transform: translateY(-37.5%);
}
.chair.seat-row-4-of-7 {
  top: 50%;
  transform: translateY(-50%);
}
.chair.seat-row-5-of-7 {
  top: 62.5%;
  transform: translateY(-62.5%);
}
.chair.seat-row-6-of-7 {
  top: 75%;
  transform: translateY(-75%);
}
.chair.seat-row-7-of-7 {
  top: 87.5%;
  transform: translateY(-87.5%);
}
.table-scene.rows-7 {
  height: 278px;
}
.rows-7 .tabletop {
  height: 244px;
}
.chair.seat-row-1-of-8 {
  top: 11.1111%;
  transform: translateY(-11.1111%);
}
.chair.seat-row-2-of-8 {
  top: 22.2222%;
  transform: translateY(-22.2222%);
}
.chair.seat-row-3-of-8 {
  top: 33.3333%;
  transform: translateY(-33.3333%);
}
.chair.seat-row-4-of-8 {
  top: 44.4444%;
  transform: translateY(-44.4444%);
}
.chair.seat-row-5-of-8 {
  top: 55.5556%;
  transform: translateY(-55.5556%);
}
.chair.seat-row-6-of-8 {
  top: 66.6667%;
  transform: translateY(-66.6667%);
}
.chair.seat-row-7-of-8 {
  top: 77.7778%;
  transform: translateY(-77.7778%);
}
.chair.seat-row-8-of-8 {
  top: 88.8889%;
  transform: translateY(-88.8889%);
}
.table-scene.rows-8 {
  height: 310px;
}
.rows-8 .tabletop {
  height: 276px;
}
.chair.seat-row-1-of-9 {
  top: 10%;
  transform: translateY(-10%);
}
.chair.seat-row-2-of-9 {
  top: 20%;
  transform: translateY(-20%);
}
.chair.seat-row-3-of-9 {
  top: 30%;
  transform: translateY(-30%);
}
.chair.seat-row-4-of-9 {
  top: 40%;
  transform: translateY(-40%);
}
.chair.seat-row-5-of-9 {
  top: 50%;
  transform: translateY(-50%);
}
.chair.seat-row-6-of-9 {
  top: 60%;
  transform: translateY(-60%);
}
.chair.seat-row-7-of-9 {
  top: 70%;
  transform: translateY(-70%);
}
.chair.seat-row-8-of-9 {
  top: 80%;
  transform: translateY(-80%);
}
.chair.seat-row-9-of-9 {
  top: 90%;
  transform: translateY(-90%);
}
.table-scene.rows-9 {
  height: 342px;
}
.rows-9 .tabletop {
  height: 308px;
}
@media (max-width: 520px) {
  .room {
    padding: 12px 8px;
  }
  #tables {
    gap: 14px 4px;
    grid-auto-rows: minmax(170px, auto);
  }
  .table-label {
    font-size: 11px;
  }
  .table-actions .secondary {
    font-size: 11px;
    padding: 7px 5px;
  }
  .table {
    gap: 7px;
  }
  .table-zone {
    padding: 3px 5px;
    font-size: 10px;
  }
  #table-form .form-line {
    gap: 10px;
  }
  #table-form .form-line label:first-child {
    flex: 1.2;
  }
  #table-form input,
  #table-form select {
    width: 100%;
  }
  #table-form fieldset {
    padding: 12px;
  }
  #table-dialog .guest-dialog-header h2 {
    font-size: 20px;
  }
}
#queue button[data-guest-id] {
  min-height: 44px;
  min-width: 44px;
}

.floor-smoking-area img{display:block;width:100%;max-width:260px;height:160px;object-fit:cover;border-radius:12px;margin:0 auto 10px}
.floor-smoking-area strong,.floor-smoking-area span{display:block}
.design-palette{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.design-palette span{padding:18px;border-radius:12px;border:1px solid #bbb;min-width:110px;flex:1;text-align:center;color:#17251f}.palette-warm span:nth-child(1){background:#d8c6a7}.palette-warm span:nth-child(2){background:#faf1de}.palette-modern span:nth-child(1){background:#f5f4ee}.palette-modern span:nth-child(2){background:#bcc0bf}.palette-celebration span:nth-child(1){background:#faf1de}.palette-celebration span:nth-child(2){background:#e9c3ce}.design-result{padding:16px;border:1px solid #d8e1d1;border-radius:14px;margin-bottom:14px}.design-result p{margin:8px 0}
