:root{--bg:#0f1115;--surface:#181b21;--surface-2:#20242c;--surface-3:#2a2f39;--border:#323845;--text:#f2f4f8;--muted:#a3abba;--accent:#58a6ff;--fresh:#3fb950;--warn:#e3a72f;--late:#ff5f57;--allergy:#ff2e7e;--allergy-bg:#4a0f2a;--remove:#ff8a80;--remove-bg:#5a1d1d;--add:#6ee787;--add-bg:#173d22;--extra:#79b8ff;--extra-bg:#15335a;--side:#d8b4fe;--side-bg:#3b2160;--light:#ffd866;--light-bg:#4a3b10;--note-bg:#3d3412;--note:#ffe9a8;--radius:12px;--tap:52px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;font-size:18px;line-height:1.3}button{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:14px}.btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:manipulation;border-radius:10px;min-height:44px;padding:8px 16px;font-weight:600}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.is-selected,.btn.is-selected:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#0b1220}.btn-ghost{background:0 0}a.btn:not(.btn-primary):not(.btn-danger){color:var(--text)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0b1220}.btn-danger{background:var(--late);border-color:var(--late);color:#1a0503}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented-large .btn{min-height:var(--tap);flex:200px;font-size:20px}.stack{gap:8px;display:grid}.pill{background:var(--surface-3);color:var(--muted);border-radius:999px;margin-left:8px;padding:2px 10px;font-size:13px;font-weight:600}.start{place-items:center;min-height:100%;padding:24px 16px;display:grid}.start-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:min(640px,100%);padding:32px}.start-card h1{margin:0 0 8px;font-size:32px}.start-card h2{color:var(--muted);margin:28px 0 12px;font-size:18px;font-weight:600}.btn-start{width:100%;min-height:64px;margin-top:32px;font-size:24px}.connect-card p{font-size:20px}.connect-connected h1{color:var(--fresh)}.connect-error h1{color:var(--late)}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.board{flex-direction:column;height:100%;display:flex}.board-head{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 16px;display:flex}.board-title{align-items:center;font-size:20px;display:flex}.board-count{text-align:center;flex:1;font-size:22px;font-weight:700}.board-actions{align-items:center;gap:8px;display:flex}.clock{font-variant-numeric:tabular-nums;margin-right:4px;font-size:20px}.health-dot{border-radius:50%;width:14px;height:14px;margin-right:8px}.health-dot.ok{background:var(--fresh)}.health-dot.bad{background:var(--late);animation:1s infinite pulse}.banner{text-align:center;padding:12px 16px;font-size:20px;font-weight:700}.banner-danger{background:var(--late);color:#1a0503}.banner-warn{background:var(--warn);color:#1d1503}.lane-wrap{flex:1;grid-template-rows:1fr auto;gap:8px;min-height:0;padding:12px;display:grid}.lane{align-items:start;gap:12px;min-height:0;display:grid}.lane-empty{text-align:center;color:var(--muted);grid-column:1/-1;align-self:center;font-size:28px}.pager{justify-content:center;align-items:center;gap:16px;display:flex}.ticket{background:var(--surface);border:1px solid var(--border);border-top:8px solid var(--fresh);border-radius:var(--radius);flex-direction:column;max-height:100%;display:flex;position:relative;overflow:hidden}.ticket.aging-warn{border-top-color:var(--warn)}.ticket.aging-late{border-top-color:var(--late);box-shadow:0 0 0 2px var(--late)}.ticket.has-allergy{border-left:6px solid var(--allergy)}.ticket-head{justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px 4px;display:flex}.ticket-id{flex-direction:column;min-width:0;display:flex}.ticket-id-primary{overflow-wrap:anywhere;font-size:24px;font-weight:800}.ticket-id-secondary{color:var(--muted);font-weight:600}.ticket-timer{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.timer-warn{color:var(--warn)}.timer-late{color:var(--late)}.ticket-badges{flex-wrap:wrap;gap:6px;padding:0 12px 8px;display:flex}.badge{background:var(--surface-3);text-transform:uppercase;letter-spacing:.02em;border-radius:6px;padding:2px 8px;font-size:14px;font-weight:700}.source-online{color:#9ccfff;background:#133a5e}.source-delivery{color:#ffc58f;background:#4b2a10}.source-kiosk{color:#c9b8ff;background:#2d2350}.badge-updated{background:var(--warn);color:#1b1303}.badge-scheduled{color:#9fe7e7;background:#1f3a3a}.allergy{background:repeating-linear-gradient(-45deg, var(--allergy-bg), var(--allergy-bg) 12px, #5c1335 12px, #5c1335 24px);border:2px solid var(--allergy);border-radius:10px;margin:0 8px 8px;padding:10px 12px}.allergy-acked{background:var(--allergy-bg);border-style:dashed}.allergy-title{text-transform:uppercase;color:#ffd1e3;font-size:20px;font-weight:900}.allergy-list{margin:4px 0 8px;padding-left:20px;font-weight:700}.allergy-acked-note{color:#ffd1e3;font-weight:700}.btn-allergy{width:100%;min-height:var(--tap);background:var(--allergy);border-color:var(--allergy);color:#1f0010;font-size:20px}.order-note{background:var(--note-bg);color:var(--note);border-radius:8px;margin:0 8px 8px;padding:8px 10px;font-weight:700}.items{flex:1;margin:0;padding:0 8px;list-style:none;overflow-y:auto}.item+.item{border-top:1px solid var(--border)}.item-button{text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;width:100%;padding:10px 4px;display:block}.item-line{align-items:baseline;gap:8px;display:flex}.item-qty{min-width:2.2em;color:var(--accent);font-size:22px;font-weight:800}.item-name{flex:1;font-size:22px;font-weight:800}.item-variation{color:var(--muted);font-weight:600}.item.is-done .item-name,.item.is-done .mods,.item.is-done .item-note{opacity:.45;text-decoration:line-through}.item.change-removed{opacity:.6}.item.change-removed .item-name{text-decoration:line-through}.item.change-added{background:#3fb9501f}.chip{text-transform:uppercase;border-radius:6px;padding:2px 6px;font-size:13px;font-weight:800}.chip-added{background:var(--fresh);color:#062010}.chip-removed{background:var(--late);color:#1a0503}.chip-quantity,.chip-modified{background:var(--warn);color:#1b1303}.mods{gap:4px;margin:6px 0 0 2.6em;padding:0;list-style:none;display:grid}.mod{align-items:center;gap:8px;font-size:19px;font-weight:600;display:flex}.mod-tag{letter-spacing:.03em;border-radius:5px;padding:1px 6px;font-size:14px}.mod-remove{color:var(--remove)}.mod-remove .mod-tag{background:var(--remove-bg)}.mod-add{color:var(--add)}.mod-add .mod-tag{background:var(--add-bg)}.mod-extra{color:var(--extra)}.mod-extra .mod-tag{background:var(--extra-bg)}.mod-side{color:var(--side)}.mod-side .mod-tag{background:var(--side-bg)}.mod-light{color:var(--light)}.mod-light .mod-tag{background:var(--light-bg)}.mod-allergy{color:#ffd1e3}.mod-allergy .mod-tag{background:var(--allergy);color:#1f0010}.item-note{background:var(--note-bg);color:var(--note);border-radius:6px;margin:6px 0 0 2.6em;padding:4px 8px;font-weight:700}.ticket-foot{border-top:1px solid var(--border);padding:8px}.btn-bump{background:var(--fresh);border-color:var(--fresh);color:#062010;width:100%;min-height:60px;font-size:22px;font-weight:800}.btn-bump:disabled{background:var(--surface-3);border-color:var(--border);color:var(--muted);font-size:17px}.ticket.is-voided{opacity:.75}.void-stamp{letter-spacing:.1em;color:var(--late);pointer-events:none;background:#0f11158c;place-items:center;font-size:56px;font-weight:900;display:grid;position:absolute;inset:0;transform:rotate(-12deg)}.item.is-bumped .item-name,.item.is-bumped .mods,.item.is-bumped .item-note{opacity:.45}.chip-bumped{color:var(--fresh);background:#1f3a2a}.other-stations{color:var(--muted);margin:0 12px 8px;font-weight:700}.pill-station{color:#9ccfff;background:#15335a}.station-list{margin:0 0 12px;padding:0;list-style:none}.station-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.station-name{font-weight:800}.station-actions{gap:6px;display:flex}.station-editor{gap:12px;display:grid}.station-editor h4{color:var(--muted);margin:8px 0 0;font-size:15px}.field{gap:6px;font-weight:600;display:grid}.input{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--text);font:inherit;-webkit-user-select:text;user-select:text;border-radius:10px;padding:8px 12px}.checks{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;display:grid}.check{background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:4px 10px;display:flex}.check input{width:20px;height:20px}.editor-actions{gap:8px;display:flex}.warning{color:var(--warn);font-weight:600}.ready-strip{background:var(--surface);border-top:1px solid var(--border);align-items:center;gap:12px;min-height:72px;padding:8px 12px;display:flex}.ready-strip-label{color:var(--fresh);white-space:nowrap;font-weight:800}.ready-strip-list{gap:8px;display:flex;overflow-x:auto}.ready-chip{min-height:var(--tap);white-space:nowrap;cursor:pointer;background:#12301a;border:1px solid #285c33;border-radius:10px;flex-direction:column;align-items:flex-start;padding:6px 12px;font-weight:700;display:flex}.ready-chip-action{color:var(--fresh);font-size:13px}.drawer-backdrop{z-index:10;background:#0000008c;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(460px,100%);height:100%;display:flex}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.drawer-head h2{margin:0;font-size:22px}.drawer-body{padding:16px;overflow-y:auto}.setting+.setting{margin-top:24px}.setting h3{color:var(--muted);margin:0 0 10px;font-size:16px}.recall-list{margin:0;padding:0;list-style:none}.recall-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.recall-id{font-size:20px;font-weight:800}.toast{background:var(--surface-3);border:1px solid var(--border);z-index:20;border-radius:12px;max-width:min(640px,100% - 32px);padding:12px 18px;font-weight:600;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.customer{background:var(--c-bg,var(--bg));height:100%;color:var(--c-text,var(--text));cursor:none;flex-direction:column;display:flex}.customer-brand{background:var(--c-bg,var(--bg));border-bottom:1px solid color-mix(in srgb, var(--c-text,#fff) 12%, transparent);align-items:center;gap:2vw;padding:1.6vh 3vw;display:flex}.customer-logo{background:#fff;border-radius:12px;align-items:center;padding:.8vh 1vw;display:inline-flex}.customer[data-theme=light] .customer-logo{padding:0}.customer-logo img{object-fit:contain;max-width:40vw;height:9vh;display:block}.customer-name{font-size:clamp(24px,5vh,72px);font-weight:800;line-height:1.1}.customer-cols{flex:1;grid-template-columns:1fr 1.4fr;min-height:0;display:grid}.customer-col{padding:4vh 3vw;overflow:hidden}.customer-col h2{text-transform:uppercase;letter-spacing:.04em;margin:0 0 3vh;font-size:clamp(28px,4.5vh,64px);font-weight:900}.customer-col ul{gap:1.6vh;margin:0;padding:0;list-style:none;display:grid}.customer-preparing{background:var(--c-panel,var(--surface));color:var(--c-muted,var(--muted))}.customer-preparing .customer-primary{font-size:clamp(22px,4vh,52px);font-weight:700}.customer-ready{background:var(--c-ready-bg,#0c2414)}.customer-ready h2{color:var(--c-ready-heading,var(--fresh))}.customer-ready ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.customer-entry{flex-direction:column;display:flex}.customer-ready .customer-entry{background:var(--c-accent,#143a22);color:var(--c-on-accent,#eafff0);border-radius:16px;padding:2vh 1.5vw}.customer-ready .customer-primary{font-size:clamp(28px,6vh,84px);font-weight:900}.customer-secondary{opacity:.85;font-size:clamp(16px,2.6vh,36px);font-weight:700}.customer-entry.is-fresh{animation:1.6s ease-in-out infinite glow}.customer-hint{color:var(--c-ready-heading,var(--fresh));margin-top:3vh;font-size:clamp(18px,3vh,40px);font-weight:700}.customer-more{font-size:clamp(18px,3vh,40px);font-weight:700}.customer-fullscreen{cursor:pointer;position:fixed;bottom:16px;right:16px}.customer .customer-fullscreen{background:var(--c-panel,var(--surface-2));color:var(--c-text,var(--text));border-color:color-mix(in srgb, var(--c-text,#fff) 25%, transparent)}@keyframes pulse{50%{opacity:.35}}@keyframes glow{50%{box-shadow:0 0 0 6px var(--c-ready-heading,#3fb9508c)}}@media (prefers-reduced-motion:reduce){.health-dot.bad,.customer-entry.is-fresh{animation:none}}@media (width<=720px){.board-head{flex-wrap:wrap;gap:8px}.board-count{text-align:left;flex-basis:100%;order:3}.board-actions{flex-wrap:wrap}.board-actions .btn{min-height:40px;padding:6px 10px;font-size:16px}.ready-strip{flex-wrap:wrap}.customer{grid-template-rows:auto 1fr;grid-template-columns:1fr}}.pair-offer{justify-items:start;gap:8px;margin-top:20px;display:grid}.pair-offer p{margin:0}.paired-with{color:var(--fresh);margin:16px 0 0;font-weight:600}.setting .paired-with{margin:0 0 12px}.pair-card .stack{margin-top:20px}.input-code{letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:28px}.pair-back{margin-top:12px}.pair-code-box{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.pair-code{letter-spacing:.08em;font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;font-size:32px;font-weight:800}.pair-code-box p{max-width:32ch;margin:6px 0 0}.qr{background:#fff;border-radius:8px;flex:none;width:168px;height:168px;padding:6px}.qr svg{width:100%;height:100%;display:block}.pair-unpair{justify-items:start;margin-top:16px}.badge-late{background:var(--late);color:#1a0503}.scope-list{margin:0 0 12px;padding-left:20px;font-size:15px}.scope-list li+li{margin-top:2px}.setting h4{margin:12px 0 6px;font-size:15px}.square-actions{justify-items:start}.confirm-box{border:1px solid var(--late);border-radius:var(--radius);background:var(--surface-2);padding:12px}.confirm-box p{margin:0 0 10px}.legal-links{margin:16px 0 0}.legal-links a{color:var(--accent)}.look-preview{border-radius:var(--radius);border:1px solid var(--border);cursor:default;height:auto;margin-bottom:8px;overflow:hidden}.look-preview .customer-brand{padding:10px 14px}.look-preview .customer-logo img{max-width:220px;height:40px}.look-preview .customer-name{font-size:22px}.look-preview-ready{align-items:center;gap:16px;padding:14px;display:flex}.look-preview-heading{letter-spacing:.04em;color:var(--c-ready-heading);font-weight:900}.look-preview .look-preview-tile{border-radius:10px;padding:8px 16px}.look-preview .customer-primary{font-size:24px}.swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.swatch-btn{align-items:center;gap:8px;display:inline-flex}.swatch{border:2px solid #ffffffb3;border-radius:50%;flex:none;width:24px;height:24px}.swatch-picker input{cursor:pointer;background:0 0;border:none;width:32px;height:28px;padding:0}.hex-field{max-width:220px;margin-top:10px}.look-toggle{margin-top:4px}.brand-refresh{justify-items:start;margin-top:14px}.logo-upload{margin-top:6px}.logo-upload label.btn{cursor:pointer}.btn.is-disabled{opacity:.55;pointer-events:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.logo-upload label.btn:focus-within{outline:2px solid var(--accent);outline-offset:2px}.settings-group{border-top:1px solid var(--border);margin:32px 0 12px;padding-top:16px;font-size:18px}.success{color:var(--fresh);font-weight:600}.pin-form{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:8px;display:flex}.pin-input{letter-spacing:.3em;width:12ch;font-size:20px}.manager-gate>*+*{margin-top:10px}.keyword-input{resize:vertical;width:100%;min-height:160px}.setting .field+.editor-actions,.setting .checks+.field,.setting .checks+.editor-actions{margin-top:10px}.board-body{flex:1;min-height:0;display:flex}.board-body>.lane-wrap{flex:1;min-width:0}.lane .ticket{zoom:var(--ticket-zoom,1)}.wait-picker{position:relative}.btn-wait-on{border-color:var(--warn);color:var(--warn)}.wait-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:300px;padding:12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0006}.wait-menu p{margin:0 0 8px}.wait-choices{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.all-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:none;width:260px;margin:12px 12px 12px 0;padding:12px 14px;overflow-y:auto}.all-day h2{color:var(--muted);margin:0 0 10px;font-size:16px}.all-day ul{margin:0;padding:0;list-style:none}.all-day li{border-bottom:1px solid var(--border);font-size:calc(18px * var(--ticket-zoom,1));align-items:baseline;gap:10px;padding:6px 0;display:flex}.all-day-qty{font-variant-numeric:tabular-nums;text-align:right;min-width:2.2ch;font-weight:800}.choice-row{gap:6px;display:grid}.choice-row+.choice-row{margin-top:10px}.customer-wait{background:var(--c-panel);color:var(--c-text);text-align:center;border-radius:999px;width:fit-content;margin:0 auto 8px;padding:8px 20px;font-size:clamp(18px,2.4vw,30px);font-weight:700}.counter{flex-direction:column;height:100%;display:flex}.counter-settings{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;padding:12px 16px;display:flex}.counter-cols{flex:1;grid-template-columns:2fr 1fr;gap:16px;min-height:0;padding:16px;display:grid}.counter-col{min-height:0;overflow-y:auto}.counter-col h2{color:var(--muted);margin:0 0 10px;font-size:18px}.counter-col ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.counter-row{background:var(--surface);border:1px solid var(--border);border-left:8px solid var(--fresh);border-radius:var(--radius);grid-template-columns:minmax(8ch,auto) 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.counter-row.aging-warn{border-left-color:var(--warn)}.counter-row.aging-late{border-left-color:var(--late);background:color-mix(in srgb, var(--late) 12%, var(--surface))}.counter-id{font-size:22px;font-weight:800}.counter-time{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.badge-allergy{background:var(--allergy);color:#1f0010;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:13px;font-weight:800}.pill-late{background:var(--late);color:#1b0000}.counter-ready .ready-chip{width:100%}@media (width<=760px){.counter-cols{grid-template-columns:1fr}}
