@import "https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f4;--bg-deep:#e2e7ec;--ink:#12161c;--muted:#5c6570;--surface:#fff;--line:#12161c1a;--accent:#0f6e56;--brand-primary:#12161c;--brand-accent:#0f6e56;--danger:#b42318;--ok:#0f6e56;--warn:#b54708;--info:#175cd3;--radius:16px;--shadow:0 10px 30px #12161c0f;--touch:2.75rem;--font-display:"Outfit", "Avenir Next", sans-serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 100% -10%, #0f6e5617, transparent 55%), radial-gradient(ellipse 60% 40% at 0% 100%, #175cd30f, transparent 50%), linear-gradient(180deg, #f5f7f9 0%, var(--bg) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid color-mix(in srgb, var(--brand-accent) 70%, #175cd3);outline-offset:2px}.page{min-height:100dvh;padding:1rem 1.15rem calc(1.5rem + env(safe-area-inset-bottom));animation:.35s ease-out pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.top-bar,.guest-header,.staff-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-weight:700;text-decoration:none}.brand a{text-decoration:none}.lang-switch{border:1px solid var(--line);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch button{cursor:pointer;min-height:2.25rem;color:var(--muted);background:0 0;border:0;padding:.35rem .75rem}.lang-switch button.active{background:var(--ink);color:#fff}.env-banner{border-radius:var(--radius);background:#fff8eb;border:1px solid #b5470847;gap:.25rem;margin-bottom:1rem;padding:.85rem 1rem;display:grid}.home-main,.login-main,.guest-main,.staff-main{max-width:42rem;margin:0 auto}.staff-main{max-width:48rem}.home-page .home-main{text-align:left;padding:18vh 0 2rem}.home-main h1,.login-main h1,.guest-error h1,.menu-placeholder h1,.status-hero{font-family:var(--font-display);letter-spacing:-.045em;margin:0 0 .6rem;font-size:clamp(2.1rem,7vw,3.25rem);font-weight:700;line-height:1.02}.lede{color:var(--muted);max-width:28rem;margin:0 0 1rem;font-size:1.2rem}.hint,.muted,.role-line,.venue-line,.location-line{color:var(--muted)}.location-context{flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin:0 0 1rem;display:flex}.location-context .ghost-button{min-height:2.25rem}.primary-link,.primary-button{min-height:var(--touch);background:var(--brand-primary);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:1.25rem;padding:.85rem 1.35rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.primary-link:hover,.primary-button:hover:not(:disabled){box-shadow:var(--shadow);transform:translateY(-1px)}.primary-button:disabled,.nav-card:disabled{opacity:.5;cursor:not-allowed;transform:none}.ghost-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:2.5rem;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:.45rem .95rem;text-decoration:none;display:inline-flex}.login-form{border-radius:calc(var(--radius) + 2px);background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);gap:1rem;padding:1.35rem;display:grid}.login-form label{gap:.4rem;font-size:.92rem;font-weight:600;display:grid}.login-form input,.login-form select,.cart-form input,.cart-form select,.cart-form textarea,.item-editor input,.inline-form input{width:100%;min-height:var(--touch);border:1px solid var(--line);background:#fff;border-radius:12px;padding:.7rem .9rem}.form-error{color:var(--danger);margin:0;font-weight:600}.guest-page{background:radial-gradient(circle at top right, color-mix(in srgb, var(--brand-accent) 16%, white), transparent 42%), linear-gradient(180deg, #fbfcfd, color-mix(in srgb, var(--brand-primary) 5%, #eef1f4))}.guest-brand{align-items:center;gap:.75rem;min-width:0;display:flex}.venue-logo{object-fit:cover;border-radius:10px;flex-shrink:0;width:2.75rem;height:2.75rem}.venue-name{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand-primary);margin:0;font-size:clamp(1.35rem,4vw,1.75rem);font-weight:700;line-height:1.1}.menu-placeholder,.guest-error,.empty-state{border-radius:calc(var(--radius) + 2px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);margin-top:1.5rem;padding:1.5rem}.payment-badge,.notice,.status-chip{border:1px solid var(--line);color:var(--muted);background:#12161c0d;border-radius:999px;align-items:center;gap:.35rem;margin-top:.35rem;padding:.3rem .7rem;font-size:.88rem;font-weight:600;display:inline-flex}.notice{background:color-mix(in srgb, var(--warn) 12%, white);border-color:color-mix(in srgb, var(--warn) 28%, white);color:#7a3410}.status-chip{background:color-mix(in srgb, var(--brand-accent) 12%, white);color:var(--ink);border-color:#0000}.staff-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.staff-subnav{-webkit-overflow-scrolling:touch;gap:.4rem;margin:-.25rem 0 1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.staff-subnav a{border:1px solid var(--line);background:var(--surface);min-height:2.4rem;color:var(--muted);border-radius:999px;flex:none;align-items:center;padding:.45rem .85rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.staff-subnav a.active{background:var(--ink);color:#fff;border-color:var(--ink)}.staff-nav{gap:.75rem;margin-top:1rem;display:grid}.nav-card{text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);width:100%;min-height:4.25rem;box-shadow:var(--shadow);color:inherit;font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 1.15rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .15s;display:flex}.nav-card:hover:not(:disabled){transform:translateY(-1px)}.nav-card small{color:var(--muted);font-family:var(--font-body);font-size:.85rem;font-weight:400}.guest-main.has-cart-bar{padding-bottom:6rem}.menu-section{margin:1.75rem 0;animation:.4s ease-out pageIn}.menu-section h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .85rem;font-size:1.15rem}.menu-list,.cart-lines,.queue-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.menu-item{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);grid-template-columns:5rem 1fr;gap:.85rem;padding:.85rem;display:grid}.menu-item.sold-out{opacity:.62}.menu-thumb{object-fit:cover;background:linear-gradient(135deg,#dbe3ea,#eef2f5);border-radius:12px;width:5rem;height:5rem}.menu-thumb.placeholder{color:#9aa5b1;place-items:center;font-size:1.4rem;display:grid}.menu-item-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.menu-item-top strong{font-family:var(--font-display);letter-spacing:-.02em}.menu-item-top span{white-space:nowrap;font-weight:700}.sold-badge{color:var(--danger);margin-top:.35rem;font-size:.85rem;font-weight:700;display:inline-block}.primary-button.compact{min-height:2.5rem;margin-top:.55rem;padding:.5rem 1rem;font-size:.95rem}.cart-bar{left:max(1rem, env(safe-area-inset-left));right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));background:var(--brand-primary);color:#fff;cursor:pointer;z-index:20;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;min-height:3.35rem;padding:.9rem 1.2rem;font-weight:700;animation:.28s ease-out cartIn;display:flex;position:fixed;box-shadow:0 14px 36px #12161c38}@keyframes cartIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.cart-form{gap:.85rem;display:grid}.cart-lines li,.queue-card,.staff-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);padding:1rem 1.05rem}.cart-line-top{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.qty-row{align-items:center;gap:.55rem;margin-top:.65rem;display:flex}.qty-row button{width:var(--touch);height:var(--touch);border:1px solid var(--line);cursor:pointer;background:#f4f6f8;border-radius:12px;font-size:1.25rem;font-weight:600}.qty-row input{text-align:center;width:3.25rem;min-height:var(--touch)}.cart-form label,.item-editor label{color:var(--muted);gap:.35rem;margin-top:.55rem;font-size:.92rem;font-weight:600;display:grid}.confirm-row{color:var(--ink);align-items:flex-start;gap:.55rem;font-weight:500;grid-template-columns:none!important;display:flex!important}.cart-total{font-family:var(--font-display);letter-spacing:-.03em;margin:.5rem 0 0;font-size:1.45rem;font-weight:700}.status-hero{margin:.15rem 0 .85rem}.status-track{grid-template-columns:repeat(5,1fr);gap:.35rem;margin:1rem 0 1.35rem;display:grid}.status-track span{background:#d7dde3;border-radius:999px;height:.35rem}.status-track span.on{background:var(--brand-accent)}.inline-form{grid-template-columns:1fr auto;align-items:center;gap:.5rem;margin-bottom:1rem;display:grid}.inline-form:has(>input:nth-child(2)){grid-template-columns:1fr 5.5rem auto}.row-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.queue-card.pulse{animation:1.2s ease-out 2 pulse}.queue-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.queue-top strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.15rem}.retarget{color:var(--danger)}.time-ago{color:var(--muted);font-size:.85rem;font-weight:600}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 40%, transparent)}to{box-shadow:0 0 0 14px #0000}}.floor-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;display:grid}.floor-tile{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:inherit;border-left-width:4px;gap:.4rem;min-height:5.75rem;padding:1rem .9rem;text-decoration:none;transition:transform .15s;display:grid}.floor-tile:hover{transform:translateY(-1px)}.floor-tile strong{font-family:var(--font-display)}.floor-tile.status-idle{border-left-color:#98a2b3}.floor-tile.status-waiting{border-left-color:var(--warn)}.floor-tile.status-in_progress{border-left-color:var(--info)}.floor-tile.status-ready{border-left-color:var(--ok)}.floor-tile.status-attention{border-left-color:var(--danger)}.brand-preview{border-radius:var(--radius);border:1px solid var(--line);background:radial-gradient(circle at top right, color-mix(in srgb, var(--brand-accent) 14%, white), transparent 50%), #fff;padding:1.1rem}.skeleton{gap:.75rem;display:grid}.skeleton-line,.skeleton-card{background:linear-gradient(90deg,#e6eaee 0%,#f3f5f7 50%,#e6eaee 100%) 0 0/200% 100%;border-radius:12px;animation:1.2s linear infinite shimmer}.skeleton-line{height:.9rem}.skeleton-card{height:5.25rem}@keyframes shimmer{to{background-position:-200% 0}}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=720px){.staff-nav{grid-template-columns:1fr 1fr}.page{padding:1.35rem 1.75rem 2rem}}
