:root{--bg: #001b2e;--surface: #003049;--surface-2: #0d3f5c;--border: #1a5075;--text: #eae2b7;--text-dim: #8fa9ba;--accent: #f77f00;--accent-text: #003049;--accent-2: #fcbf49;--danger: #e05959;--success: #4caf7d;--accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);--success-soft: color-mix(in srgb, var(--success) 16%, transparent);--danger-soft: color-mix(in srgb, var(--danger) 16%, transparent);--radius: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button,input{font-family:inherit}.app-shell{max-width:480px;min-height:100vh;margin:0 auto;background:var(--bg);display:flex;flex-direction:column}.app-shell-wide{max-width:1100px}@media (max-width: 700px){.app-shell-wide{max-width:480px}}.app-header{display:flex;align-items:baseline;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}.header-actions{margin-left:auto;display:flex;align-items:center}.wordmark{font-weight:700;letter-spacing:.02em;color:var(--accent);text-decoration:none}.header-title{color:var(--text-dim);font-size:.9rem}.app-main{flex:1;padding:20px 20px 100px}.eyebrow{color:var(--text-dim);font-size:.85rem;margin:0 0 4px;text-transform:uppercase;letter-spacing:.06em}.landing{padding-top:20vh;text-align:center}.landing h1{margin:0 0 32px;font-size:1.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius);padding:12px 20px;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .05s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-lg{padding:16px 28px;font-size:1.1rem}.btn-block{display:flex;width:100%}.menu-list{list-style:none;margin:0;padding:0}.menu-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}.menu-row-info{display:flex;align-items:baseline;gap:10px}.menu-number{color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:22px}.menu-name{font-weight:600}.menu-row-controls{display:flex;align-items:center;gap:14px}.menu-price{color:var(--text-dim);font-variant-numeric:tabular-nums}.stepper{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:999px;padding:4px 10px}.stepper button{width:28px;height:28px;border-radius:50%;border:none;background:var(--surface-2);color:var(--text);font-size:1.1rem;cursor:pointer}.stepper button:disabled{opacity:.35;cursor:default}.stepper span{min-width:16px;text-align:center;font-variant-numeric:tabular-nums}.sticky-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface);border-top:1px solid var(--border)}.cart-list{list-style:none;margin:0 0 24px;padding:0}.cart-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.tip-section h2{font-size:1rem;color:var(--text-dim);margin:0 0 10px}.tip-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 16px;font-size:.9rem;cursor:pointer}.chip-active{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.custom-tip{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:.9rem}.custom-tip input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;width:90px}.totals{margin:24px 0;padding-top:12px;border-top:1px solid var(--border)}.totals>div,.receipt>div{display:flex;justify-content:space-between;padding:4px 0;color:var(--text-dim);font-size:.9rem}.totals-final{color:var(--text)!important;font-weight:700;font-size:1.1rem!important;padding-top:10px!important;border-top:1px solid var(--border);margin-top:6px}.empty-state{color:var(--text-dim);text-align:center;padding-top:60px}.order-status{text-align:center}.token-display{margin:32px 0}.token-emoji{font-size:8rem;line-height:1}.waiting-copy{color:var(--text-dim);margin:32px 0}.receipt{text-align:left;margin-top:32px;padding-top:16px;border-top:1px solid var(--border)}.receipt h2{font-size:1rem;color:var(--text-dim);margin:0 0 8px}.receipt ul{list-style:none;margin:0 0 8px;padding:0}.receipt li{display:flex;justify-content:space-between;padding:3px 0;font-size:.9rem}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.staff-tile{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 8px;color:var(--text);cursor:pointer}.staff-avatar{width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-weight:700}.pin-dots{display:flex;gap:14px;justify-content:center;margin:24px 0}.pin-dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--border)}.pin-dot.filled{background:var(--accent);border-color:var(--accent)}.pin-error .pin-dot{border-color:var(--danger)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:280px;margin:0 auto}.pin-pad button{aspect-ratio:1;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1.3rem;cursor:pointer}.link-button{display:block;margin:24px auto 0;background:none;border:none;color:var(--text-dim);font-size:.85rem;cursor:pointer}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.void-toggle{background:none;border:2px solid var(--danger);color:var(--danger);border-radius:999px;padding:12px 22px;font-size:1rem;font-weight:700;cursor:pointer}.void-toggle-armed{background:var(--danger);color:#fff;border-color:var(--danger)}.void-armed .order-card-selectable{background:var(--danger-soft);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.void-armed .rail-release-btn{background:var(--danger);color:#fff;box-shadow:0 0 0 2px var(--bg),0 0 0 5px var(--accent)}.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.order-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.order-card-muted{opacity:.55}.order-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-handle{font-weight:700;letter-spacing:.05em}.order-items{list-style:none;margin:0 0 8px;padding:0;color:var(--text-dim);font-size:.9rem}.order-card-footer{color:var(--text-dim);font-size:.85rem;margin-bottom:10px}.queue-section{margin-bottom:28px}.queue-heading{font-size:1rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.bind-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.bind-target{color:var(--text-dim);font-size:.9rem}.bind-input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;width:160px;font-size:.9rem}.order-card-selectable{cursor:pointer}.order-card-focused{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);padding:20px 22px}.order-card-focused .order-handle{font-size:1.5rem}.order-card-focused .order-items{font-size:1.35rem;font-weight:600}.order-card-focused .order-card-footer{font-size:.95rem}.queue-section .order-handle{color:var(--text-dim)}.queue-section .order-items{color:#fff}@media (min-width: 701px){.app-shell-wide .queue-columns{display:grid;grid-template-columns:1.5fr 1fr;align-items:start;gap:32px}}.rail-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px}.rail-card{display:flex}.rail-release-btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--radius);padding:18px 26px;min-width:140px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:transform .05s ease}.rail-release-token{font-size:2.4rem;line-height:1}.rail-release-handle{font-size:1.1rem;font-weight:700}.rail-release-btn:active{transform:scale(.97)}.rail-release-btn:disabled{opacity:.5;cursor:default}.past-orders{margin-top:20px;color:var(--text-dim);font-size:.9rem}.status-badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-confirmed{background:var(--accent-soft);color:var(--accent)}.status-ready{background:var(--success-soft);color:var(--success)}.status-completed{background:var(--surface-2);color:var(--text-dim)}.status-voided{background:var(--danger-soft);color:var(--danger)}.status-pending_confirm{background:var(--surface-2);color:var(--text-dim)}.status-authorized,.status-making{background:var(--accent-soft);color:var(--accent)}.status-awaiting_reconfirm,.status-uncollected{background:var(--danger-soft);color:var(--danger)}.auth-copy{color:var(--text-dim);font-size:.9rem;margin:0 0 20px}.auth-phone{margin:0 0 20px;font-size:1.4rem}.auth-input{display:block;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:14px 16px;font-size:1rem;margin-bottom:14px}.auth-row{display:flex;gap:12px}.auth-row .auth-input{flex:1}.field-error{color:var(--danger);font-size:.85rem;text-align:center;margin:-10px 0 16px}.consent-row{display:flex;gap:10px;align-items:flex-start;color:var(--text-dim);font-size:.82rem;margin:16px 0 24px}.consent-row input{margin-top:3px}.signed-in-as{margin-top:16px;color:var(--text-dim);font-size:.85rem}.link-button:disabled{opacity:.4;cursor:default}.field-label{display:block;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;opacity:.7;margin:.75rem 0 .25rem}.auth-input-invalid,.consent-row-invalid{outline:2px solid var(--danger);outline-offset:2px;border-radius:4px}.index-head h1{margin:8px 0;font-size:1.75rem}.venue-search{display:block;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:14px 16px;font-size:1rem;margin:20px 0 8px}.venue-search::placeholder{color:var(--text-dim)}.venue-list{list-style:none;margin:8px 0 0;padding:0}.venue-row+.venue-row{border-top:1px solid var(--border)}.venue-link{display:flex;flex-direction:column;gap:3px;padding:16px 4px;text-decoration:none;color:var(--text)}.venue-name{font-size:1.0625rem;font-weight:600}.venue-address{font-size:.85rem;color:var(--text-dim)}.venue-row-closed .venue-link{cursor:default}.venue-row-closed .venue-name,.venue-row-closed .venue-address{opacity:.5}.venue-flag{font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;color:var(--danger)}.section-nav{position:sticky;top:57px;z-index:9;display:flex;gap:8px;overflow-x:auto;padding:12px 0;margin-bottom:4px;background:var(--bg);scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-chip{flex:0 0 auto;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-dim);padding:7px 14px;font-size:.85rem;white-space:nowrap;cursor:pointer}.section-chip:hover{color:var(--text);border-color:var(--text-dim)}.menu-section+.menu-section{margin-top:26px}.section-heading{scroll-margin-top:110px;margin:0 0 6px;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.user-menu{position:relative;margin-left:auto}.user-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);cursor:pointer}.user-button-known{color:var(--accent);border-color:var(--accent)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:216px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 28px #00000073;overflow:hidden;z-index:20}.user-dropdown-head{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-bottom:1px solid var(--border)}.user-dropdown-label{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim)}.user-dropdown-phone{font-size:.95rem;font-weight:600}.user-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;background:none;border:0;text-align:left;font-size:.95rem;color:var(--text);text-decoration:none;cursor:pointer}.user-dropdown-item:hover{background:var(--surface-2)}.user-dropdown-note{font-size:.78rem;color:var(--text-dim)}.account-status{display:flex;align-items:baseline;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:14px}.account-status-label{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.account-status-yes{color:var(--success);font-weight:600}.account-status-no{color:var(--text-dim)}.save-confirm{color:var(--success);font-size:.9rem;margin:8px 0}.dev-fill{display:block;width:100%;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-dim);padding:10px 14px;font-size:.85rem;margin-bottom:16px;cursor:pointer}.dev-fill span{opacity:.7}.dev-fill:hover{color:var(--text);border-color:var(--text-dim)}.header-link{margin-left:auto;color:var(--text-dim);font-size:.85rem;text-decoration:none}.header-link:hover{color:var(--text)}.verify-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px}.lookup-note{font-size:.8rem;color:var(--text-dim);margin:-6px 0 12px}.details-reveal{animation:reveal .18s ease-out}@keyframes reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.details-reveal{animation:none}}.pay-with{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin:18px 0}.pay-with-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pay-with-card{font-variant-numeric:tabular-nums;font-weight:600}.pay-with .lookup-note{margin:4px 0 6px}.pay-with .link-button{padding:0}.section-chip-active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.order-featured{display:block;border:1px solid var(--accent);border-radius:var(--radius);padding:16px;margin-bottom:20px;text-decoration:none;color:var(--text)}.order-featured-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.order-featured-venue{color:var(--text-dim);font-size:.85rem;margin:0 0 10px}.order-featured-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px;font-variant-numeric:tabular-nums;font-weight:600}.order-featured-foot .lookup-note{margin:0;font-weight:400}.order-history{list-style:none;margin:0;padding:0}.order-history li+li{border-top:1px solid var(--border)}.order-history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 2px;text-decoration:none;color:var(--text)}.order-history-main{display:flex;flex-direction:column;gap:3px;min-width:0}.order-history-venue{font-weight:600}.order-history-items{font-size:.88rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-history-main .lookup-note{margin:0}.order-history-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.order-history-total{font-variant-numeric:tabular-nums;font-weight:600}.user-dropdown-badge{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:.75rem;font-weight:700;text-align:center}.cancel-link{display:block;margin:28px auto 0;color:var(--text-dim)}.cancel-confirm{margin-top:28px;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.cancel-confirm p{margin:0 0 12px;font-size:.95rem}.cancel-confirm-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.cancel-confirm-cancel{background:none;border:none;padding:0;color:var(--danger);text-decoration:underline;font-size:.9rem;cursor:pointer}.cancel-confirm-cancel:disabled{opacity:.5;cursor:default}.cancel-blocked{margin:28px 0 0;font-size:.9rem;color:var(--text-dim)}.cancel-refusal{margin:20px 0 0;padding:12px 14px;border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:.9rem}
