.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.tile{border:2px solid var(--line,#ccd);border-radius:12px;padding:10px;background:#fff}
.tile.rush{border-color:#c62828;background:#fff5f5}.tile.done{border-color:#2e7d32;opacity:.8}
.tile h3{margin:0 0 6px;font-size:20px}.tile .t{float:right;font-weight:700}
.tile li{font-size:17px;margin:3px 0}.tile .nt{color:#a15c00;font-size:14px}.tile .ad{color:#555;font-size:14px}
.tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}
.tbl{min-height:70px;border-radius:12px;border:2px solid #ccd;background:#fff;font-size:18px;font-weight:700}
.tbl.seated{border-color:#1565c0;background:#eef4ff}.tbl.bill{border-color:#a15c00;background:#fff7e8}
.pmenu{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.mi{min-height:64px;border-radius:10px;border:1px solid #ccd;background:#fff;text-align:left;padding:8px}.mi[disabled]{opacity:.45}
.cart li{display:flex;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px dashed #ddd}
.alert-ready{background:#e8f5e9;border:2px solid #2e7d32;border-radius:10px;padding:8px 10px;margin:6px 0;font-weight:600}
.thermal{display:none;font-family:ui-monospace,Menlo,Consolas,monospace;white-space:pre;color:#000;background:#fff}
@media print{
  body *{visibility:hidden}.thermal,.thermal *{visibility:visible}
  .thermal{display:block;position:absolute;left:0;top:0;font-size:12px;line-height:1.25}
  .thermal.w58{width:58mm}.thermal.w80{width:80mm}.thermal.a4{width:auto;font-size:11px}
  @page{margin:2mm}
}
.thermal-preview{font-family:ui-monospace,Menlo,Consolas,monospace;background:#fafafa;border:1px dashed #bbb;padding:8px;white-space:pre;overflow:auto;font-size:13px}
tr.flag td{background:#fff7e8}.tbl-plain{width:100%;border-collapse:collapse}.tbl-plain td,.tbl-plain th{border-bottom:1px solid #eee;padding:4px;text-align:left;vertical-align:top}
.tile.late{border-width:2px}.tile.late .t{color:#c62828;font-weight:700}.late-tag{background:#c62828;color:#fff;border-radius:4px;padding:1px 5px;font-size:11px}

/* Setup form: one field per line on phones (2 Nov 2026 fix) */
#v .card label{display:block;margin:10px 0;font-weight:600}
#v .card label input,#v .card label select{display:block;width:100%;box-sizing:border-box;margin-top:4px;min-height:44px;font-size:16px}
#v .card .row input,#v .card .row select{min-height:44px;font-size:16px}
