/* Waiter screen: three columns — who is calling, what is ready, where they sit. */
.w-cols { display: grid; gap: .8rem; padding: .8rem .9rem 2rem; grid-template-columns: 1fr; }
.w-col { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: .7rem; }
.w-col h2 { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 .6rem; display: flex; align-items: center; gap: .4rem; }
.w-col h2 b { color: var(--ink); font-family: var(--font-mono); }

.call {
  display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .5rem;
  padding: .6rem; border-radius: 10px;
  background: #1f2430; border-left: 3px solid #d8a33a; margin-bottom: .5rem;
}
.call > div:first-child { min-width: 0; }
.call .who { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.call.kind-bill { border-left-color: #6f9cd8; }
.call.is-late { border-left-color: #ff6f61; box-shadow: 0 0 0 1px rgba(255, 111, 97, .25); }
.call .who { font-weight: 700; }
.call .meta { color: var(--muted); font-size: .82rem; }
.call .timer { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: .92rem; }
.call .acts { display: flex; gap: .35rem; }
.call .acts button { border: 0; border-radius: 8px; padding: .45rem .6rem; font-weight: 700; background: #2c3547; color: var(--ink); white-space: nowrap; font-size: .84rem; }
.call .acts .go { background: #3f7d55; }

.ready-item { display: flex; align-items: center; gap: .6rem; padding: .55rem; border-radius: 10px; background: #1f2430; margin-bottom: .45rem; }
.ready-item .st { width: .5rem; height: 2.2rem; border-radius: 3px; }
.ready-item .body { flex: 1; min-width: 0; }
.ready-item .name { font-weight: 600; }
.ready-item .meta { color: var(--muted); font-size: .8rem; }
.ready-item button { border: 0; border-radius: 8px; padding: .45rem .8rem; font-weight: 700; background: #3f7d55; color: #fff; }

.floor { position: relative; background: #161a22; border-radius: 10px; height: 320px; border: 1px solid var(--line); overflow: hidden; }
.floor .zone-label { position: absolute; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: #59647a; }
.tbl {
  position: absolute; transform: translate(-50%, -50%); min-width: 2.7rem; padding: .25rem .35rem;
  border-radius: 8px; background: #232a36; border: 1px solid #333d4e; text-align: center;
  font-size: .74rem; font-weight: 700; color: #c8d2e0; cursor: pointer; line-height: 1.15;
}
.tbl small { display: block; font-weight: 500; color: var(--muted); font-size: .62rem; white-space: nowrap; }
.tbl.state-seated { border-color: #4a6f8f; }
.tbl.state-ordered { background: #26402f; border-color: #3f7d55; color: #cfeeda; }
.tbl.state-calling { background: #47391f; border-color: #d8a33a; color: #ffe1a8; animation: blink 1.4s infinite; }
.tbl.state-bill { background: #2a3a52; border-color: #6f9cd8; color: #d5e6ff; }
@keyframes blink { 50% { opacity: .62; } }
.tbl .sim-dot { position: absolute; top: -.3rem; right: -.3rem; width: .55rem; height: .55rem; border-radius: 50%; background: #7c86c8; }

.w-empty { color: var(--muted); font-size: .88rem; padding: .8rem .2rem; }

@media (min-width: 900px) {
  .w-cols { grid-template-columns: 1.05fr 1fr 1.15fr; align-items: start; }
  .floor { height: 420px; }
}
