:root{--cream:#fbf4e9;--cream2:#f3e7d3;--terra:#c4583a;--terra-d:#a2432a;--esp:#2b1a12;--esp2:#4a3226;--gold:#c9a24b;--ok:#4f8a5b;--muted:#8a7565;--card:#fffaf1;--r:20px;--shadow:0 10px 30px rgba(43,26,18,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--cream);color:var(--esp);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;margin:0;font-weight:700}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}img{max-width:100%;display:block}@keyframes up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{50%{transform:scale(1.15)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.app,.admin{max-width:1100px;margin:0 auto;padding:0 16px 120px}.app{max-width:none;padding:0 clamp(16px,4vw,56px) 120px}.app>.tracker,.app>section,.app>.notice,.app>.grid,.app>.tabs{max-width:1200px;margin-left:auto;margin-right:auto}.app>.grid{display:grid}.app>.tabs{display:flex}.hero{position:relative;margin:0 calc(-1*clamp(16px,4vw,56px));height:clamp(220px,28vw,340px);color:#fff;overflow:hidden;border-radius:0 0 32px 32px;background:var(--esp)}.hero img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.55}.hero-inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:linear-gradient(transparent,#2b1a12d9)}.hero h1{font-size:2.2rem}.hero p{margin:4px 0 0;opacity:.85;font-size:.95rem}.table-chip{position:absolute;top:16px;right:16px;background:var(--gold);color:var(--esp);padding:8px 14px;border-radius:99px;font-weight:700;font-size:.85rem;z-index:2}.tabs{display:flex;gap:8px;overflow-x:auto;padding:16px 0 8px;position:sticky;top:0;background:var(--cream);z-index:5;scrollbar-width:none}.tab{padding:9px 16px;border-radius:99px;background:var(--cream2);font-weight:600;font-size:.88rem;white-space:nowrap;transition:.2s}.tab.active{background:var(--esp);color:var(--cream)}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:12px}.card{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);animation:fade .4s both;transition:transform .2s}.card:hover{transform:translateY(-2px)}.card.off{opacity:.55}.card-img{height:160px;width:100%;object-fit:cover;background:var(--cream2)}.card-body{padding:14px 16px 16px}.card h3{font-size:1.15rem}.card p{color:var(--muted);font-size:.86rem;margin:4px 0 12px;line-height:1.4}.card-row{display:flex;justify-content:space-between;align-items:center}.price{font-weight:700;color:var(--terra);font-size:1.05rem}.btn{background:var(--terra);color:#fff;padding:11px 20px;border-radius:99px;font-weight:600;transition:.2s}.btn:hover{background:var(--terra-d)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--cream2);color:var(--esp)}.btn.dark{background:var(--esp);color:var(--cream)}.btn.small{padding:7px 14px;font-size:.85rem}.stepper{display:inline-flex;align-items:center;gap:10px;background:var(--cream2);border-radius:99px;padding:3px}.stepper button{width:32px;height:32px;border-radius:50%;background:var(--terra);color:#fff;font-size:1.1rem;font-weight:700}.stepper span{min-width:18px;text-align:center;font-weight:700}.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:700;background:var(--cream2)}.cart-bar{position:fixed;left:50%;transform:translate(-50%);bottom:16px;width:calc(100% - 32px);max-width:720px;background:var(--esp);color:var(--cream);border-radius:99px;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 32px #00000059;animation:fade .3s;z-index:30;font-weight:600}.hero img,.hero-inner{pointer-events:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b1a128c;z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}.sheet{background:var(--cream);width:100%;max-width:640px;max-height:88vh;overflow:auto;border-radius:28px 28px 0 0;padding:22px;animation:up .35s cubic-bezier(.2,.8,.2,1)}.sheet h2{margin-bottom:12px}.line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--cream2)}.total{display:flex;justify-content:space-between;font-weight:700;font-size:1.15rem;margin:16px 0}textarea,input[type=text],input[type=number],input[type=password],input[type=url],select{width:100%;padding:11px 14px;border-radius:14px;border:1.5px solid var(--cream2);background:#fff}textarea{min-height:64px;resize:vertical;margin-bottom:8px}.timeline{display:flex;justify-content:space-between;margin:16px 0;position:relative}.step{flex:1;text-align:center;font-size:.75rem;color:var(--muted);position:relative}.step .dot{width:26px;height:26px;border-radius:50%;background:var(--cream2);margin:0 auto 6px;display:grid;place-items:center;font-weight:700;position:relative;z-index:1;transition:.4s}.step:before{content:"";position:absolute;top:12px;left:-50%;width:100%;height:3px;background:var(--cream2)}.step:first-child:before{display:none}.step.done:before{background:var(--ok)}.step.done .dot{background:var(--ok);color:#fff}.step.current .dot{background:var(--terra);color:#fff;animation:pop 1s infinite}.step.done,.step.current{color:var(--esp);font-weight:600}.tracker{background:var(--card);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);margin-top:16px;animation:fade .4s}.tracker h3{font-size:1rem}.tracker small{color:var(--muted)}.tracker-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.tracker+.tracker{margin-top:12px}.order-more{display:flex;justify-content:center;margin-top:12px}.order-more .btn{width:100%;max-width:320px}.step .dot{font-size:.8rem}.notice{background:var(--cream2);border-radius:14px;padding:14px;text-align:center;margin-top:16px}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--esp);color:var(--cream);padding:12px 20px;border-radius:99px;z-index:60;animation:fade .3s;box-shadow:var(--shadow)}.gate{min-height:100vh;display:grid;place-items:center;padding:20px}.gate-card{background:var(--card);padding:32px;border-radius:28px;box-shadow:var(--shadow);max-width:380px;width:100%;display:grid;gap:14px;text-align:center}.error{color:var(--terra-d);font-size:.88rem}.admin-head{display:flex;justify-content:space-between;align-items:center;padding:20px 0 4px;gap:10px;flex-wrap:wrap}.admin .tabs{position:static}.filters{display:flex;gap:8px;margin:8px 0 16px}.tickets{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ticket{background:var(--card);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);border-top:5px solid var(--gold);animation:fade .4s both}.ticket.preparing{border-color:var(--terra)}.ticket.ready{border-color:var(--ok)}.ticket.served{border-color:var(--muted);opacity:.8}.ticket-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ticket ul{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:4px}.ticket .note{font-size:.82rem;background:var(--cream2);padding:8px;border-radius:10px;margin-bottom:10px}.empty{text-align:center;color:var(--muted);padding:40px 10px}.form{background:var(--card);border-radius:var(--r);padding:16px;box-shadow:var(--shadow);display:grid;gap:10px;margin-bottom:18px}.form-row{display:grid;gap:10px;grid-template-columns:1fr 1fr}.menu-row{display:flex;gap:12px;align-items:center;background:var(--card);border-radius:16px;padding:10px;margin-bottom:10px;box-shadow:var(--shadow)}.menu-row img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--cream2)}.menu-row .info{flex:1;min-width:0}.menu-row .actions{display:flex;gap:6px;flex-wrap:wrap}.qr-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.qr-card{background:var(--card);border-radius:var(--r);padding:16px;text-align:center;box-shadow:var(--shadow);display:grid;gap:10px}.qr-card img{margin:0 auto;width:160px;height:160px;border-radius:12px}@media(max-width:480px){.form-row{grid-template-columns:1fr}.hero h1{font-size:1.9rem}}
