/* Till, tablet and keypad layouts. Touch targets ≥ 48px. */
.keypad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.keypad button { min-height: 60px; font-size: 22px; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; margin-top: 6px; }
.tile { min-height: 64px; text-align: left; line-height: 1.2; }
.tile small { display: block; color: var(--muted); margin-top: 4px; }
.overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .55); display: flex; align-items: flex-end; justify-content: center; z-index: 10; }
.sheet { background: var(--bg); width: 100%; max-width: 560px; max-height: 92vh; overflow: auto; padding: 16px; border-radius: 16px 16px 0 0; }
.till { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 12px; padding: 12px; min-height: 100vh; }
@media (max-width: 900px) { .till { grid-template-columns: 1fr; } }
.tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.tabs button { min-height: 44px; }
.tabs button.on { background: var(--text); color: var(--bg); }
.tabs button:not(.on) { background: transparent; color: var(--text); border-color: var(--border); }
.lines { display: flex; flex-direction: column; gap: 6px; }
.line { display: grid; grid-template-columns: 1fr auto auto auto; gap: 6px; align-items: center; }
.line button { min-height: 40px; padding: 4px 12px; }
.sent { color: var(--muted); font-size: 12px; }
.row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.total { font-size: 22px; font-weight: 500; }
.toast { position: fixed; bottom: 12px; left: 12px; right: 12px; background: var(--problem); color: #fff; padding: 12px; border-radius: 10px; z-index: 20; }
.floor { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.table-btn { min-height: 90px; flex-direction: column; }
.table-btn.busy { background: var(--label); color: var(--bg); border-color: var(--label); }
.table-btn.bill { background: var(--problem); color: #fff; border-color: var(--problem); }
