@font-face{font-family:Bungee;src:url(/fonts/Bungee-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Variable.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{--bg:#0d1b1a;--bg-elevated:#172e2a;--bg-elevated-2:#1f3b36;--border:#ffffff1f;--text:#f4f7f5;--text-muted:#9fb8b2;--green:#3ed66b;--amber:#f5a623;--price:#ff6b35;--danger:#ff5c5c;--on-accent:#0d1b1a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--ease-out:cubic-bezier(.23, 1, .32, 1);--dur-fast:.16s;--dur-normal:.22s;--font-display:"Bungee", system-ui, sans-serif;--font-body:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.45}button{font:inherit;color:inherit}img{max-width:100%;display:block}a{color:var(--amber)}:focus-visible{outline:2px solid var(--green);outline-offset:2px}input{accent-color:var(--green)}#app{flex-direction:column;min-height:100vh;padding-bottom:100px;display:flex}.topbar{z-index:20;background:var(--bg-elevated);border-bottom:2px solid #0000;border-image:linear-gradient(90deg, var(--green), var(--amber)) 1;align-items:center;gap:10px;padding:13px 16px;display:flex;position:sticky;top:0}.brand-logo{object-fit:cover;background:var(--bg-elevated-2);border-radius:10px;flex-shrink:0;width:36px;height:36px}.brand-wordmark{min-width:0;font-family:var(--font-display);letter-spacing:.01em;flex-wrap:wrap;align-items:baseline;column-gap:6px;margin:0;font-size:.95rem;line-height:1.15;display:flex}.brand-word-a{color:var(--green)}.brand-word-b{color:var(--amber)}.mesa-tag{letter-spacing:.03em;color:var(--amber);background:var(--bg-elevated-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;flex-shrink:0;margin-left:auto;padding:5px 11px;font-size:.72rem;font-weight:700}.pedido-bar[hidden]{display:none}.pedido-bar{border:none;border-bottom:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-family:inherit;font-size:.8rem;display:flex}.pedido-bar strong{color:var(--text)}.pedido-bar-dot{background:var(--amber);border-radius:50%;width:8px;height:8px}.tabs{z-index:19;background:var(--bg);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:12px;display:flex;position:sticky;top:63px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);text-transform:capitalize;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:999px;flex:none;padding:13px 16px;font-size:.83rem;font-weight:700}.tab:active{transform:scale(.96)}.tab[aria-selected=true]{background:var(--green);border-color:var(--green);color:var(--on-accent)}.grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 12px 24px;display:grid}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.card:active{transform:scale(.97)}.card:hover{border-color:var(--bg-elevated-2)}.card-img{aspect-ratio:3/4;background:var(--bg-elevated-2);width:100%;color:var(--text-muted);justify-content:center;align-items:center;display:flex;overflow:hidden}.card-img img{object-fit:cover;width:100%;height:100%}.card-body{flex-direction:column;flex:1;gap:4px;padding:10px 12px 12px;display:flex}.card-name{color:var(--text);font-size:.87rem;font-weight:700;line-height:1.25}.card-price{color:var(--price);margin-top:auto;font-size:.9rem;font-weight:800}.cart-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;background:var(--green);width:calc(100% - 24px);color:var(--on-accent);border-radius:var(--radius-xl);cursor:pointer;min-height:44px;transition:transform var(--dur-fast) var(--ease-out);border:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 18px;font-family:inherit;font-size:.92rem;font-weight:800;display:flex;position:fixed;box-shadow:0 10px 30px #00000073}.cart-bar:active{transform:scale(.96)}@media (width>=640px){.cart-bar{width:536px;max-width:calc(100% - 24px);left:auto;right:calc(50% - 268px)}}.cart-bar-left{align-items:center;gap:8px;display:flex}.cart-icon{width:20px;height:20px;display:inline-flex}.cart-badge{background:var(--on-accent);color:var(--amber);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.76rem;font-weight:800;display:inline-flex}.cart-total{white-space:nowrap;padding-right:10px;font-size:1rem;font-weight:800}.overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:overlay-fade var(--dur-normal) var(--ease-out);background:#060e0dc7;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--bg-elevated);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:560px;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--border);animation:sheet-in var(--dur-normal) var(--ease-out);overflow-y:auto;box-shadow:0 -16px 50px #00000080}@keyframes sheet-in{0%{opacity:0;transform:translateY(2%)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-header h2{font-family:var(--font-display);letter-spacing:.01em;color:var(--text);margin:0;font-size:1.05rem;font-weight:400}.icon-btn{background:color-mix(in srgb, var(--danger) 16%, var(--bg-elevated-2));border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);width:44px;height:44px;color:var(--danger);transition:transform var(--dur-fast) var(--ease-out);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transform:scale(.92)}.modal-img{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--bg-elevated-2);width:100%;margin-bottom:14px;position:relative;overflow:hidden}.modal-img img{object-fit:cover;width:100%;height:100%}.option-group{margin-bottom:16px}.option-group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 8px;font-size:.78rem;font-weight:800}.option-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:6px 0;font-size:.9rem;display:flex}.option-row:last-child{border-bottom:none}.option-row .price{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.qty-control{align-items:center;gap:14px;display:flex}.qty-control button{border:1px solid var(--border);background:var(--bg-elevated-2);width:44px;height:44px;transition:transform var(--dur-fast) var(--ease-out);border-radius:999px;font-size:1.1rem;font-weight:800}.qty-control button:active{transform:scale(.9)}.modal-footer{margin:16px -16px calc(-18px - env(safe-area-inset-bottom));padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:var(--bg-elevated);border-top:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;bottom:-18px}.btn{border-radius:var(--radius-sm);cursor:pointer;min-height:48px;transition:transform var(--dur-fast) var(--ease-out);border:none;padding:13px 18px;font-size:.92rem;font-weight:800}.btn:active{transform:scale(.97)}.btn-primary{background:var(--green);color:var(--on-accent);flex:1}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-elevated-2);color:var(--text);border:1px solid var(--border)}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-block{width:100%}.cart-item{border-bottom:1px solid var(--border);gap:10px;padding:14px 0;display:flex}.cart-item:last-child{border-bottom:none}.cart-item-info{flex:1}.cart-item-name{font-size:.92rem;font-weight:700}.cart-item-detail{color:var(--text-muted);margin-top:2px;font-size:.78rem}.cart-item-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.cart-item-actions .btn{min-height:36px;padding:8px 14px;font-size:.78rem}.cart-item-price{color:var(--price);white-space:nowrap;font-weight:800}.cart-summary{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-top:4px;padding:16px 0;font-size:1.05rem;font-weight:800;display:flex}.cart-summary span:last-child{color:var(--price);font-size:1.2rem}.mesa-field{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:12px 0;display:flex}.mesa-field input{background:var(--bg-elevated-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:76px;min-height:44px;color:var(--text);text-align:center;padding:8px 10px;font-size:.95rem;font-weight:700}.empty-state,.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:60px 24px;display:flex}.error-state .error-icon{color:var(--amber)}.error-state h1{font-family:var(--font-display);color:var(--amber);letter-spacing:.01em;margin:0;font-size:1.2rem;font-weight:400}.error-state p{color:var(--text-muted);max-width:320px}.error-state .btn{flex:none;width:min(260px,100%)}.skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-elevated-2) 37%, var(--bg-elevated) 63%);background-size:400% 100%;animation:1.4s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0}}.skeleton-shell{flex-direction:column;min-height:100vh;display:flex}.skeleton-topbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:13px 16px;display:flex}.skeleton-logo{border-radius:10px;flex-shrink:0;width:36px;height:36px}.skeleton-title{border-radius:4px;width:46%;height:16px}.skeleton-tabs{gap:8px;padding:12px;display:flex}.skeleton-tab{border-radius:999px;flex-shrink:0;width:78px;height:34px}.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:2px 12px 24px;display:grid}.skeleton-card{aspect-ratio:3/4;border-radius:var(--radius-lg)}@media (width>=640px){.skeleton-grid{grid-template-columns:repeat(3,1fr)}}.banner{background:var(--bg-elevated-2);color:var(--text-muted);border-bottom:1px solid var(--border);padding:11px 16px;font-size:.82rem;font-weight:600}.banner.warn{color:var(--amber)}.inline-error{color:var(--danger);margin-top:10px;font-size:.85rem}.spinner{border:2px solid #0d1b1a59;border-top-color:var(--on-accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.confirm-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px 4px 4px;display:flex}.confirm-check{color:var(--green)}.confirm-state .order-number{font-family:var(--font-display);letter-spacing:.02em;color:var(--amber);font-size:1.7rem;font-weight:400}.confirm-state .order-total{color:var(--price);font-size:1.15rem;font-weight:800}.pedido-steps{align-items:flex-start;width:100%;margin:4px 0;display:flex}.pedido-step{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.pedido-step-dot{background:var(--bg-elevated-2);border:2px solid var(--border);border-radius:50%;width:14px;height:14px}.pedido-step-label{color:var(--text-muted);font-size:.75rem}.pedido-step-hora{color:var(--text-muted);font-size:.68rem}.pago-qr{background:var(--bg-elevated-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:4px;padding:14px;display:flex}.pago-qr img{border-radius:var(--radius-sm);background:#fff;padding:6px}.pago-qr-datos{margin:4px 0 0;font-size:.9rem;font-weight:700}.pago-qr-nota{color:var(--text-muted);margin:0;font-size:.78rem}.pedido-step.is-done .pedido-step-dot{background:var(--green);border-color:var(--green)}.pedido-step.is-done .pedido-step-label{color:var(--text)}.pedido-step.is-current .pedido-step-dot{background:var(--amber);border-color:var(--amber);animation:2.4s ease-in-out infinite pedido-pulso}.pedido-step.is-current .pedido-step-label{color:var(--text);font-weight:700}.pedido-step-line{background:var(--border);flex:1;height:2px;margin-top:6px}.pedido-step-line.is-done{background:var(--green)}@keyframes pedido-pulso{0%,to{opacity:1;box-shadow:0 0 #f5a62359}50%{opacity:.85;box-shadow:0 0 0 6px #f5a62300}}@media (width>=640px){#app{max-width:560px;margin:0 auto}.grid{grid-template-columns:repeat(3,1fr)}}
