:root{--bg:#111;--panel:#1d1d1d;--text:#f4f4f4;--muted:#a0a0a0;--accent:#ffb300;--ok:#2e7d32;--danger:#d32f2f;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button{font:inherit;border-radius:var(--radius);color:var(--text);cursor:pointer;background:#333;border:0;min-height:48px;padding:.8rem 1.1rem}button:disabled{opacity:.5}input{font:inherit;color:var(--text);background:#222;border:1px solid #444;border-radius:8px;width:100%;padding:.7rem}label{gap:.3rem;margin-bottom:.8rem;display:grid}.app{border:0 solid #0000;min-height:100vh;transition:border-color .2s}.app.alarm{border:10px solid var(--danger);animation:1s steps(2,end) infinite border-blink}@keyframes border-blink{50%{border-color:#7a1010}}.topbar{background:var(--panel);z-index:2;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.topbar nav{gap:.4rem;margin-left:auto;display:flex}.topbar nav button[aria-pressed=true]{background:var(--accent);color:#111}.banner{text-align:center;border-radius:0;width:100%;padding:.8rem 1rem;display:block}.banner.error{background:var(--danger)}.banner.warning{background:#8a6d00}.banner.unlock{background:var(--accent);color:#111;font-weight:700}.banner.info{background:#1565c0;justify-content:center;gap:1rem;display:flex}.orders{gap:1.2rem;padding:1rem;display:grid}.section-title{color:var(--muted);margin:0 0 .5rem;font-size:1.1rem}.count{background:var(--accent);color:#111;border-radius:999px;padding:0 .5rem}.empty{color:var(--muted)}.order-card{background:var(--panel);border-radius:var(--radius);border:3px solid #0000;margin-bottom:.8rem;padding:1rem}.order-card.pending{border-color:var(--accent);animation:1.2s ease-in-out infinite pulse}.order-card.escalated{border-color:var(--danger)}@keyframes pulse{50%{box-shadow:0 0 0 8px #ffb30059}}.order-card header{flex-wrap:wrap;align-items:baseline;gap:.7rem;display:flex}.order-card h2{margin:0;font-size:2.2rem}.badge{background:#333;border-radius:999px;padding:.15rem .6rem;font-weight:600}.badge.delivery{background:#1565c0}.badge.pickup{background:#455a64}.badge.sold-out{background:var(--danger)}.badge.busy{background:#8a6d00}.waited{color:var(--accent);font-weight:600}.ready{gap:.6rem;display:flex}.customer{color:var(--muted);flex-wrap:wrap;gap:1rem;margin:.5rem 0;display:flex}.customer a{color:var(--accent)}.lines{margin:.5rem 0;padding:0;list-style:none}.line-name{font-size:1.2rem;font-weight:600}.options{margin:.2rem 0 .6rem;padding-left:1rem;list-style:none}.options .emphasis{color:var(--accent);font-size:1.15rem;font-weight:800}.order-card footer{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.total{font-size:1.3rem}.actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}button.accept{background:var(--ok);min-width:120px;font-weight:700}button.reject{background:var(--danger)}button.complete{background:var(--ok)}button.secondary{background:#333}.dialog{z-index:10;background:#222;border-radius:16px 16px 0 0;gap:.8rem;padding:1.2rem;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -10px 40px #0009}.dialog .choices{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;display:grid}.dialog .choices button{min-height:64px;font-size:1.2rem}.menu-page,.settings,.login{max-width:640px;margin:0 auto;padding:1rem}.menu-page ul{padding:0;list-style:none}.menu-page li label{align-items:center;gap:.8rem;padding:.6rem 0;display:flex}.menu-page li input{width:28px;height:28px}.menu-page li.sold-out span:first-of-type{color:var(--muted);text-decoration:line-through}.switch{align-items:center;gap:.8rem;display:flex}.switch input{width:28px;height:28px}.hint{color:var(--muted)}[role=alert]{color:#ff8a80}.ticket{background:#333;border-radius:999px;padding:.1rem .5rem;font-size:.9rem}.ticket-failed{background:var(--danger);font-weight:700}.ticket-printed{color:#9ccc9c;background:#2e3d2e}.ticket-queued{color:var(--accent);background:#444}.warning{color:#ffd54f;font-weight:600}.printers ul{gap:.8rem;padding:0;list-style:none;display:grid}.printers li{background:var(--panel);border-radius:var(--radius);padding:.8rem}.printers .row,.printers .confirm{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.state-online{color:#81c784}.state-offline,.state-error,.alert-error{color:#ff8a80}.alert-warning{color:#ffd54f}.scanner video{border-radius:8px;width:100%;max-width:360px}
