:root{--phone:#faf7f2;--surface:#fff;--line:#eae3d7;--ink:#2a2620;--muted:#7a7064;--avocado:#5a8a2e;--avocado-deep:#3f6620;--avocado-soft:#e6f0da;--amber:#e9a23b;--amber-soft:#fbebd2;--amber-ink:#8a5a10;--red:#b84a2b;--red-soft:#f7e2da;--f-display:"Fraunces", Georgia, serif;--f-body:"DM Sans", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--phone);color:var(--ink);font-family:var(--f-body);margin:0;font-size:15px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted);font-size:13px}.app{max-width:560px;min-height:100vh;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));margin:0 auto;position:relative}.hero{padding:calc(22px + env(safe-area-inset-top,0px)) 20px 18px;background:var(--avocado-deep);color:#f4f8ee;position:relative;overflow:hidden}.hero:after{content:"";opacity:.5;background:radial-gradient(circle,#7fb04a 0,#5a8a2e 60%,#0000 61%);border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}.brand{font-family:var(--f-display);z-index:1;letter-spacing:-.5px;font-size:30px;font-weight:600;position:relative}.brand b{color:#b9db86;font-weight:700;display:inline-block;transform:skew(-10deg)scaleX(1.25)}.hero small{z-index:1;opacity:.85;margin-top:2px;display:block;position:relative}.where{z-index:1;background:#ffffff24;border-radius:30px;align-items:center;gap:8px;margin-top:14px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.dot{background:#b9db86;border-radius:50%;width:8px;height:8px}.dot.off{background:#f09a7e}.cats{background:var(--phone);z-index:3;scrollbar-width:none;gap:6px;padding:14px 16px 6px;display:flex;position:sticky;top:0;overflow-x:auto}.cats button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:20px;min-height:40px;padding:0 14px;font-size:13.5px}.cats button.on{background:var(--ink);border-color:var(--ink);color:#faf7f2;font-weight:600}.sec{padding:8px 16px 4px;scroll-margin-top:60px}.sec h2{font-family:var(--f-display);margin:10px 0;font-size:21px;font-weight:600}.dish{background:var(--surface);border:1px solid var(--line);border-radius:20px;grid-template-columns:minmax(0,1fr) 112px;gap:12px;margin-bottom:12px;padding:12px;display:grid;position:relative}.dish.out{opacity:.55}.dish h3{margin:0 0 3px;font-size:16px;line-height:1.25}.dish p{color:var(--muted);margin:0 0 8px;font-size:12.5px;line-height:1.35}.nut{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.nut span{background:var(--avocado-soft);color:var(--avocado-deep);border-radius:12px;padding:3px 8px;font-size:11.5px;font-weight:700}.nut span.k{background:var(--amber-soft);color:var(--amber-ink)}.price{font-family:var(--f-display);font-size:18px;font-weight:600}.plate{border-radius:50%;align-self:center;width:112px;height:112px;box-shadow:inset 0 0 0 6px #fff,0 6px 14px #2a26202e}.add{background:var(--ink);color:#faf7f2;border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:24px;line-height:1;display:grid;position:absolute;bottom:10px;right:10px;box-shadow:0 3px 8px #0003}.add:disabled,.qtyb button:disabled{opacity:.4}.qtyb{background:var(--ink);color:#faf7f2;border-radius:22px;align-items:center;gap:6px;padding:3px;display:flex;position:absolute;bottom:10px;right:10px}.qtyb button{color:#fff;background:#ffffff24;border:0;border-radius:50%;width:38px;height:38px;font-size:18px}.badge-out,.badge-few{border-radius:12px;padding:3px 9px;font-size:11px;font-weight:700;position:absolute;top:-8px;left:12px}.badge-out{background:var(--red);color:#fff;letter-spacing:.03em}.badge-few{background:var(--amber);color:#2a1e08}.call{background:var(--surface);border:1px dashed var(--avocado);text-align:center;border-radius:18px;justify-items:center;gap:4px;margin:6px 16px 18px;padding:14px;display:grid}.call b{font-family:var(--f-display);color:var(--avocado-deep);font-size:28px;display:block}.call b.small{font-size:18px}.call.warn,.call.closed{border-color:var(--red)}.foot{height:20px}.bar,.ext{left:max(12px,50% - 268px);right:max(12px,50% - 268px);bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:5;border-radius:18px;padding:12px 16px;font-weight:600;position:fixed}.bar{background:var(--avocado-deep);color:#fff;border:0;justify-content:space-between;align-items:center;min-height:58px;display:flex;box-shadow:0 8px 20px #3f662066}.bar .n{color:var(--avocado-deep);background:#b9db86;border-radius:12px;margin-right:8px;padding:2px 9px;font-weight:700}.ext{background:var(--ink);color:#fff;text-align:center}.ext.red{background:var(--red)}.sheet{z-index:10;background:#1f1c1773;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet .in{background:var(--phone);width:100%;max-width:560px;max-height:92vh;padding:20px 18px calc(22px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;gap:14px;display:grid;overflow-y:auto}.sheet h2,.state h2{font-family:var(--f-display);margin:0;font-size:24px;font-weight:600}.line{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;font-size:14.5px;display:flex}.tot{justify-content:space-between;align-items:baseline;display:flex}.tot b{font-family:var(--f-display);font-size:28px}.pay{gap:8px;display:grid}.pay button{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;min-height:58px;padding:0 14px;display:flex}.pay button small{color:var(--muted);font-size:12px;display:block}.pay button.on{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.pay button:disabled{opacity:.55;cursor:not-allowed}.soon{background:var(--amber-soft);color:var(--amber-ink);text-transform:uppercase;border-radius:10px;padding:3px 8px;font-size:10.5px;font-weight:700}.big{background:var(--avocado-deep);color:#fff;border:0;border-radius:16px;min-height:54px;font-size:16px;font-weight:700}.big:disabled{background:var(--line);color:var(--muted)}.ghost{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:46px;padding:0 16px}.ghost.wide{width:100%;margin-top:6px}.err{background:var(--red-soft);color:var(--red);border-radius:12px;padding:10px 12px;font-weight:600}.state{text-align:center;justify-items:center;gap:10px;padding:30px 24px;display:grid}.state p{color:var(--muted);margin:0}.state .ic{background:var(--amber-soft);width:72px;height:72px;color:var(--amber-ink);border-radius:50%;place-items:center;font-size:30px;font-weight:700;display:grid}.state .ic.ok{background:var(--avocado-soft);color:var(--avocado-deep)}.state .ic.bad{background:var(--red-soft);color:var(--red)}.nequi{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:4px;width:100%;padding:14px;display:grid}.nequi b{font-family:var(--f-display);font-size:26px}.steps{text-align:left;gap:8px;width:100%;margin-top:6px;display:grid}.steps div{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.steps div.done{border-color:var(--avocado);background:var(--avocado-soft)}.steps i{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-style:normal;font-weight:700;display:grid}.steps .done i{background:var(--avocado);border-color:var(--avocado);color:#fff}.rejected{color:var(--ink);margin:4px 0 0;font-size:17px;font-weight:600}.rejected b{font-family:var(--f-display);color:var(--avocado-deep);font-size:22px}
