:root{--bg:#f4f5f7;--surface:#fff;--text:#111827;--muted:#6b7280;--border:#d9dce1;--primary:#1f6feb;--primary-text:#fff;--danger:#c93c37;--success-bg:#e6f4ea;--error-bg:#fdecea;--radius:10px;--tap:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111418;--surface:#1b1f24;--text:#e6e8eb;--muted:#9aa1ab;--border:#2f353d;--primary:#3b82f6;--success-bg:#173222;--error-bg:#3a1a19}}*{box-sizing:border-box}body{min-height:100dvh;margin:0}h1{margin:0;font-size:1.4rem}a{color:var(--primary)}.muted{color:var(--muted)}.center{text-align:center;padding:3rem 1rem}.stack{flex-direction:column;gap:.9rem;display:flex}.row{align-items:center;gap:.5rem;display:flex}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.row.wrap input{flex:14rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}label{flex-direction:column;gap:.3rem;font-weight:500;display:flex}input,select{font:inherit;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:0 .75rem}.btn{font:inherit;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:0 1rem}.btn.primary,.key.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:600}.btn.danger{color:var(--danger)}.btn.big{min-height:56px;font-size:1.1rem}button:disabled{opacity:.55;cursor:default}.error,.notice{border-radius:var(--radius);margin:0;padding:.6rem .8rem}.error{background:var(--error-bg);color:var(--danger)}.notice{background:var(--success-bg)}.badge{background:var(--primary);color:var(--primary-text);border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.8rem}.auth{max-width:28rem;margin:0 auto;padding:1rem}.auth-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.brand{font-size:1.2rem;font-weight:700}.auth-card{flex-direction:column;gap:1rem;display:flex}.auth-card p{margin:0}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.6rem;display:grid}.staff-tile{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;flex-direction:column;align-items:center;gap:.2rem;padding:1rem .5rem;display:flex}.pin-dots{justify-content:center;gap:.8rem;display:flex}.dot{border:2px solid var(--muted);border-radius:50%;width:16px;height:16px}.dot.filled{background:var(--text);border-color:var(--text)}.keypad{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.key{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:64px;color:var(--text);cursor:pointer;font-size:1.4rem}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.topbar-title{flex-direction:column;display:flex}.topbar-actions{gap:.5rem;display:flex}.tabs{background:var(--surface);border-bottom:1px solid var(--border);gap:.25rem;padding:0 1rem;display:flex;overflow-x:auto}.tab{white-space:nowrap;color:var(--muted);border-bottom:3px solid #0000;padding:.8rem .9rem;text-decoration:none}.tab.active{color:var(--text);border-bottom-color:var(--primary);font-weight:600}.content{max-width:60rem;margin:0 auto;padding:1rem}.list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.list-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.list-row.inactive{opacity:.6}h2{margin:0;font-size:1.15rem}.grow{flex:12rem}input.narrow{width:7rem}.btn.icon{min-width:var(--tap);padding:0}.badge.warn{background:var(--danger)}.card.inactive{opacity:.65}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:.75rem}legend{padding:0 .3rem;font-weight:500}:root{--free:#e7f5ea;--free-border:#5bb974;--busy:#fff4d6;--busy-border:#e0a800;--occupied:#e8eefc;--occupied-border:#6d8fdc}@media (prefers-color-scheme:dark){:root{--free:#15291b;--busy:#332a10;--occupied:#1a2338}}.notice.warn{background:var(--busy)}.table-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.6rem;display:grid}.table-tile{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);min-height:6rem;color:var(--text);flex-direction:column;gap:.15rem;padding:.75rem;text-decoration:none;display:flex}.table-tile.free{background:var(--free);border-color:var(--free-border)}.table-tile.in_progress{background:var(--busy);border-color:var(--busy-border)}.table-tile.occupied{background:var(--occupied);border-color:var(--occupied-border)}.table-label{font-size:1.25rem}.tile-flags{flex-wrap:wrap;gap:.25rem;display:flex}.tile-flags .badge{margin-left:0}.waiter-table{padding-bottom:5rem}.chips{gap:.4rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.chips.wrap{flex-wrap:wrap;overflow-x:visible}.chip{font:inherit;white-space:nowrap;border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;padding:0 .9rem}.chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.item-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem;display:grid}.item-tile{font:inherit;text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:4.5rem;color:var(--text);cursor:pointer;flex-direction:column;gap:.2rem;padding:.7rem;display:flex;position:relative}.item-tile .count{background:var(--primary);min-width:1.6rem;height:1.6rem;color:var(--primary-text);border-radius:999px;place-items:center;font-weight:700;display:grid;position:absolute;top:-.4rem;right:-.4rem}.cart-line{border-bottom:1px solid var(--border);flex-direction:column;gap:.4rem;padding:.5rem 0;display:flex}.cart-line.unavailable{opacity:.7}.qty{align-items:center;gap:.5rem;font-weight:700;display:flex}.link-btn{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.line-note{margin:0;font-style:italic}.send-bar{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.send-bar .btn{width:100%;max-width:40rem}.order-card{border-left-width:5px;flex-direction:column;gap:.5rem;display:flex}.order-card.new{border-left-color:var(--primary)}.order-card.in_progress{border-left-color:var(--busy-border)}.order-card.ready{border-left-color:var(--free-border)}.order-card.sending{border-left-color:var(--muted);border-style:dashed}.order-lines{margin:0;padding-left:1rem}.status-pill{background:var(--bg);border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:600}.status-pill.ready{background:var(--free)}.status-pill.in_progress{background:var(--busy)}label.radio{flex-direction:row;align-items:center;gap:.6rem;font-weight:400}label.radio input{width:1.2rem;height:1.2rem;min-height:0}.content.wide{max-width:none}.live-dot{color:var(--danger);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.live-dot:before{content:"";background:currentColor;border-radius:50%;width:.7rem;height:.7rem}.live-dot.on{color:var(--free-border)}.kitchen-columns{align-items:start;gap:1rem;display:grid}@media (width>=900px){.kitchen-columns{grid-template-columns:repeat(3,1fr)}}.kitchen-column{flex-direction:column;gap:.75rem;display:flex}.ticket-row{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.75rem;display:grid}.ticket{border-radius:var(--radius);border:3px solid var(--border);background:var(--surface);flex-direction:column;gap:.5rem;padding:.9rem 1rem;font-size:1.15rem;display:flex}.ticket.new{border-color:var(--primary);animation:1.6s ease-in-out infinite ticket-pulse}.ticket.in_progress{border-color:var(--busy-border);background:var(--busy)}.ticket.ready{border-color:var(--free-border);background:var(--free)}.ticket.cancelled{border-color:var(--danger);opacity:.85;border-style:dashed}.ticket.cancelled .ticket-lines{text-decoration:line-through}@keyframes ticket-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--primary) 35%, transparent)}}@media (prefers-reduced-motion:reduce){.ticket.new{box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 35%, transparent);animation:none}}.ticket-table{font-size:1.6rem;font-weight:800}.ticket-time{font-size:1rem}.ticket-cancelled{color:var(--danger);letter-spacing:.05em;font-weight:800}.ticket-lines{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.ticket-qty{font-weight:800}.ticket-mods{color:var(--danger);font-size:1rem;font-weight:600}.ticket-note{font-size:1rem;font-style:italic;font-weight:600}.small{margin:0;font-size:.85rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;display:grid}.stat{flex-direction:column;gap:.2rem;display:flex}.stat strong{font-size:1.5rem}.report-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}.report-table th,.report-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}.report-table .num{text-align:right;font-variant-numeric:tabular-nums}.report-table-card summary{cursor:pointer;list-style:none}.report-table-card[open] summary{margin-bottom:.75rem}.report-order{border-bottom:1px solid var(--border);flex-direction:column;gap:.3rem;padding:.5rem 0;display:flex}.report-order.cancelled{opacity:.6}.report-order.cancelled .order-lines{text-decoration:line-through}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--text:#000;--border:#999}.no-print{display:none!important}.content{max-width:none;padding:0}.card,.report-table tr{break-inside:avoid}}
