:root{--cream:#fff4ec;--cream-2:#fff9f4;--surface:#fff;--ink:#3a2b4a;--ink-soft:#7c6a8e;--line:#f3e3d8;--candy-1:#ff6fb5;--candy-2:#ff9f45;--candy-3:#ffd23f;--candy-4:#42d6a4;--candy-5:#4dccf0;--candy-6:#b06bf5;--candy-7:#ff6b6b;--candy-8:#9ae65c;--danger:#e24a6e;--radius:22px;--radius-sm:14px;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Nunito,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:#0000;background-image:radial-gradient(70% 50% at 50% 0,#f3ece4,#0000 70%),linear-gradient(160deg,#ebe3db,#e6e1ea);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100dvh}#root{justify-content:center;min-height:100dvh;display:flex}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Fredoka,Nunito,sans-serif;font-weight:600}button{font-family:inherit}::selection{background:var(--candy-1);color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app{background:radial-gradient(95% 55% at 50% 0%, var(--cream-2), transparent 70%), var(--cream);width:100%;max-width:460px;min-height:100dvh;margin:0 auto;padding:0 18px;position:relative;overflow-x:clip}@media (width>=500px){.app{max-width:430px;box-shadow:0 0 0 1px #3a2b4a0f,0 30px 80px #3a2b4a38}}[data-candy="1"]{--candy:var(--candy-1)}[data-candy="2"]{--candy:var(--candy-2)}[data-candy="3"]{--candy:var(--candy-3)}[data-candy="4"]{--candy:var(--candy-4)}[data-candy="5"]{--candy:var(--candy-5)}[data-candy="6"]{--candy:var(--candy-6)}[data-candy="7"]{--candy:var(--candy-7)}[data-candy="8"]{--candy:var(--candy-8)}.screen{animation:.5s cubic-bezier(.22,1,.36,1) both screen-in}.screen-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:100dvh;padding:32px 4px;display:flex}@keyframes screen-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.logo-pop{background:linear-gradient(145deg, var(--candy-1), var(--candy-6));border-radius:24px;place-items:center;width:68px;height:68px;margin-bottom:14px;animation:3.4s ease-in-out infinite bob;display:grid;box-shadow:0 14px 28px #b06bf566}@keyframes bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-8px)rotate(3deg)}}.hero-title{color:var(--ink);font-size:2.1rem;line-height:1.05}.hero-title.small{font-size:1.7rem}.hero-title em{background:linear-gradient(120deg, var(--candy-1), var(--candy-6));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero-sub{color:var(--ink-soft);min-height:1.4em;margin:6px 0 20px;font-size:1rem}.fine-print{color:var(--ink-soft);opacity:.85;max-width:30ch;margin:18px auto 0;font-size:.8rem}.caret{vertical-align:text-bottom;background:var(--candy-1);width:2px;height:1em;margin-left:2px;animation:.9s step-end infinite blink;display:inline-block}.caret-rest{animation-duration:1.2s}@keyframes blink{50%{opacity:0}}.card{background:var(--surface);border-radius:var(--radius);border:1.5px solid #fff;width:100%;padding:22px;box-shadow:0 2px #ff6fb51f,0 18px 40px #3a2b4a1f}.auth-card{max-width:380px}.stack{flex-direction:column;gap:16px;display:flex}.field{text-align:left;flex-direction:column;gap:7px;display:flex}.field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem;font-weight:800}.text-input{font:inherit;color:var(--ink);border:2px solid var(--line);border-radius:var(--radius-sm);background:#fffafc;padding:14px 16px;font-size:1.05rem;transition:border-color .15s,box-shadow .15s,transform .15s}.text-input::placeholder{color:#c9b6cf}.text-input:focus{border-color:var(--candy-1);outline:none;box-shadow:0 0 0 4px #ff6fb52e}.candy-btn{--btn-a:#53d0f5;--btn-b:#4a86ff;--btn-edge:#2f6fc9;--btn-glow:74, 134, 255;color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg, var(--btn-a), var(--btn-b));box-shadow:0 6px 0 var(--btn-edge), 0 12px 22px rgba(var(--btn-glow), .38);border:none;justify-content:center;align-items:center;gap:8px;padding:15px 20px;font-size:1.05rem;font-weight:800;transition:transform .1s,box-shadow .1s,filter .15s;display:inline-flex;position:relative}.candy-btn:hover:not(:disabled){filter:brightness(1.05)}.candy-btn:active:not(:disabled){box-shadow:0 1px 0 var(--btn-edge), 0 4px 10px rgba(var(--btn-glow), .34);transform:translateY(5px)}.candy-btn:focus-visible{outline:3px solid var(--candy-6);outline-offset:3px}.candy-btn:disabled{opacity:.55;cursor:default;box-shadow:0 6px #d9cdbc}.btn-sky{--btn-a:#53d0f5;--btn-b:#4a86ff;--btn-edge:#2f6fc9;--btn-glow:74, 134, 255}.btn-grape{--btn-a:#c084fc;--btn-b:#7d4fe0;--btn-edge:#6338b0;--btn-glow:125, 79, 224}.btn-mint{--btn-a:#52e0b0;--btn-b:#14b98a;--btn-edge:#0e9b72;--btn-glow:23, 185, 138}.btn-sun{--btn-a:#ffd84d;--btn-b:#ff9f2e;--btn-edge:#e07c15;--btn-glow:255, 159, 46;color:var(--ink)}.seg{background:#fbeaf3;border-radius:999px;grid-template-columns:1fr 1fr;margin-bottom:4px;padding:5px;display:grid;position:relative}.seg button{z-index:1;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:9px 0;font-size:.95rem;font-weight:800;transition:color .2s;position:relative}.seg button.seg-on{color:#fff}.seg-pill{z-index:0;background:linear-gradient(135deg, var(--candy-1), var(--candy-6));border-radius:999px;width:calc(50% - 5px);height:calc(100% - 10px);transition:transform .28s cubic-bezier(.22,1,.36,1);position:absolute;top:5px;left:5px}.seg-pill-right{transform:translate(100%)}.otp-row{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.otp-box{aspect-ratio:3/4;text-align:center;width:100%;color:var(--ink);border:2px solid var(--line);background:#fffafc;border-radius:14px;font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;transition:border-color .15s,transform .15s,box-shadow .15s}.otp-box:focus{border-color:var(--candy-6);outline:none;box-shadow:0 0 0 4px #b06bf52e}.otp-box.otp-filled{border-color:var(--candy-1);background:#fff;animation:.28s pop}.back-link,.ghost-link{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-weight:700}.back-link{align-self:flex-start;margin-bottom:4px}.ghost-link{margin-top:16px}.back-link:hover,.ghost-link:hover{color:var(--candy-6)}.form-error{color:var(--danger);background:#e24a6e1a;border-radius:12px;margin:0;padding:10px 14px;font-size:.9rem;font-weight:600}.muted{color:var(--ink-soft)}.center{text-align:center}.end-note{opacity:.7}.wave{margin-bottom:10px;animation:3s ease-in-out infinite bob}@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}.cafe-header{z-index:20;background:linear-gradient(var(--cream), #fff1f799);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;padding:16px 2px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:9px;display:flex}.hdr-back{width:34px;height:34px;color:var(--ink);cursor:pointer;background:#fff;border:none;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .12s;display:grid;box-shadow:0 4px 10px #3a2b4a1f}.hdr-back:active{transform:scale(.9)}.brand-bean,.brand-name{align-items:center;display:inline-flex}.brand-bean{background:linear-gradient(145deg, var(--candy-1), var(--candy-6));border-radius:13px;justify-content:center;width:38px;height:38px;box-shadow:0 6px 14px #b06bf559}.brand-name{color:var(--ink);font-family:Fredoka,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.05}.brand-name em{color:var(--candy-1);font-style:normal}.brand-stack{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.hdr-logout{cursor:pointer;color:var(--candy-1);background:0 0;border:none;padding:0;font-family:inherit;font-size:.72rem;font-weight:600;line-height:1}.hdr-logout:hover{text-decoration:underline}.menu-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#52e0b0,#14b98a);border:none;border-radius:999px;padding:10px 16px;font-size:.85rem;font-weight:800;transition:transform .1s,box-shadow .1s,filter .15s;box-shadow:0 4px #0e9b72,0 8px 16px #14b98a59}.menu-btn:hover{filter:brightness(1.04)}.menu-btn:active,.menu-btn-active{transform:translateY(4px);box-shadow:0 1px #0e9b72,0 3px 8px #14b98a4d}.cart-btn{color:#2a2a2a;cursor:pointer;background:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .1s,box-shadow .1s,filter .15s;display:inline-flex;position:relative;box-shadow:0 2px #0000001f,0 4px 10px #0000001f}.cart-btn:hover{filter:brightness(.97)}.cart-btn:active{transform:translateY(2px);box-shadow:0 1px #0000001f}.cart-dot{background:#e23b3b;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:6px}.chatbar-wrap{margin:4px 0 6px;position:relative}.chatbar{border:1.5px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:7px 7px 7px 16px;display:flex;box-shadow:0 8px 20px #3a2b4a12}.chatbar-launch{cursor:pointer;text-align:left;width:100%;transition:transform .12s,box-shadow .15s}.chatbar-launch:hover{transform:translateY(-1px)}.chat-placeholder{color:#b7a4c2;flex:1;font-size:.95rem;font-weight:600}.chat-dot{background:var(--candy-4);border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:1.8s ease-in-out infinite pulse;box-shadow:0 0 0 4px #42d6a438}@keyframes pulse{50%{box-shadow:0 0 0 7px #42d6a400}}.chat-input{font:inherit;color:var(--ink);background:0 0;border:none;flex:1;min-width:0;font-size:.95rem}.chat-input:focus{outline:none}.chat-input::placeholder{color:#c9b6cf}.mic-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg, var(--candy-5), var(--candy-6));border:none;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;transition:transform .12s;display:grid;box-shadow:0 5px 12px #4dccf066}.mic-btn:active{transform:scale(.92)}.mic-listening{animation:1s ease-in-out infinite mic-glow}@keyframes mic-glow{0%,to{box-shadow:0 0 #ff6fb580}50%{box-shadow:0 0 0 10px #ff6fb500}}.chat-reply{border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:16px 16px 16px 4px;margin:8px 6px 0;padding:10px 14px;font-size:.9rem;animation:.3s both screen-in;box-shadow:0 8px 18px #3a2b4a14}.dash{height:100svh;padding-bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.dash-hero{flex-shrink:0;margin:12px 2px 4px}.dash-greet{color:var(--candy-6);margin:0 0 2px;font-size:.9rem;font-weight:800}.dash-title{color:var(--ink);font-size:clamp(1.25rem,6vw,1.55rem);line-height:1.15}.tag-cloud{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:wrap;flex:1;place-content:flex-start center;gap:12px 10px;min-height:0;padding:8px 2px 12px;display:flex;overflow-y:auto}.tag-cloud::-webkit-scrollbar{display:none}.dash{position:relative}.tag-cloud{z-index:1;position:relative}.tag-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tag-links-under{z-index:0}.tag-links-over{z-index:5}.tag-bubble{color:var(--ink);background:color-mix(in srgb, var(--candy) 16%, #fff);border:2px solid color-mix(in srgb, var(--candy) 32%, #fff);cursor:pointer;animation:drift-a calc(3.6s + (var(--i)) * .3s) ease-in-out infinite;animation-delay:calc(var(--i) * -.41s);border-radius:999px;align-items:center;gap:6px;padding:11px 18px;font-family:Fredoka,sans-serif;font-size:1.02rem;font-weight:500;transition:color .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative;box-shadow:0 4px 10px #3a2b4a0f}.tag-bubble:nth-child(4n+2){animation-name:drift-b}.tag-bubble:nth-child(4n+3){animation-name:drift-c}.tag-bubble:nth-child(4n+4){animation-name:drift-d}.tag-bubble:hover{border-color:color-mix(in srgb, var(--candy) 55%, #fff)}.tag-bubble:focus-visible{outline:3px solid var(--candy-5);outline-offset:2px}@keyframes drift-a{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(4px,-7px)rotate(2deg)}66%{transform:translate(-3px,4px)rotate(-1.5deg)}}@keyframes drift-b{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(-6px,-4px)rotate(-2deg)}66%{transform:translate(4px,6px)rotate(1.5deg)}}@keyframes drift-c{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(6px,5px)rotate(2.5deg)}}@keyframes drift-d{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-6px,-6px)rotate(-2.5deg)}}.tag-bubble.tag-on{color:#fff;background:var(--candy);box-shadow:0 8px 18px color-mix(in srgb, var(--candy) 45%, transparent);border-color:#000000d9;animation:.35s pop}.go-dock{background:#ffffffeb;border:1.5px solid #fff;border-radius:999px;flex-shrink:0;align-items:center;gap:12px;margin-top:8px;padding:10px 10px 10px 18px;animation:.35s cubic-bezier(.22,1,.36,1) both dock-in;display:flex;box-shadow:0 10px 26px #3a2b4a29}@keyframes dock-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.go-count{color:var(--ink);white-space:nowrap;font-size:.88rem;font-weight:800}.go-btn{margin-left:auto;padding:12px 20px}.menu-screen{padding-bottom:40px}.menu-head{margin:10px 2px 16px}.menu-title{color:var(--ink);margin:4px 0;font-size:1.6rem}.menu-count{color:var(--ink-soft);margin:2px 0 0;font-size:.85rem;font-weight:700}.chip-row{flex-wrap:wrap;gap:6px;margin:8px 0 2px;display:flex}.mini-chip{color:#fff;background:var(--candy,var(--candy-1));box-shadow:0 4px 10px color-mix(in srgb, var(--candy,var(--candy-1)) 40%, transparent);border-radius:999px;padding:4px 11px;font-size:.78rem;font-weight:800}.menu-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.menu-card{background:var(--surface);border:1.5px solid #fff;border-radius:18px;flex-direction:column;gap:7px;padding:14px;animation:.4s both screen-in;display:flex;box-shadow:0 10px 24px #3a2b4a17}.menu-card-top{justify-content:space-between;align-items:center;display:flex}.veg-dot{border:2px solid;border-radius:4px;width:15px;height:15px;display:inline-block;position:relative}.veg-dot:after{content:"";border-radius:50%;position:absolute;inset:2.5px}.veg-dot.veg{border-color:#2bb673}.veg-dot.veg:after{background:#2bb673}.veg-dot.nonveg{border-color:#e24a6e}.veg-dot.nonveg:after{background:#e24a6e}.menu-price{color:var(--candy-6);font-family:Fredoka,sans-serif;font-size:1.15rem;font-weight:600}.menu-name{color:var(--ink);font-size:1.02rem;line-height:1.15}.menu-desc{color:var(--ink-soft);margin:0;font-size:.82rem;line-height:1.35}.opt-block{flex-direction:column;gap:5px;margin-top:2px;display:flex}.opt-label{letter-spacing:.06em;text-transform:uppercase;color:#bca9c6;font-size:.66rem;font-weight:800}.opt-chips{flex-wrap:wrap;gap:5px;display:flex}.opt-chip{color:var(--ink);cursor:pointer;background:#fbeaf3;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:700;transition:border-color .12s,background .12s,transform 80ms;display:inline-flex}.opt-chip:active{transform:scale(.96)}.opt-chip em{color:var(--candy-6);font-size:.68rem;font-style:normal;font-weight:800}.opt-chip.is-selected{border-color:var(--candy-6);background:#f6d7ea}.opt-topping{background:#e9f8f1}.opt-topping em{color:#2bb673}.opt-topping.is-selected{background:#d2f1e2;border-color:#2bb673}.sentinel{height:1px}.chat-screen{flex-direction:column;min-height:100dvh;display:flex}.chat-log{flex-direction:column;flex:1;gap:10px;padding:16px 2px 92px;display:flex}.bubble{overflow-wrap:anywhere;border-radius:20px;max-width:82%;padding:11px 15px;font-size:.95rem;line-height:1.38;animation:.3s both screen-in}.bubble-barista{color:var(--ink);border:1.5px solid var(--line);background:#fff;border-bottom-left-radius:6px;align-self:flex-start;box-shadow:0 6px 14px #3a2b4a0f}.bubble-you{color:#fff;background:#1e1a24;border-bottom-right-radius:6px;align-self:flex-end}.bubble-typing{align-items:center;gap:5px;display:flex}.bubble-typing .dot{background:var(--ink-soft);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing}.bubble-typing .dot:nth-child(2){animation-delay:.2s}.bubble-typing .dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-composer{background:linear-gradient(to top, var(--cream) 72%, transparent);align-items:center;gap:8px;padding:10px 0 16px;display:flex;position:sticky;bottom:0}.composer-input{min-width:0;font:inherit;color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:999px;flex:1;padding:13px 18px;font-size:.95rem}.composer-input::placeholder{color:#b7a4c2}.composer-input:focus{border-color:#14b98a;outline:none;box-shadow:0 0 0 4px #14b98a26}.send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#52e0b0,#14b98a);border:none;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;transition:transform .12s,opacity .15s;display:grid;box-shadow:0 5px 12px #14b98a66}.send-btn:active:not(:disabled){transform:scale(.92)}.send-btn:disabled{opacity:.45;cursor:default}.chat-header{gap:10px}.chat-header-left{align-items:center;gap:10px;display:flex}.end-chat-btn{color:#fff;background:var(--danger);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:10px 16px;font-size:.85rem;font-weight:800;transition:transform .1s,box-shadow .1s,filter .15s;box-shadow:0 4px #b43358,0 8px 16px #e24a6e59}.end-chat-btn:hover:not(:disabled){filter:brightness(1.04)}.end-chat-btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 #b43358,0 4px 10px #e24a6e4d}.end-chat-btn:disabled{opacity:.6;cursor:default}.barista-turn{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.initiate{flex-direction:column;min-height:100dvh;display:flex}.initiate-body{flex-direction:column;flex:1;gap:14px;padding:10px 2px 100px;display:flex}.initiate-greet{color:var(--ink);margin:6px 0 0;font-size:clamp(1.25rem,5.5vw,1.5rem);font-weight:800;line-height:1.22}.initiate-lede{color:var(--ink-soft);margin:0 0 2px;font-size:.95rem}.initiate-card{background:var(--surface);border-radius:var(--radius);border:1.5px solid #fff;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 2px #ff6fb51a,0 14px 32px #3a2b4a1a}.initiate-q{color:var(--ink);margin:0;font-size:1.02rem;font-weight:800;line-height:1.3}.counter-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.counter-label{color:var(--ink);font-size:1rem;font-weight:700}.counter{align-items:center;gap:14px;display:flex}.counter-btn{border:2px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fffafc;border-radius:50%;place-items:center;font-size:1.4rem;font-weight:800;line-height:1;transition:border-color .15s,background .15s,transform .1s;display:grid}.counter-btn:hover:not(:disabled){border-color:var(--candy-6)}.counter-btn:active:not(:disabled){transform:scale(.92)}.counter-btn:disabled{opacity:.4;cursor:default}.counter-value{text-align:center;min-width:1.6ch;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.initiate-choices{flex-direction:column;gap:10px;display:flex}.choice{font:inherit;text-align:left;color:var(--ink);border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:#fffafc;padding:14px 16px;font-size:1rem;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s}.choice:hover{border-color:color-mix(in srgb, var(--candy-6) 50%, #fff)}.choice-on{border-color:var(--candy-6);background:color-mix(in srgb, var(--candy-6) 12%, #fff);box-shadow:0 0 0 3px #b06bf526}.initiate-dock{background:linear-gradient(to top, var(--cream) 72%, transparent);padding:10px 0 16px;position:sticky;bottom:0}.initiate-next{width:100%}@media (width<=360px){.menu-grid{grid-template-columns:1fr}.otp-row{gap:6px}}.full-menu{flex-direction:column;height:100svh;display:flex;overflow:hidden}.full-menu .menu-head{flex-shrink:0;margin:4px 2px 8px}.menu-head-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.cart-badge{color:var(--ink);flex-shrink:0;place-items:center;display:grid;position:relative}.cart-count{color:#fff;background:var(--danger);border:2px solid var(--cream);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-family:Fredoka,sans-serif;font-size:.7rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-6px;right:-8px}.cat-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;gap:8px;padding:2px 2px 10px;display:flex;overflow-x:auto}.cat-nav::-webkit-scrollbar{display:none}.cat-pill{--candy:var(--candy-1);color:var(--ink);border:2px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:8px 15px;font-family:Fredoka,sans-serif;font-size:.9rem;font-weight:600;transition:color .2s,border-color .2s,background .2s,box-shadow .2s}.cat-pill:hover{border-color:var(--candy)}.cat-pill.cat-on{color:#fff;background:var(--candy);box-shadow:0 8px 18px color-mix(in srgb, var(--candy) 42%, transparent);border-color:#0000}.menu-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:0;padding-bottom:calc(24px + env(safe-area-inset-bottom));flex:1;animation:.32s both screen-in;overflow-y:auto}.menu-scroll::-webkit-scrollbar{display:none}.cat-section{scroll-margin-top:4px}.cat-section+.cat-section{margin-top:22px}.cat-section-title{--candy:var(--candy-1);color:var(--ink);border-bottom:2px solid color-mix(in srgb, var(--candy) 45%, var(--line));margin:2px 2px 14px;padding-bottom:9px;font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;line-height:1.1}.subcat{margin-bottom:18px}.subcat-head{margin:6px 2px 11px}.subcat-name{color:var(--ink);align-items:center;gap:8px;font-size:1.15rem;display:flex}.subcat-name:before{content:"";background:linear-gradient(135deg, var(--candy-1), var(--candy-6));border-radius:5px;flex-shrink:0;width:13px;height:13px}.subcat-desc{color:var(--ink-soft);margin:3px 0 0;font-size:.8rem}.dish-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dish-card{text-align:left;background:var(--surface);cursor:pointer;border:1.5px solid #fff;border-radius:18px;flex-direction:column;padding:0;transition:transform .14s,box-shadow .14s;animation:.4s both screen-in;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #3a2b4a17}.dish-card:active{transform:scale(.97)}.dish-open{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;padding:0;display:flex}.dish-open:focus-visible{outline:3px solid var(--candy-5);outline-offset:2px;border-radius:16px}.dish-add{z-index:2;color:#fff;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:#141018;border:none;border-radius:9px;justify-content:center;align-items:center;padding:5px 11px;font-family:Fredoka,sans-serif;font-size:.72rem;font-weight:700;transition:transform .12s,filter .15s;animation:1.8s ease-in-out infinite add-wiggle-item;display:inline-flex;position:absolute;top:8px;right:8px;box-shadow:0 4px 10px #00000052}.dish-add:hover{filter:brightness(1.4)}.dish-add:active{transform:scale(.9)}@keyframes add-wiggle{0%,80%,to{rotate:0deg}84%{rotate:-13deg}88%{rotate:10deg}92%{rotate:-7deg}96%{rotate:4deg}}@keyframes add-wiggle-item{0%,66.7%,to{rotate:0deg}73.3%{rotate:-13deg}80%{rotate:10deg}86.7%{rotate:-7deg}93.3%{rotate:4deg}}@media (prefers-reduced-motion:reduce){.dish-add,.sheet-add{animation:none}}.dish-out{opacity:.85}.dish-out .dish-photo{filter:grayscale(.55)}.dish-out-tag{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#3a2b4ad1;border-radius:999px;padding:3px 8px;font-size:.62rem;font-weight:800;position:absolute;top:8px;left:8px}.dish-rec{border:3px solid var(--candy,var(--candy-1));animation:1.6s ease-in-out infinite rec-glow}@keyframes rec-glow{0%,to{box-shadow:0 0 0 2px color-mix(in srgb, var(--candy,var(--candy-1)) 22%, transparent), 0 0 10px color-mix(in srgb, var(--candy,var(--candy-1)) 40%, transparent), 0 10px 24px #3a2b4a1f}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--candy,var(--candy-1)) 52%, transparent), 0 0 26px color-mix(in srgb, var(--candy,var(--candy-1)) 85%, transparent), 0 10px 24px #3a2b4a1f}}.dish-rec-tag{z-index:3;background:var(--candy,var(--candy-1));color:#fff;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 3px 10px color-mix(in srgb, var(--candy,var(--candy-1)) 55%, transparent);border-radius:999px;padding:3px 9px;font-size:.6rem;font-weight:800;animation:1.1s step-end infinite rec-flash;position:absolute;top:8px;left:8px}@keyframes rec-flash{0%,55%{opacity:1}56%,to{opacity:.2}}.dish-rec .dish-out-tag{top:34px}@media (prefers-reduced-motion:reduce){.dish-rec{animation:none}.dish-rec-tag{opacity:1;animation:none}}.dish-photo{--candy:var(--candy-1);aspect-ratio:1;background:color-mix(in srgb, var(--candy) 14%, #fff);width:100%;position:relative;overflow:hidden}.dish-photo img{object-fit:cover;width:100%;height:100%;display:block}.dish-photo-ph{background:linear-gradient(145deg, color-mix(in srgb, var(--candy) 62%, #fff), var(--candy));place-items:center;display:grid}.dish-photo-ph span{color:#fff;opacity:.92;text-shadow:0 2px 8px color-mix(in srgb, var(--candy) 55%, transparent);font-family:Fredoka,sans-serif;font-weight:600;line-height:1}.dish-info{flex-direction:column;flex:1;gap:7px;padding:9px 11px 11px;display:flex}.dish-name{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.2;display:-webkit-box;overflow:hidden}.dish-meta{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;display:flex}.dish-price{color:var(--candy-6);font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600}.sheet-overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#281c3673;justify-content:center;align-items:flex-end;animation:.2s both fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet{scrollbar-width:none;background:var(--cream);width:100%;max-width:460px;max-height:88svh;padding-bottom:calc(22px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;animation:.32s cubic-bezier(.22,1,.36,1) both sheet-up;position:relative;overflow-y:auto;box-shadow:0 -16px 44px #3a2b4a4d}.sheet::-webkit-scrollbar{display:none}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-plain,.sheet-plain .sheet,.sheet-plain .sheet-add,.sheet-plain .sheet-scroll-hint{animation:none}.sheet-plain .opt-label{color:var(--ink-soft,#5a6472);font-size:.72rem}.sheet-plain .stock-rows{flex-direction:column;gap:6px;display:flex}.sheet-plain .stock-row{border:1px solid var(--line,#dfe3e8);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.sheet-plain .stock-row-name{color:var(--ink,#16181d);font-size:.86rem;font-weight:600}.sheet-plain .stock-row-price{color:var(--ink,#16181d);font-size:.82rem;font-weight:800}.sheet-plain .stock-row.is-off{background:#f6f7f9;border-color:#e7eaef}.sheet-plain .stock-row.is-off .stock-row-name{color:#8a94a6;text-decoration:line-through}.stock-toggle{cursor:pointer;background:#cbd2de;border:none;border-radius:999px;flex:none;width:42px;height:24px;transition:background .15s;position:relative}.stock-toggle.on{background:#157347}.stock-toggle:disabled{opacity:.6;cursor:default}.stock-toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #1018284d}.stock-toggle.on .stock-toggle-knob{transform:translate(18px)}.sheet-close{z-index:2;width:34px;height:34px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:none;border-radius:50%;place-items:center;transition:transform .12s;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 4px 10px #3a2b4a2e}.sheet-close:active{transform:scale(.9)}.sheet-media{aspect-ratio:16/10;scrollbar-width:none;scroll-snap-type:y proximity;overscroll-behavior:contain;border-radius:26px 26px 0 0;width:100%;position:relative;overflow:hidden auto}.sheet-media::-webkit-scrollbar{display:none}.sheet-stage{scroll-snap-align:start;width:100%;height:100%;position:relative}.sheet-gallery{scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;width:100%;height:100%;display:flex;overflow:auto hidden}.sheet-gallery::-webkit-scrollbar{display:none}.sheet-photo{aspect-ratio:auto;scroll-snap-align:center;border-radius:0;flex:0 0 100%;width:100%;height:100%}.sheet-nav{z-index:2;width:34px;height:34px;color:var(--ink);cursor:pointer;background:#ffffffe0;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 10px #3a2b4a2e}.sheet-nav:active{transform:translateY(-50%)scale(.9)}.sheet-nav-prev{left:10px}.sheet-nav-next{right:10px}.sheet-dots{background:#281c3652;border-radius:999px;gap:6px;padding:5px 8px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.sheet-dots .dot{background:#fff9;border-radius:50%;width:6px;height:6px;transition:background .2s,transform .2s}.sheet-dots .dot.on{background:#fff;transform:scale(1.35)}.sheet-media-desc{box-sizing:border-box;background:var(--cream);scroll-snap-align:start;align-items:flex-start;min-height:100%;padding:18px 20px 22px;display:flex}.sheet-scroll-hint{color:var(--ink);cursor:pointer;background:#ffffffeb;border:none;border-radius:999px;align-items:center;gap:4px;padding:4px 10px 4px 8px;font-family:inherit;font-size:.72rem;font-weight:700;animation:1.8s ease-in-out infinite hint-bob;display:inline-flex;position:absolute;bottom:10px;right:12px;box-shadow:0 4px 10px #3a2b4a2e}.sheet-scroll-hint:active{transform:scale(.94)}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.sheet-body{flex-direction:column;gap:11px;padding:16px 18px 6px;display:flex}.sheet-head{align-items:center;gap:9px;display:flex}.sheet-name{color:var(--ink);font-size:1.4rem;line-height:1.12}.sheet-price-row{align-items:center;gap:10px;display:flex}.sheet-price{color:var(--candy-6);font-family:Fredoka,sans-serif;font-size:1.35rem;font-weight:600}.sold-pill{background:var(--danger);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:.68rem;font-weight:800}.sheet-desc{color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.45}.sheet .opt-block{margin-top:4px}.sheet-error{text-align:left;margin:4px 0 0}.sheet-add{width:100%;margin-top:10px;font-size:1.1rem;animation:4s ease-in-out 1s infinite add-wiggle}.sheet-add:disabled{animation:none}.hdr-actions{align-items:center;gap:8px;display:flex}.play-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ff6b6b,#e23b3b);border:none;border-radius:999px;align-items:center;gap:7px;padding:10px 15px;font-size:.85rem;font-weight:800;transition:transform .1s,box-shadow .1s,filter .15s;display:inline-flex;box-shadow:0 4px #b52a2a,0 8px 16px #e23b3b59}.play-btn:hover{filter:brightness(1.05)}.play-btn:active{transform:translateY(4px);box-shadow:0 1px #b52a2a,0 3px 8px #e23b3b4d}.play-dot{background:#fff;border-radius:50%;width:9px;height:9px;animation:1.4s ease-out infinite play-pulse;box-shadow:0 0 #fffc}@keyframes play-pulse{0%{box-shadow:0 0 #ffffffb3}to{box-shadow:0 0 0 7px #fff0}}.ghost-btn{border:2px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:11px 16px;font-size:.9rem;font-weight:700;transition:border-color .15s,transform .1s}.ghost-btn:hover{border-color:var(--candy-1)}.ghost-btn:active{transform:scale(.97)}.ghost-btn.sm{padding:8px 12px;font-size:.78rem}.center-block{margin:12px auto 0;display:block}.grammar-wrap{display:block;position:relative}.grammar-wrap .text-input.has-grammar{width:100%;padding-right:46px}.grammar-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#52e0b0,#14b98a);border:none;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.98rem;font-weight:800;line-height:1;transition:filter .15s,transform .1s;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%);box-shadow:0 2px #0e9b72}.grammar-btn:hover:not(:disabled){filter:brightness(1.06)}.grammar-btn:active:not(:disabled){transform:translateY(calc(1px - 50%))}.grammar-btn:disabled{opacity:.45;cursor:default}.grammar-btn.is-revert{background:linear-gradient(135deg,#ffd27a,#ff9f2e);font-size:1.05rem;box-shadow:0 2px #e07c15}.ai-format{flex-direction:column;gap:7px;display:flex}.ai-format .candy-btn{width:100%}.ai-progress{color:var(--ink-soft);text-align:center;font-size:.78rem;font-weight:700}.ai-btn-row{flex-wrap:wrap;gap:8px;display:flex}.ai-btn-row>*{flex:8rem}.ai-pop{flex-direction:column;align-self:center;gap:12px;width:100%;max-width:420px;margin:auto;display:flex;position:relative}.ai-pop-title{margin:0}.ai-pop-card{border:2px solid var(--line);border-radius:var(--radius-sm);background:#fff;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.ai-chat{flex-direction:column;align-self:center;gap:12px;width:100%;max-width:460px;max-height:min(80vh,640px);margin:auto;display:flex;position:relative}.ai-chat-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-chat-log{flex-direction:column;flex:1;gap:8px;padding-right:4px;display:flex;overflow-y:auto}.ai-chat-hint{margin:4px 0}.ai-msg{white-space:pre-wrap;border-radius:14px;max-width:85%;padding:9px 12px;font-size:.95rem;line-height:1.35}.ai-msg-assistant{background:#f3ecff;border-bottom-left-radius:4px;align-self:flex-start}.ai-msg-user{color:#fff;background:linear-gradient(135deg,#53d0f5,#4a86ff);border-bottom-right-radius:4px;align-self:flex-end}.ai-chat-input{flex-direction:column;gap:8px;display:flex}.ai-chat-input textarea{resize:none;width:100%}.ai-chat-input .candy-btn{width:100%}.ai-page{z-index:1000;color:#1a1a1a;background:#fff;flex-direction:column;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.ai-page-head{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #ececec;align-items:center;gap:10px;display:flex}.ai-page-title{color:#111;margin:0;font-size:1rem;font-weight:700}.ai-page-heading{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex;position:relative}.ai-page-heading .ai-page-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-credits{flex:none;display:inline-flex;position:relative}.ai-credits-badge{font:inherit;color:#333;cursor:pointer;white-space:nowrap;background:#f0f0f0;border:1px solid #e3e3e3;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.ai-credits-badge:hover{background:#e7e7e7}.ai-credits-dot{color:#138a4a;font-size:.72em;line-height:1}.ai-pop-backdrop{z-index:10;position:fixed;inset:0}.ai-credits-pop{z-index:11;text-align:left;color:#1a1a1a;background:#fff;border:1px solid #e0e0e0;border-radius:12px;width:max-content;max-width:250px;padding:12px 14px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000029}.ai-credits-used{margin:0 0 8px;font-size:.9rem;font-weight:700}.ai-credits-rules{color:#555;margin:0;padding-left:18px;font-size:.85rem;line-height:1.5}.mono-btn{font:inherit;cursor:pointer;border-radius:999px;padding:8px 15px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.mono-btn:disabled{opacity:.4;cursor:default}.mono-ghost{color:#1a1a1a;background:0 0;border:1px solid #d4d4d4}.mono-ghost:not(:disabled):hover{background:#f4f4f4;border-color:#111}.mono-solid{color:#fff;background:#111;border:1px solid #111}.mono-solid:not(:disabled):hover{background:#000}.ai-nav-btn{flex:none;align-items:center;gap:6px;display:inline-flex}.ai-chat-scroll{flex:1;min-height:0;overflow-y:auto}.ai-page .ai-chat-log{gap:18px;width:100%;max-width:48rem;margin:0 auto;padding:20px 16px 28px}.ai-page .ai-msg{white-space:pre-wrap;font-size:.97rem;line-height:1.5}.ai-page .ai-msg-user{color:#fff;background:#111;border-radius:18px 18px 5px;align-self:flex-end;max-width:85%;padding:11px 15px}.ai-page .ai-msg-assistant{color:#1a1a1a;background:0 0;align-self:stretch;padding:0}.ai-page .ai-msg-typing{color:#999;font-style:italic}.ai-mono-hint{color:#8a8a8a}.ai-ready-hint{color:#138a4a}.ai-error-hint{color:#d23b3b}.ai-compose{background:#fff;border-top:1px solid #ececec}.ai-compose-inner{width:100%;max-width:48rem;padding:10px 16px calc(14px + env(safe-area-inset-bottom));margin:0 auto}.ai-compose-bar{margin-bottom:8px;display:flex}.ai-preview-btn{padding:6px 13px;font-size:.82rem}.ai-page .ai-chat-input{flex-direction:row;align-items:flex-end;gap:10px}.mono-input{resize:none;font:inherit;color:#1a1a1a;background:#f6f6f6;border:1px solid #e0e0e0;border-radius:16px;flex:1;padding:11px 14px}.mono-input::placeholder{color:#a0a0a0}.mono-input:focus{background:#fff;border-color:#111;outline:none}.ai-page .ai-chat-input .mono-btn{flex:none}.ai-send-btn{justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.ai-send-btn svg{display:block}.ai-preview-pop{color:#1a1a1a;background:#fff;flex-direction:column;align-self:center;gap:12px;width:100%;max-width:480px;margin:auto;display:flex;position:relative}.ai-preview-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-json{border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;color:#333;background:#f6f6f6;border:1px solid #e4e4e4;max-height:60vh;margin:0;padding:14px;font-size:.85rem;line-height:1.45;overflow:auto}.game-pop{background:var(--cream);border-radius:26px;align-self:center;width:100%;max-width:420px;margin:auto 0;padding:26px 22px 24px;animation:.3s cubic-bezier(.22,1,.36,1) both sheet-up;position:relative;box-shadow:0 24px 60px #3a2b4a59}.sheet-overlay{align-items:center}.game-pop-title{color:var(--ink);align-items:center;gap:9px;font-size:1.5rem;display:flex}.game-pop-title .play-dot{background:#e23b3b}.game-pop-live{color:var(--ink-soft);align-items:center;gap:9px;margin:12px 0 18px;font-size:.92rem;font-weight:700;display:flex}.live-ping{background:#17b978;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1.6s ease-out infinite play-pulse;box-shadow:0 0 #17b978b3}.game-pop-identity{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:18px;align-items:center;gap:14px;padding:14px;display:flex}.id-avatar{background:linear-gradient(145deg, var(--candy-6), var(--candy-1));border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;font-size:1.8rem;display:grid;overflow:hidden}.id-avatar.has{background:#fff}.id-avatar img{object-fit:cover;width:100%;height:100%}.id-text{flex-direction:column;gap:2px;display:flex}.id-text strong{color:var(--ink);font-size:1rem}.id-text .muted{font-size:.8rem;line-height:1.3}.id-upload{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;margin-top:7px;padding:7px 13px;font-size:.78rem;font-weight:700}.id-upload:disabled{opacity:.55}.game-pop-actions{gap:10px;margin-top:20px;display:flex}.game-pop-actions .ghost-btn{flex:none}.game-pop-play{flex:1}.snake-screen{padding-top:12px}.snake-topbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.snake-score{color:var(--ink-soft);flex:1;font-size:.95rem;font-weight:700}.snake-score strong{color:var(--ink);margin-left:4px;font-size:1.3rem}.snake-board-wrap{aspect-ratio:1;background:#ffd9b3;border-radius:20px;width:calc(100% + 36px);margin:0 -18px;position:relative;overflow:hidden;box-shadow:0 10px 30px #3a2b4a2e,inset 0 0 0 3px #fff}.snake-canvas{touch-action:none;width:100%;height:100%;display:block}.snake-name-bubble{background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:800;position:absolute;transform:translate(-50%,-125%);box-shadow:0 4px 10px #00000040}.snake-name-bubble:after{content:"";border:5px solid #0000;border-top-color:var(--ink);border-bottom:0;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.snake-veil{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff;text-align:center;background:#281c368c;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;font-weight:800;display:flex;position:absolute;inset:0}.snake-gameover{background:var(--cream);color:var(--ink);border-radius:20px;padding:22px 26px;box-shadow:0 16px 40px #0000004d}.snake-gameover h3{margin-bottom:4px;font-size:1.6rem}.snake-gameover p{color:var(--ink-soft);margin:0 0 16px}.snake-gameover p strong{color:var(--ink);font-size:1.2rem}.snake-gameover-actions{justify-content:center;gap:10px;display:flex}.snake-hint{text-align:center;color:var(--ink-soft);margin:12px 0;font-size:.8rem}.dpad{grid-template-rows:repeat(2,56px);grid-template-columns:repeat(3,56px);justify-content:center;gap:8px;margin:4px auto 16px;display:grid}.dpad-btn{color:var(--ink);cursor:pointer;box-shadow:0 4px 0 var(--line), 0 6px 14px #3a2b4a24;background:#fff;border:none;border-radius:16px;font-size:1.1rem;transition:transform 80ms,box-shadow 80ms}.dpad-btn:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.dpad-btn.up{grid-area:1/2}.dpad-btn.left{grid-area:2/1}.dpad-btn.down{grid-area:2/2}.dpad-btn.right{grid-area:2/3}.status-panel{background:var(--cream);border-radius:22px;align-self:center;width:100%;max-width:380px;margin:auto 0;padding:22px;animation:.28s cubic-bezier(.22,1,.36,1) both sheet-up;box-shadow:0 24px 60px #3a2b4a59}.status-panel h3{margin-bottom:12px;font-size:1.3rem}.status-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.status-list li{background:#fff;border-radius:12px;align-items:center;gap:10px;padding:9px 12px;display:flex}.status-list li.me{box-shadow:inset 0 0 0 2px var(--candy-1)}.status-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.status-name{color:var(--ink);flex:1;font-size:.9rem;font-weight:700}.status-score{color:var(--ink);font-weight:800}.stats-title{color:var(--ink);margin:6px 0 14px;font-size:1.8rem}.stats-tabs{gap:8px;margin-bottom:16px;display:flex}.stats-tab{border:2px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:14px;flex:1;padding:11px;font-size:.9rem;font-weight:800}.stats-tab.on{color:#fff;background:linear-gradient(135deg, var(--candy-1), var(--candy-6));border-color:#0000}.stats-highlight{background:linear-gradient(135deg, var(--candy-6), var(--candy-1));color:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:2px;margin-bottom:14px;padding:18px;display:flex}.stats-highlight .muted{color:#ffffffd9;font-weight:700}.stats-highlight strong{font-size:2.4rem;line-height:1}.stats-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stats-list li{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.stats-when{color:var(--ink-soft);font-size:.88rem;font-weight:600}.stats-score{color:var(--ink);font-size:1.1rem;font-weight:800}.leaderboard{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.leaderboard li{background:#fff;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.lb-rank{width:22px;color:var(--ink-soft);text-align:center;font-weight:800}.lb-avatar{background:linear-gradient(145deg, var(--candy-6), var(--candy-1));border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid;overflow:hidden}.lb-avatar img{object-fit:cover;width:100%;height:100%}.lb-name{color:var(--ink);flex:1;font-weight:700}.lb-score{color:var(--ink);font-size:1.1rem;font-weight:800}.menu-actions{align-items:center;gap:10px;display:flex}.orders-link{color:var(--ink);border:2px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:6px 13px;font-family:Fredoka,sans-serif;font-size:.82rem;font-weight:600;transition:border-color .2s,color .2s}.orders-link:hover{border-color:var(--candy-6);color:var(--candy-6)}.cart-btn{cursor:pointer;background:0 0;border:none;padding:0}.cart-btn:active{transform:scale(.92)}.cart-screen{padding-bottom:40px}.order-lines{flex-direction:column;gap:10px;display:flex}.order-line{background:var(--surface);border:1.5px solid #fff;border-radius:16px;flex-direction:column;gap:8px;padding:13px 14px;animation:.4s both screen-in;display:flex;box-shadow:0 10px 24px #3a2b4a17}.order-line-top{align-items:center;gap:9px;display:flex}.order-line-name{color:var(--ink);font-size:.98rem;line-height:1.15}.order-line-qty{color:#fff;background:var(--ink);border-radius:999px;margin-left:auto;padding:2px 9px;font-family:Fredoka,sans-serif;font-size:.82rem;font-weight:700}.order-line-opts{margin-top:0}.order-line-foot{justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.order-line-unit{color:var(--ink-soft);font-size:.76rem;font-weight:600}.order-line-price{color:var(--candy-6);font-family:Fredoka,sans-serif;font-size:1.1rem;font-weight:600}.cart-total-row{color:var(--ink);justify-content:space-between;align-items:center;margin:14px 2px 10px;font-weight:800;display:flex}.cart-total{color:var(--ink);font-family:Fredoka,sans-serif;font-size:1.4rem;font-weight:600}.cart-place{width:100%;margin-top:4px}.orders-filter{margin-top:10px}.orders-filter .cat-pill{text-transform:capitalize}.order-list{flex-direction:column;gap:14px;display:flex}.order-card{background:var(--cream-2,#fff);border:1.5px solid var(--line);border-radius:20px;flex-direction:column;gap:10px;padding:14px;animation:.4s both screen-in;display:flex}.order-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.order-id-wrap{flex-direction:column;gap:2px;display:flex}.order-id{color:var(--ink);font-weight:800}.order-when{color:var(--ink-soft);font-size:.76rem;font-weight:600}.order-card .cart-total-row{margin:4px 2px 0}.status-badge{letter-spacing:.05em;text-transform:uppercase;color:#fff;border-radius:999px;flex-shrink:0;padding:4px 11px;font-size:.68rem;font-weight:800}.status-received{background:#64748b}.status-preparing{background:#4a86ff}.status-ready{background:#14b98a}.status-payment_pending{background:#ff9f2e}.status-payment_completed{background:#8a7aa0}.status-cancelled{background:var(--danger)}.load-more{width:100%;margin-top:16px}.mgr-screen{padding-bottom:40px}.manage-forms{flex-direction:column;gap:18px;padding-bottom:40px;display:flex}.manage-forms .card{width:100%;max-width:560px;margin:0 auto}.form-section-title{color:var(--ink);margin:0;font-family:Fredoka,sans-serif;font-size:1.2rem;font-weight:600}.section-card{padding:0;overflow:hidden}.section-toggle{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:18px 22px;display:flex}.section-chevron{color:var(--candy-1);flex-shrink:0;font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;line-height:1}.section-body{padding:0 22px 22px}.option-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.option-row .option-name{flex:auto;min-width:0}.option-row .option-price{flex:0 0 82px;width:82px}.option-remove{border:2px solid var(--line);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:50%;flex:none;place-items:center;font-size:.9rem;line-height:1;transition:border-color .15s,color .15s;display:grid}.option-remove:hover{border-color:var(--danger);color:var(--danger)}.form-ok{color:#178a63;margin:0;font-size:.92rem;font-weight:700}.file-input{cursor:pointer;padding:10px 12px;font-size:.92rem}.photo-preview{align-items:center;gap:12px;margin-top:4px;display:flex}.photo-preview img{object-fit:cover;border-radius:var(--radius-sm);border:2px solid var(--line);width:64px;height:64px}.photo-grid{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.photo-grid .photo-preview{flex-direction:column;gap:6px;margin-top:0}.photo-grid .photo-preview img{width:92px;height:92px}.backup-list{flex-direction:column;gap:8px;margin-top:6px;display:flex}.backup-row{border:2px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.backup-meta{flex-direction:column;gap:2px;font-size:.9rem;display:flex}.mgr-tag{color:#fff;background:linear-gradient(135deg, var(--candy-6), var(--candy-1));border-radius:999px;padding:6px 13px;font-family:Fredoka,sans-serif;font-size:.82rem;font-weight:600}.mgr-orders{flex-direction:column;display:flex}.order-table-wrap{overflow-x:auto}.order-table{border-collapse:collapse;width:100%;font-size:.9rem}.order-table thead th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:.72rem;font-weight:800}.order-table .col-num{text-align:right;white-space:nowrap}.order-table .col-actions{text-align:right}.order-row{cursor:pointer;transition:background .12s}.order-row:hover{background:#00000008}.order-row>td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 10px}.order-row-open>td{border-bottom:none}.order-row .col-id{color:var(--ink);white-space:nowrap;font-weight:800}.order-table .col-time{color:var(--ink-soft);white-space:nowrap;font-size:.8rem;display:none}.order-row:focus-visible{outline:3px solid var(--candy-5);outline-offset:-3px}.row-actions-cell{justify-content:flex-end;align-items:center;gap:8px;display:flex}.chev{color:var(--ink-soft);font-size:1.1rem;line-height:1;transition:transform .2s}.chev-up{transform:rotate(180deg)}.order-detail-row>td{border-bottom:1px solid var(--line);padding:0}@media (width<=759px){.order-table{table-layout:fixed;font-size:.8rem}.order-table thead th{letter-spacing:.02em;padding:7px 5px;font-size:.6rem}.order-row>td{padding:8px 5px}.order-table thead th:first-child,.order-row>td:first-child{width:13%}.order-table thead th:nth-child(3),.order-row>td:nth-child(3){width:12%}.order-table thead th:nth-child(4),.order-row>td:nth-child(4){width:22%}.order-table thead th:nth-child(5),.order-row>td:nth-child(5){width:29%}.order-table thead th:nth-child(6),.order-row>td:nth-child(6){width:24%}.order-table .status-badge{letter-spacing:0;white-space:normal;padding:3px 6px;font-size:.58rem}.row-actions-cell{gap:5px}.row-actions-cell .candy-btn.sm{white-space:normal;padding:6px 7px;font-size:.66rem;line-height:1.15}}.candy-btn.sm{box-shadow:0 4px 0 var(--btn-edge), 0 8px 16px rgba(var(--btn-glow), .34);padding:9px 16px;font-size:.85rem}.candy-btn.sm:active:not(:disabled){box-shadow:0 1px 0 var(--btn-edge), 0 3px 8px rgba(var(--btn-glow), .3);transform:translateY(3px)}.mgr-detail{border-top:1.5px solid var(--line);flex-direction:column;gap:12px;padding:14px;animation:.28s both screen-in;display:flex}.mgr-actions{gap:10px;display:flex}.mgr-actions .candy-btn{flex:1}.mgr-cancel{font:inherit;color:var(--danger);border:2px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:#fff;flex:1;padding:13px 18px;font-size:1.05rem;font-weight:800;transition:background .15s,transform .1s}.mgr-cancel:hover:not(:disabled){background:#fff0f3}.mgr-cancel:active:not(:disabled){transform:translateY(2px)}.mgr-cancel:disabled{opacity:.5;cursor:default}.mgr-full-btn{width:100%}.prep-list{flex-direction:column;gap:8px;display:flex}.prep-row{border:1.5px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.prep-done{background:#eefaf3;border-color:#2bb673}.prep-info{flex-direction:column;gap:6px;min-width:0;display:flex}.prep-name-row{align-items:center;gap:8px;display:flex}.prep-name{color:var(--ink);font-size:.92rem;font-weight:700}.prep-btn{color:var(--ink);border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;padding:7px 14px;font-family:Fredoka,sans-serif;font-size:.8rem;font-weight:600;transition:color .15s,background .15s,border-color .15s,transform .1s}.prep-btn:active{transform:scale(.95)}.prep-on{color:#fff;background:#2bb673;border-color:#2bb673}.btn-danger{--btn-a:#ff6b8a;--btn-b:#e24a6e;--btn-edge:#b83a58;--btn-glow:226, 74, 110}.dish-add.dish-oos,.dish-add.dish-restock{text-transform:none;letter-spacing:.02em;animation:none}.dish-add.dish-oos{background:#e24a6e}.dish-add.dish-oos:hover{filter:brightness(1.08)}.dish-add.dish-restock{background:#14b98a}.dish-add.dish-restock:hover{filter:brightness(1.08)}.opt-chip.chip-oos{opacity:.6;background:#f0e8ee;border-color:#0000;text-decoration:line-through}.chip-flag{letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--danger);border-radius:999px;padding:1px 6px;font-size:.6rem;font-style:normal;font-weight:800;text-decoration:none}.confirm-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#20162685;place-items:center;padding:24px;animation:.18s both screen-in;display:grid;position:fixed;inset:0}.confirm-card{background:var(--surface);border-radius:var(--radius);text-align:center;border:1.5px solid #fff;width:100%;max-width:340px;padding:22px;box-shadow:0 24px 60px #3a2b4a4d}.confirm-title{color:var(--ink);margin:0 0 8px;font-size:1.25rem}.confirm-msg{color:var(--ink-soft);margin:0 0 18px;font-size:.92rem;line-height:1.4}.confirm-actions{gap:10px;display:flex}.confirm-cancel,.confirm-ok{font:inherit;border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:12px 14px;font-size:.98rem;font-weight:800;transition:filter .15s,transform .1s,background .15s}.confirm-cancel{color:var(--ink);border:2px solid var(--line);background:#fff}.confirm-cancel:hover:not(:disabled){background:#faf5f8}.confirm-ok{color:#fff;background:linear-gradient(135deg, var(--candy-1), var(--candy-6));border:none}.confirm-danger{background:linear-gradient(135deg,#ff6b8a,#e24a6e)}.confirm-ok:hover:not(:disabled){filter:brightness(1.05)}.confirm-cancel:active:not(:disabled),.confirm-ok:active:not(:disabled){transform:translateY(2px)}.confirm-cancel:disabled,.confirm-ok:disabled{opacity:.55;cursor:default}.mgr-nav{flex-wrap:wrap;gap:8px;display:flex}.mgr-dash-header{flex-wrap:wrap;row-gap:10px}.mgr-dash-header .mgr-dash-actions-row{flex-wrap:wrap;flex-basis:100%;justify-content:flex-start}.mgr-dash-header .mgr-dash-actions-row .mgr-dash-service{margin-left:auto}.mgr-dash-head{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;display:flex}.rapid-toggle{font:inherit;color:var(--ink-soft);border:2px solid var(--line);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 13px 6px 8px;font-size:.85rem;font-weight:800;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.rapid-switch{background:#cfd4dc;border-radius:999px;flex-shrink:0;width:30px;height:18px;transition:background .15s;position:relative}.rapid-switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.rapid-toggle.rapid-on{color:#0f8a68;background:#e8faf3;border-color:#14b98a}.rapid-on .rapid-switch{background:#14b98a}.rapid-on .rapid-switch:after{transform:translate(12px)}.mgr-dash-head .mgr-nav{flex-wrap:nowrap;justify-content:center}.mgr-dash-head .orders-link{padding:6px 11px;font-size:.8rem}.oos-list{flex-direction:column;gap:10px;display:flex}.oos-row{background:var(--surface);border:1.5px solid #fff;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;animation:.35s both screen-in;display:flex;box-shadow:0 8px 20px #3a2b4a14}.oos-info{align-items:center;gap:9px;min-width:0;display:flex}.oos-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.oos-price{color:var(--candy-6);flex-shrink:0;font-family:Fredoka,sans-serif;font-weight:600}.oos-groups{flex-direction:column;gap:18px;display:flex}.oos-group{flex-direction:column;gap:10px;display:flex}.oos-group-head{align-items:center;gap:8px;margin:0 2px;display:flex}.oos-group-name{color:var(--ink);font-size:1.1rem}.star-rating{align-items:center;gap:2px;line-height:0;display:inline-flex}.star-svg{display:block}.star-svg .star-base{fill:#e9ddcf}.star-svg .star-fill{fill:#ffb92e}.star-rating.is-interactive{gap:4px}.star-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:2px;line-height:0;transition:transform .1s}.star-btn:hover:not(:disabled){transform:scale(1.15)}.star-btn:active{transform:scale(.95)}.star-btn:focus-visible{outline:3px solid var(--candy-6);outline-offset:1px}.link-btn{color:var(--candy-6);cursor:pointer;background:0 0;border:none;padding:4px 2px;font-family:Fredoka,sans-serif;font-size:.9rem;font-weight:600}.link-btn:hover{text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:default}.review-textarea{resize:vertical;border-radius:var(--radius-sm);width:100%;min-height:64px;font:inherit;color:var(--ink);background:#fffdfb;border:2px solid #efe2d6;padding:10px 12px}.review-textarea:focus{border-color:var(--candy-1);outline:none;box-shadow:0 0 0 4px #ff6fb52e}.review-wordcount{text-align:right;color:var(--muted,#9a8c7e);margin-top:-4px;font-size:.75rem;display:block}.review-wordcount.over{color:#d64545;font-weight:700}.review-photos{flex-wrap:wrap;gap:8px;display:flex}.review-photo-thumb{border-radius:12px;flex-shrink:0;width:60px;height:60px;position:relative;overflow:hidden}.review-photo-thumb img{object-fit:cover;width:100%;height:100%}.review-photo-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;place-items:center;width:20px;height:20px;font-size:14px;line-height:1;display:grid;position:absolute;top:2px;right:2px}.review-photo-add{width:60px;height:60px;color:var(--ink-soft);cursor:pointer;background:#fffdfb;border:2px dashed #e0cdba;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;font-size:1.2rem;display:flex}.review-photo-add span{font-size:.62rem;font-weight:600}.review-photo-add:disabled{opacity:.6;cursor:default}.line-review{border-top:1px dashed #efe2d6;margin-top:10px;padding-top:10px}.line-review-open{width:100%}.line-review-form{flex-direction:column;gap:10px;display:flex}.line-review-stars{flex-direction:column;gap:4px;display:flex}.line-review-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.line-review-summary{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.line-review-edit{margin-left:auto}.line-review-text{color:var(--ink-soft);margin:6px 0 0;font-size:.92rem;font-style:italic}.line-review-photos{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.line-review-photos img{object-fit:cover;border-radius:10px;width:56px;height:56px}.service-review{border-radius:var(--radius-sm);background:#fff6ef;border:1px solid #f1e3d5;margin-top:14px;padding:12px}.service-review-form{flex-direction:column;gap:10px;display:flex}.service-review-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.service-review-label{color:var(--ink);font-size:.95rem;font-weight:700}.service-review-head .link-btn{margin-left:auto}.item-reviews{gap:10px}.item-reviews-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.item-reviews-avg{align-items:center;gap:6px;display:flex}.item-reviews-avg-num{color:var(--ink);font-weight:800}.item-reviews-toggle{align-self:flex-start}.item-reviews-list{flex-direction:column;gap:12px;max-height:320px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.item-review{background:#fff6ef;border:1px solid #f1e3d5;border-radius:12px;padding:10px 12px}.item-review-top{align-items:center;gap:8px;display:flex}.item-review-when{color:var(--ink-soft);margin-left:auto;font-size:.78rem}.item-review-text{color:var(--ink);margin:6px 0 0;font-size:.9rem}.service-rating-badge{cursor:pointer;color:var(--ink);background:#fff6ef;border:1px solid #f1e3d5;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-family:Fredoka,sans-serif;font-weight:600;display:inline-flex}.service-rating-badge:hover{filter:brightness(.98)}.service-rating-num{font-weight:800}.service-rating-label{color:var(--ink-soft);font-weight:600}.mgr-dash-service-row{flex-basis:100%;justify-content:flex-start;display:flex}.mgr-dash-service{width:fit-content}.service-reviews-sheet{flex-direction:column;max-height:86dvh;display:flex}.service-reviews-head{border-bottom:1px solid #f1e3d5;flex-direction:column;gap:8px;padding:18px 18px 12px;display:flex}.service-reviews-body{flex-direction:column;gap:14px;padding:14px 18px 20px;display:flex;overflow-y:auto}.service-reviews-body .item-reviews-list,.service-reviews-page-list{max-height:none;overflow:visible}.admin-badge{background:linear-gradient(120deg, var(--candy-1), var(--candy-6));color:#fff;letter-spacing:.02em;border-radius:999px;align-items:center;padding:5px 12px;font-family:Fredoka,sans-serif;font-size:.82rem;font-weight:700;display:inline-flex}.admin-tiles{grid-template-columns:1fr 1fr;gap:14px;padding:4px 0 24px;display:grid}.admin-tile{border-radius:var(--radius);cursor:pointer;text-align:left;color:#fff;background:linear-gradient(150deg, var(--candy), #fff0), linear-gradient(150deg, var(--candy), var(--candy-6));border:none;flex-direction:column;align-items:flex-start;gap:4px;min-height:120px;padding:16px;transition:transform .12s,box-shadow .12s,filter .15s;display:flex;position:relative;box-shadow:0 10px 22px #00000024}.admin-tile:hover{filter:brightness(1.04);transform:translateY(-2px)}.admin-tile:active{transform:translateY(0);box-shadow:0 5px 12px #00000029}.admin-tile:focus-visible{outline:3px solid var(--candy-6);outline-offset:2px}.admin-tile-title{text-shadow:0 1px 2px #0000002e;font-family:Fredoka,sans-serif;font-size:1.08rem;font-weight:800;line-height:1.15}.admin-tile-blurb{opacity:.92;font-size:.82rem}.admin-tile-soon{letter-spacing:.03em;text-transform:uppercase;background:#ffffff52;border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:700;position:absolute;top:10px;right:10px}.admin-tile:first-child{grid-column:1/-1;min-height:96px}@media (width>=500px){.app.dashboard{max-width:760px;box-shadow:none}}@media (width>=1024px){.app.dashboard{max-width:1140px;padding:0 24px}}@media (width>=760px){.app.dashboard .dish-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1100px){.app.dashboard .dish-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=760px){.app.dashboard .order-list,.app.dashboard .oos-list,.app.dashboard .service-reviews-page-list{grid-template-columns:repeat(2,1fr);align-items:start;gap:14px;display:grid}.app.dashboard .order-table .col-time{display:table-cell}}@media (width>=1100px){.app.dashboard .order-list,.app.dashboard .service-reviews-page-list,.app.dashboard .admin-tiles{grid-template-columns:repeat(3,1fr)}}.app.dashboard.theme-pro{--pro-navy:#003b95;--pro-blue:#0a66d6;--pro-blue-strong:#0852b0;--pro-bg:#f1f4f8;--ink:#16181d;--ink-soft:#5a6472;--line:#dfe3e8;--surface:#fff;--cream:#f1f4f8;--cream-2:#fff;--candy-1:#0a66d6;--candy-6:#0a66d6;--danger:#c23934;--radius:8px;--radius-sm:6px;background:var(--pro-bg);color:var(--ink);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}.app.dashboard.theme-pro h1,.app.dashboard.theme-pro h2,.app.dashboard.theme-pro h3{letter-spacing:-.02em;font-family:Inter,Segoe UI,system-ui,sans-serif;font-weight:800}.app.dashboard.theme-pro :is(.brand-name,.menu-title,.menu-price,.dish-price,.cat-pill,.cat-section-title,.order-line-qty,.order-line-price,.cart-total,.orders-link,.mgr-tag,.admin-badge,.form-section-title,.section-chevron,.prep-btn,.oos-price,.service-rating-badge,.admin-tile-title,.link-btn,.sheet-price,.order-summary,.subcat-name,.cart-count){font-family:Inter,Segoe UI,system-ui,sans-serif}.app.dashboard.theme-pro .cafe-header{background:var(--pro-navy);color:#fff;border-bottom:2px solid var(--pro-blue);-webkit-backdrop-filter:none;backdrop-filter:none;margin:0 -18px 12px;padding:14px 18px}.app.dashboard.theme-pro .brand-name{color:#fff;font-weight:700}.app.dashboard.theme-pro .hdr-logout{color:#cfe0ff;font-weight:600}.app.dashboard.theme-pro .hdr-logout:hover{color:#fff}.app.dashboard.theme-pro .hdr-back{color:#fff;box-shadow:none;background:#ffffff29}.app.dashboard.theme-pro .hdr-back:hover{background:#ffffff42}.app.dashboard.theme-pro .mgr-tag,.app.dashboard.theme-pro .admin-badge{color:#fff;border-radius:var(--radius-sm);letter-spacing:.01em;background:#ffffff29;border:1px solid #ffffff4d;font-weight:600}.app.dashboard.theme-pro .menu-btn{color:#fff;border-radius:var(--radius-sm);box-shadow:none;background:#ffffff24;border:1px solid #ffffff59;padding:9px 14px;font-size:.82rem;font-weight:600}.app.dashboard.theme-pro .menu-btn:hover{filter:none;background:#ffffff3d}.app.dashboard.theme-pro .menu-btn:active,.app.dashboard.theme-pro .menu-btn-active{box-shadow:none;transform:translateY(1px)}@media (width>=1024px){.app.dashboard.theme-pro .cafe-header{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}}.app.dashboard.theme-pro .mgr-dash-head{text-align:left;align-items:flex-start}.app.dashboard.theme-pro .mgr-dash-head .mgr-nav{flex-wrap:wrap;justify-content:flex-start}.app.dashboard.theme-pro .menu-title{color:var(--ink);letter-spacing:-.02em;border-left:4px solid var(--pro-blue);padding-left:12px;font-weight:800;line-height:1.1}.app.dashboard.theme-pro .candy-btn{background:var(--pro-blue);color:#fff;border-radius:var(--radius-sm);box-shadow:none;border:1px solid #0000;padding:12px 18px;font-size:.95rem;font-weight:700}.app.dashboard.theme-pro .candy-btn:hover:not(:disabled){background:var(--pro-blue-strong);filter:none}.app.dashboard.theme-pro .candy-btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.app.dashboard.theme-pro .candy-btn:disabled{opacity:.5;box-shadow:none}.app.dashboard.theme-pro .candy-btn.btn-grape,.app.dashboard.theme-pro .candy-btn.btn-sky,.app.dashboard.theme-pro .candy-btn.btn-sun{background:var(--pro-blue);color:#fff}.app.dashboard.theme-pro .candy-btn.btn-grape:hover:not(:disabled),.app.dashboard.theme-pro .candy-btn.btn-sky:hover:not(:disabled),.app.dashboard.theme-pro .candy-btn.btn-sun:hover:not(:disabled){background:var(--pro-blue-strong)}.app.dashboard.theme-pro .candy-btn.btn-mint{background:#157347}.app.dashboard.theme-pro .candy-btn.btn-mint:hover:not(:disabled){background:#115c39}.app.dashboard.theme-pro .candy-btn.btn-danger{background:#c23934}.app.dashboard.theme-pro .candy-btn.btn-danger:hover:not(:disabled){background:#a52d29}.app.dashboard.theme-pro .mgr-cancel{border-radius:var(--radius-sm)}.app.dashboard.theme-pro .cat-pill{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);box-shadow:none;background:#fff;font-weight:600}.app.dashboard.theme-pro .cat-pill:hover{border-color:var(--pro-blue)}.app.dashboard.theme-pro .cat-pill.cat-on{background:var(--pro-blue);color:#fff;border-color:var(--pro-blue);box-shadow:none}.app.dashboard.theme-pro .status-badge{border-radius:4px;font-weight:700}.app.dashboard.theme-pro .status-received{color:#475569;background:#eef1f6}.app.dashboard.theme-pro .status-preparing{color:#0a4fb0;background:#e4efff}.app.dashboard.theme-pro .status-ready{color:#156c3b;background:#e3f6ec}.app.dashboard.theme-pro .status-payment_pending{color:#9a5a00;background:#fff3e0}.app.dashboard.theme-pro .status-payment_completed{color:#4a5160;background:#eceef2}.app.dashboard.theme-pro .status-cancelled{color:#b02a24;background:#fdecec}.app.dashboard.theme-pro .order-card,.app.dashboard.theme-pro .oos-row,.app.dashboard.theme-pro .prep-row,.app.dashboard.theme-pro .order-line,.app.dashboard.theme-pro .card,.app.dashboard.theme-pro .section-card,.app.dashboard.theme-pro .confirm-card,.app.dashboard.theme-pro .menu-card,.app.dashboard.theme-pro .dish-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.app.dashboard.theme-pro .order-card:hover,.app.dashboard.theme-pro .oos-row:hover,.app.dashboard.theme-pro .dish-card:hover{box-shadow:0 2px 10px #10182817}.app.dashboard.theme-pro .text-input,.app.dashboard.theme-pro .review-textarea{background:#fff}.app.dashboard.theme-pro .menu-price,.app.dashboard.theme-pro .dish-price,.app.dashboard.theme-pro .order-line-price,.app.dashboard.theme-pro .oos-price,.app.dashboard.theme-pro .cart-total,.app.dashboard.theme-pro .sheet-price{color:var(--ink);font-weight:800}.app.dashboard.theme-pro .prep-btn{border-radius:var(--radius-sm);border:1px solid var(--line)}.app.dashboard.theme-pro .prep-on{background:#157347;border-color:#157347}.app.dashboard.theme-pro .orders-link,.app.dashboard.theme-pro .service-rating-badge{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-weight:600}.app.dashboard.theme-pro .orders-link:hover{border-color:var(--pro-blue);color:var(--pro-blue)}.app.dashboard.theme-pro .mgr-dash-service{color:#fff;background:#ffffff24;border:1px solid #ffffff59}.app.dashboard.theme-pro .mgr-dash-service:hover{filter:none;background:#ffffff3d}.app.dashboard.theme-pro .mgr-dash-service .service-rating-num,.app.dashboard.theme-pro .mgr-dash-service .service-rating-label{color:#fff}.app.dashboard.theme-pro .cat-section-title{color:var(--ink);border-bottom:2px solid var(--pro-blue);font-weight:800}.app.dashboard.theme-pro .subcat-name:before{background:var(--pro-blue);border-radius:3px}.app.dashboard.theme-pro .admin-tile{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;background:#fff}.app.dashboard.theme-pro .admin-tile:hover{filter:none;transform:translateY(-2px);box-shadow:0 4px 14px #1018281a}.app.dashboard.theme-pro .admin-tile:active{transform:translateY(0);box-shadow:0 2px 6px #1018281f}.app.dashboard.theme-pro .admin-tile-title{color:var(--pro-navy);text-shadow:none;font-weight:800}.app.dashboard.theme-pro .admin-tile-blurb{color:var(--ink-soft);opacity:1}.app.dashboard.theme-pro .admin-tile-soon{color:#5a6472;border:1px solid var(--line);background:#eef1f5}.app.dashboard.theme-pro .admin-tile:first-child{border-top:3px solid var(--pro-blue)}.app.dashboard.theme-pro .hero-title{color:var(--ink);letter-spacing:-.02em;font-weight:800}.app.dashboard.theme-pro .hero-sub{color:var(--ink-soft)}.sra-titlerow{align-items:center;gap:10px;display:flex}.sra-info-btn{border:1.5px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--candy-6);cursor:pointer;border-radius:50%;flex:none;place-items:center;transition:transform .15s,background .15s,color .15s;display:grid}.sra-info-btn:hover{transform:translateY(-1px)}.sra-info-btn.is-on{background:var(--candy-6);border-color:var(--candy-6);color:#fff}.sra-info{border-radius:var(--radius-sm);background:linear-gradient(140deg,#b06bf51a,#4dccf014);border:1px solid #b06bf533;margin:4px 0 16px;padding:14px 16px;animation:.3s both screen-in}.sra-info-lead{color:var(--ink);margin:0 0 8px;font-size:.95rem;font-weight:800}.sra-info-steps{color:var(--ink-soft);flex-direction:column;gap:7px;margin:0;padding-left:18px;font-size:.84rem;line-height:1.45;display:flex}.sra-info-steps strong{color:var(--ink)}.sra-hero{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);align-items:center;gap:16px;margin-bottom:14px;padding:16px;display:flex;box-shadow:0 10px 26px #3a2b4a0f}@property --sra-fill{syntax:"<angle>";inherits:false;initial-value:0deg}.sra-ring{--sra-fill:var(--sra-base);background:conic-gradient(var(--ring-color,var(--candy-4)) var(--sra-fill), #ece7f1 0);border-radius:50%;flex:none;place-items:center;width:92px;height:92px;display:grid}.sra-ring.is-striving{animation:2.6s cubic-bezier(.5,0,.5,1) infinite sra-strive}@keyframes sra-strive{0%{--sra-fill:var(--sra-base)}55%{--sra-fill:var(--sra-peak)}70%{--sra-fill:var(--sra-peak)}to{--sra-fill:var(--sra-base)}}@media (prefers-reduced-motion:reduce){.sra-ring.is-striving{--sra-fill:var(--sra-base);animation:none}}.sra-ring-core{background:var(--surface);border-radius:50%;place-items:center;width:72px;height:72px;line-height:1;display:grid}.sra-ring-num{color:var(--ink);font-size:1.7rem;font-weight:800}.sra-ring-max{color:var(--ink-soft);font-size:.72rem;font-weight:700}.sra-hero-body{flex-direction:column;gap:3px;min-width:0;display:flex}.sra-hero-verdict{color:var(--ink);font-size:1.15rem;font-weight:800}.sra-hero-sub{color:var(--ink-soft);font-size:.8rem}.sra-dist{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.sra-dist-pill{color:var(--ink-soft);background:var(--cream-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 7px;font-size:.72rem;font-weight:700;display:inline-flex}.sra-dist-pill i{border-radius:50%;width:8px;height:8px}.sra-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);margin-bottom:16px;padding:14px;box-shadow:0 10px 26px #3a2b4a0f}.sra-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.sra-seg{background:var(--cream);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.sra-seg-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:700;transition:background .15s,color .15s}.sra-seg-btn.is-on{background:linear-gradient(135deg, var(--candy-6), var(--candy-1));color:#fff;box-shadow:0 4px 10px #b06bf559}.sra-sort{background:var(--surface);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.sra-sort:hover{border-color:var(--candy-6);color:var(--candy-6)}.sra-vbars-viewport{overflow:hidden}.sra-vbars-track{transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex}.sra-vbars-page{flex:0 0 100%;grid-template-columns:repeat(5,1fr);align-items:end;gap:6px;display:grid}.sra-vcol{flex-direction:column;align-items:center;gap:5px;min-width:0;display:flex}.sra-vcol-score{font-size:.95rem;font-weight:800;line-height:1}.sra-vcol-track{background:#eceef3;border-radius:9px;align-items:flex-end;width:100%;max-width:34px;height:150px;display:flex;overflow:hidden}.sra-vcol-fill{border-radius:9px;width:100%;min-height:4px;transition:height .5s cubic-bezier(.22,1,.36,1)}.sra-vcol-label{color:var(--ink-soft);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;font-size:.62rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.sra-vbars-nav{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.sra-vbars-arrow{border:1.5px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--candy-6);cursor:pointer;border-radius:50%;place-items:center;transition:transform .15s,border-color .15s,opacity .15s;display:grid}.sra-vbars-arrow:hover:not(:disabled){border-color:var(--candy-6);transform:translateY(-1px)}.sra-vbars-arrow:disabled{opacity:.35;cursor:default}.sra-vbars-dots{gap:6px;display:flex}.sra-vbars-dot{cursor:pointer;background:#ddd4e6;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:background .15s,transform .15s}.sra-vbars-dot.is-on{background:var(--candy-6);transform:scale(1.3)}.sra-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.sra-tile{border:1px solid;border-radius:14px;flex-direction:column;justify-content:center;gap:2px;min-height:62px;padding:10px 12px;display:flex}.sra-tile-score{font-size:1.4rem;font-weight:800;line-height:1}.sra-tile-label{color:var(--ink-soft);font-size:.72rem;font-weight:600;line-height:1.2}.sra-radar{flex-direction:column;align-items:center;display:flex}.sra-radar svg{max-width:300px}.sra-radar-cap{color:var(--ink-soft);text-align:center;margin:4px 0 0;font-size:.76rem;line-height:1.4}.sra-breakdown{flex-direction:column;gap:18px;margin-bottom:24px;display:flex}.sra-band-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.sra-band-chip{color:#fff;border-radius:999px;align-items:center;gap:7px;padding:4px 6px 4px 13px;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:0 4px 10px #3a2b4a24}.sra-band-count{color:#fff;text-align:center;background:#ffffff47;border-radius:999px;min-width:20px;padding:1px 7px;font-size:.72rem;font-weight:800}.sra-band-hint{color:var(--ink-soft);text-align:right;margin-left:auto;font-size:.74rem}.sra-cloud{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.sra-cloud-item{transform:translate(var(--dx), var(--dy)) scale(.5);transition:transform 1.3s cubic-bezier(.22,1,.36,1);transition-delay:var(--d)}.sra-band.is-revealed .sra-cloud-item{transform:translate(0)scale(1)}.sra-chip2{cursor:pointer;background:var(--tint);transition:background .9s,padding .9s;transition-delay:var(--d);border:none;border-radius:999px;align-items:center;padding:6px 12px;display:inline-flex}.sra-band:not(.is-revealed) .sra-chip2{background:0 0;padding:0}.sra-dot2{border-radius:50%;flex:none;width:11px;height:11px}.sra-chip2-text,.sra-chip2-score{white-space:nowrap;opacity:1;max-width:220px;transition:max-width .9s,opacity .75s,margin .75s;transition-delay:var(--d);overflow:hidden}.sra-chip2-text{color:var(--ink);margin-left:8px;font-size:.82rem;font-weight:700}.sra-chip2-score{margin-left:6px;font-size:.82rem;font-weight:800}.sra-band:not(.is-revealed) .sra-chip2-text,.sra-band:not(.is-revealed) .sra-chip2-score{opacity:0;max-width:0;margin-left:0}.sra-chip2.is-open{outline:2px solid var(--tint);outline-offset:2px}.sra-aspect-desc{background:var(--cream-2);color:var(--ink-soft);border-radius:12px;margin:0 2px 12px;padding:10px 12px;font-size:.84rem;line-height:1.5;animation:.25s both screen-in}.notif-bell{border:1.5px solid var(--line);background:var(--surface,#fff);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.notif-bell:hover{border-color:var(--pro-blue,#0a66d6);color:var(--pro-blue,#0a66d6)}.notif-bell-badge{color:#fff;background:#e24a6e;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;top:-6px;right:-6px}.notif-filters{gap:6px;margin-top:8px;display:flex}.notif-filter{border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:700}.notif-filter.is-active{background:var(--pro-blue,#0a66d6);border-color:var(--pro-blue,#0a66d6);color:#fff}.notif-list{flex-direction:column;gap:8px;margin:12px 0 24px;padding:0;list-style:none;display:flex}.notif-item{border:1.5px solid var(--line);background:var(--surface,#fff);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.notif-item.is-resolved{opacity:.6}.notif-body{flex:1;min-width:0}.notif-text{color:var(--ink);margin:0;font-size:.9rem;font-weight:600}.notif-when{color:var(--ink-soft);font-size:.74rem;font-weight:600}.notif-tick{border:1.5px solid var(--line);color:#14b98a;cursor:pointer;background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.notif-tick:hover{background:#14b98a1a;border-color:#14b98a}.notif-done{color:#14b98a;text-align:center;flex:none;width:34px;font-size:1.1rem;font-weight:800}.app.dashboard .aa{--aa-ink:var(--ink,#16181d);--aa-soft:var(--ink-soft,#5a6472);--aa-muted:#7b8592;--aa-line:var(--line,#dfe3e8);--aa-grid:#eceff3;--aa-surface:#fff;--aa-cur:#0a66d6;--aa-cur-wash:#0a66d61a;--aa-prev:#b9c2cd;--aa-star:#0a66d6;--aa-plowhorse:#eb6834;--aa-puzzle:#1baf7a;--aa-dog:#eda100;--aa-nosales:#a7b0bb;--aa-good:#0b7a3e;--aa-bad:#c23934;--aa-radius:8px;padding-bottom:48px}.app.dashboard .aa .aa-sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app.dashboard .aa .aa-head{justify-content:space-between;align-items:flex-start;gap:12px;margin:6px 0 12px;display:flex}.app.dashboard .aa .aa-period{color:var(--aa-soft);margin:6px 0 0 16px;font-size:.86rem;line-height:1.35}.app.dashboard .aa .aa-period strong{color:var(--aa-ink);font-weight:700}.app.dashboard .aa .aa-refresh,.app.dashboard .aa .aa-apply{border:1px solid var(--aa-line);background:var(--aa-surface);color:var(--aa-ink);cursor:pointer;border-radius:6px;flex:none;padding:9px 12px;font:600 .84rem/1 inherit}.app.dashboard .aa .aa-refresh:hover{border-color:var(--aa-cur);color:var(--aa-cur)}.app.dashboard .aa .aa-apply{background:var(--aa-cur);border-color:var(--aa-cur);color:#fff}.app.dashboard .aa .aa-apply:disabled{opacity:.45;cursor:not-allowed}.app.dashboard .aa .aa-controls{gap:10px;margin-bottom:12px;display:grid}.app.dashboard .aa .aa-pills{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.app.dashboard .aa .aa-pills::-webkit-scrollbar{display:none}.app.dashboard .aa .aa-pills button{border:1px solid var(--aa-line);background:var(--aa-surface);color:var(--aa-soft);cursor:pointer;border-radius:999px;flex:none;padding:8px 12px;font:600 .82rem/1 inherit}.app.dashboard .aa .aa-pills button:hover{color:var(--aa-ink);border-color:#c4cbd4}.app.dashboard .aa .aa-pills button.is-on{background:var(--aa-ink);border-color:var(--aa-ink);color:#fff}.app.dashboard .aa .aa-custom{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.app.dashboard .aa .aa-custom label{color:var(--aa-soft);gap:4px;font-size:.75rem;font-weight:600;display:grid}.app.dashboard .aa .aa-custom input{border:1px solid var(--aa-line);font:inherit;color:var(--aa-ink);background:var(--aa-surface);border-radius:6px;padding:8px 10px;font-size:.88rem}.app.dashboard .aa .aa-tabs{scrollbar-width:none;border-bottom:1px solid var(--aa-line);top:env(safe-area-inset-top,0px);z-index:5;background:var(--pro-bg,#f1f4f8);gap:2px;margin-bottom:16px;display:flex;position:sticky;overflow-x:auto}.app.dashboard .aa .aa-tabs::-webkit-scrollbar{display:none}.app.dashboard .aa .aa-tabs button{color:var(--aa-soft);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;margin-bottom:-1px;padding:12px 12px 11px;font:600 .9rem/1 inherit}.app.dashboard .aa .aa-tabs button:hover{color:var(--aa-ink)}.app.dashboard .aa .aa-tabs button.is-on{color:var(--aa-cur);border-bottom-color:var(--aa-cur)}.app.dashboard .aa :is(button,input,select,[tabindex]):focus-visible{outline:2px solid var(--aa-cur);outline-offset:2px}.app.dashboard .aa .aa-stack{gap:14px;min-width:0;display:grid}.app.dashboard .aa .aa-stack>*,.app.dashboard .aa .aa-grid-2>*{min-width:0}.app.dashboard .aa .aa-grid-2{align-items:start;gap:14px;display:grid}.app.dashboard .aa .aa-stale{opacity:.55;transition:opacity .15s}.app.dashboard .aa .aa-state{text-align:center;color:var(--aa-soft);padding:48px 16px;font-size:.92rem}.app.dashboard .aa .aa-state-error{color:var(--aa-bad)}.app.dashboard .aa .aa-empty{color:var(--aa-muted);margin:8px 0;font-size:.88rem}.app.dashboard .aa .aa-footnote{color:var(--aa-muted);margin:10px 0 0;font-size:.78rem}.app.dashboard .aa .aa-card{background:var(--aa-surface);border:1px solid var(--aa-line);border-radius:var(--aa-radius);min-width:0;padding:16px}.app.dashboard .aa .aa-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.app.dashboard .aa .aa-card-title{letter-spacing:-.01em;color:var(--aa-ink);margin:0;font-size:1rem;font-weight:750}.app.dashboard .aa .aa-card-sub{color:var(--aa-soft);max-width:62ch;margin:4px 0 0;font-size:.8rem;line-height:1.4}.app.dashboard .aa .aa-mini-title{text-transform:uppercase;letter-spacing:.06em;color:var(--aa-muted);margin:12px 0 4px;font-size:.72rem;font-weight:700}.app.dashboard .aa .aa-mini-title:first-of-type{margin-top:0}.app.dashboard .aa .aa-seg{border:1px solid var(--aa-line);border-radius:6px;display:inline-flex;overflow:hidden}.app.dashboard .aa .aa-seg button{background:var(--aa-surface);color:var(--aa-soft);cursor:pointer;border:0;padding:7px 10px;font:600 .78rem/1 inherit}.app.dashboard .aa .aa-seg button+button{border-left:1px solid var(--aa-line)}.app.dashboard .aa .aa-seg button.is-on{color:var(--aa-cur);background:#e8f0fc}.app.dashboard .aa .aa-live{border-radius:var(--aa-radius);background:var(--pro-navy,#003b95);color:#dce7fb;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:10px 14px;font-size:.84rem;display:flex}.app.dashboard .aa .aa-live strong{color:#fff;font-size:.95rem}.app.dashboard .aa .aa-live-title{color:#fff;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.app.dashboard .aa .aa-live-dot{background:#3ddc84;border-radius:50%;width:8px;height:8px;animation:2s infinite aa-pulse;box-shadow:0 0 #3ddc8499}@keyframes aa-pulse{70%{box-shadow:0 0 0 7px #3ddc8400}to{box-shadow:0 0 #3ddc8400}}.app.dashboard .aa .aa-live-sub{color:#a9bee6}.app.dashboard .aa .aa-live-warn{color:#ffd27a;flex-basis:100%;font-weight:600}.app.dashboard .aa .aa-hero-row{gap:14px;display:grid}.app.dashboard .aa .aa-hero{align-content:start;gap:6px;display:grid}.app.dashboard .aa .aa-hero-value{letter-spacing:-.035em;color:var(--aa-ink);font-size:clamp(2.2rem,7vw,3.1rem);font-weight:800;line-height:1.05}.app.dashboard .aa .aa-hero-split{border-top:1px solid var(--aa-grid);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;padding-top:12px;display:grid}.app.dashboard .aa .aa-hero-split>span{gap:2px;display:grid}.app.dashboard .aa .aa-hero-split strong{color:var(--aa-ink);font-size:1.05rem}.app.dashboard .aa .aa-insights ul{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.app.dashboard .aa .aa-insights li{color:var(--aa-ink);padding-left:16px;font-size:.9rem;line-height:1.45;position:relative}.app.dashboard .aa .aa-insights li:before{content:"";background:var(--aa-cur);border-radius:1px;width:6px;height:6px;position:absolute;top:.55em;left:0}.app.dashboard .aa .aa-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app.dashboard .aa .aa-stat{background:var(--aa-surface);border:1px solid var(--aa-line);border-radius:var(--aa-radius);align-content:start;gap:4px;min-width:0;padding:12px;display:grid}.app.dashboard .aa .aa-stat-label{color:var(--aa-soft);font-size:.74rem;font-weight:600}.app.dashboard .aa .aa-stat-value{letter-spacing:-.02em;color:var(--aa-ink);overflow-wrap:anywhere;font-size:1.35rem;font-weight:750}.app.dashboard .aa .aa-stat-foot{flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:.76rem;display:flex}.app.dashboard .aa .aa-stat-prev{color:var(--aa-muted)}.app.dashboard .aa .aa-stat-note{color:var(--aa-muted);font-size:.74rem;line-height:1.35}.app.dashboard .aa .aa-delta{color:var(--aa-soft);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.app.dashboard .aa .aa-delta.is-good{color:var(--aa-good)}.app.dashboard .aa .aa-delta.is-bad{color:var(--aa-bad)}.app.dashboard .aa .aa-delta span[aria-hidden]{font-size:.7em}.app.dashboard .aa .aa-spark{min-width:0;height:28px;margin-top:4px;overflow:hidden}.app.dashboard .aa .aa-spark-line{fill:none;stroke:var(--aa-cur);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;opacity:.75}.app.dashboard .aa .aa-spark-dot{fill:var(--aa-cur)}.app.dashboard .aa .aa-jump{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app.dashboard .aa .aa-jump button{text-align:left;border:1px solid var(--aa-line);background:var(--aa-surface);border-radius:var(--aa-radius);cursor:pointer;font:inherit;gap:3px;padding:12px;display:grid}.app.dashboard .aa .aa-jump button:hover{border-color:var(--aa-cur)}.app.dashboard .aa .aa-jump strong{color:var(--aa-cur);font-size:.9rem}.app.dashboard .aa .aa-jump span{color:var(--aa-soft);font-size:.78rem}.app.dashboard .aa .aa-chart{width:100%;min-width:0;position:relative}.app.dashboard .aa .aa-chart svg{touch-action:pan-y;display:block;overflow:visible}.app.dashboard .aa .aa-grid{stroke:var(--aa-grid);stroke-width:1px;shape-rendering:crispedges}.app.dashboard .aa .aa-baseline{stroke:#c9cfd7;stroke-width:1px;shape-rendering:crispedges}.app.dashboard .aa .aa-axis{fill:var(--aa-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.app.dashboard .aa .aa-axis-title{fill:var(--aa-soft);font-size:11px;font-weight:600}.app.dashboard .aa .aa-line{fill:none;stroke:var(--aa-cur);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.app.dashboard .aa .aa-line-prev{stroke:var(--aa-prev)}.app.dashboard .aa .aa-area{fill:var(--aa-cur-wash)}.app.dashboard .aa .aa-dot{fill:var(--aa-cur);stroke:var(--aa-surface);stroke-width:2px}.app.dashboard .aa .aa-dot-prev{fill:var(--aa-prev)}.app.dashboard .aa .aa-cross{stroke:#9aa4b1;stroke-width:1px}.app.dashboard .aa .aa-bar{fill:var(--aa-cur);transition:opacity .12s}.app.dashboard .aa .aa-bar-dim{opacity:.35}.app.dashboard .aa .aa-bar-hover{fill:var(--pro-blue-strong,#0852b0)}.app.dashboard .aa .aa-seg-a{fill:var(--aa-cur)}.app.dashboard .aa .aa-seg-b{fill:var(--aa-plowhorse)}.app.dashboard .aa .aa-legend{color:var(--aa-soft);flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:.76rem;display:flex}.app.dashboard .aa .aa-key{vertical-align:-1px;border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.app.dashboard .aa .aa-key-cur,.app.dashboard .aa .aa-key-a{background:var(--aa-cur)}.app.dashboard .aa .aa-key-prev{background:var(--aa-prev)}.app.dashboard .aa .aa-key-b{background:var(--aa-plowhorse)}.app.dashboard .aa .aa-key-star{background:var(--aa-star)}.app.dashboard .aa .aa-key-plowhorse{background:var(--aa-plowhorse)}.app.dashboard .aa .aa-key-puzzle{background:var(--aa-puzzle)}.app.dashboard .aa .aa-key-dog{background:var(--aa-dog)}.app.dashboard .aa .aa-key-no_sales{background:var(--aa-nosales)}.app.dashboard .aa .aa-tip{z-index:3;pointer-events:none;border:1px solid var(--aa-line);background:#fff;border-radius:6px;gap:4px;min-width:150px;max-width:260px;padding:8px 10px;font-size:.78rem;display:grid;position:absolute;transform:translateY(-4px);box-shadow:0 6px 18px #16181d1f}.app.dashboard .aa .aa-tip-title{color:var(--aa-ink);align-items:center;gap:6px;font-weight:700;display:flex}.app.dashboard .aa .aa-tip-row{color:var(--aa-soft);align-items:center;gap:6px;display:flex}.app.dashboard .aa .aa-tip-row strong{color:var(--aa-ink);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:10px}.app.dashboard .aa .aa-tip-label{white-space:nowrap}.app.dashboard .aa .aa-tip-sub{color:var(--aa-muted);font-size:.74rem}.app.dashboard .aa .aa-barlist{gap:2px;margin:0;padding:0;list-style:none;display:grid}.app.dashboard .aa .aa-barlist-btn{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:4px;gap:5px;margin:0 -4px;padding:6px 4px;display:grid}.app.dashboard .aa button.aa-barlist-btn{cursor:pointer}.app.dashboard .aa button.aa-barlist-btn:hover{background:#f4f7fb}.app.dashboard .aa .aa-barlist-head{flex-wrap:wrap;justify-content:space-between;gap:2px 10px;font-size:.84rem;display:flex}.app.dashboard .aa .aa-barlist-label{color:var(--aa-ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.app.dashboard .aa .aa-barlist-value{color:var(--aa-ink);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.app.dashboard .aa .aa-barlist-sub{color:var(--aa-muted)}.app.dashboard .aa .aa-barlist-track{background:#eef2f7;border-radius:3px;height:6px;overflow:hidden}.app.dashboard .aa .aa-barlist-fill{background:var(--aa-cur);border-radius:3px;height:100%;display:block}.app.dashboard .aa .aa-heat-wrap{overflow-x:auto}.app.dashboard .aa .aa-heat{min-width:420px;color:var(--aa-muted);gap:2px;font-size:10.5px;display:grid}.app.dashboard .aa .aa-heat-col{text-align:left;white-space:nowrap;overflow:visible}.app.dashboard .aa .aa-heat-rowlabel{color:var(--aa-soft);align-self:center;font-size:11px;font-weight:600}.app.dashboard .aa .aa-heat-cell{border-radius:3px;height:26px;transition:transform .1s}.app.dashboard .aa .aa-heat-cell.is-on{outline:2px solid var(--aa-ink);outline-offset:1px}.app.dashboard .aa .aa-heat-foot{color:var(--aa-soft);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:10px;font-size:.8rem;display:flex}.app.dashboard .aa .aa-heat-readout strong{color:var(--aa-ink)}.app.dashboard .aa .aa-heat-scale{color:var(--aa-muted);align-items:center;gap:2px;font-size:.72rem;display:inline-flex}.app.dashboard .aa .aa-heat-scale i{border-radius:2px;width:16px;height:10px;display:inline-block}.app.dashboard .aa .aa-heat-scale span:first-child{margin-right:4px}.app.dashboard .aa .aa-heat-scale span:last-child{margin-left:4px}.app.dashboard .aa .aa-card-signature{border-top:3px solid var(--aa-ink)}.app.dashboard .aa .aa-quad{stroke:none}.app.dashboard .aa .aa-quad-star{fill:#0a66d60f}.app.dashboard .aa .aa-quad-plowhorse{fill:#eb68340f}.app.dashboard .aa .aa-quad-puzzle{fill:#1baf7a0f}.app.dashboard .aa .aa-quad-dog{fill:#eda10012}.app.dashboard .aa .aa-quad-name{fill:var(--aa-ink);letter-spacing:-.01em;opacity:.8;font-size:13px;font-weight:800}.app.dashboard .aa .aa-threshold{stroke:#8f99a6;stroke-width:1px;shape-rendering:crispedges}.app.dashboard .aa .aa-mdot{stroke:var(--aa-surface);stroke-width:2px;cursor:pointer;opacity:.9;transition:opacity .12s}.app.dashboard .aa .aa-mdot:hover,.app.dashboard .aa .aa-mdot.is-on{opacity:1;stroke:var(--aa-ink);stroke-width:2px}.app.dashboard .aa .aa-mdot:focus-visible{stroke:var(--aa-ink);stroke-width:3px;outline:none}.app.dashboard .aa .aa-mdot-star{fill:var(--aa-star)}.app.dashboard .aa .aa-mdot-plowhorse{fill:var(--aa-plowhorse)}.app.dashboard .aa .aa-mdot-puzzle{fill:var(--aa-puzzle)}.app.dashboard .aa .aa-mdot-dog{fill:var(--aa-dog)}.app.dashboard .aa .aa-mlabel{fill:var(--aa-ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:11px;font-weight:600}.app.dashboard .aa .aa-quads{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.app.dashboard .aa .aa-quad-card{text-align:left;border:1px solid var(--aa-line);background:var(--aa-surface);cursor:pointer;font:inherit;border-radius:6px;gap:4px;padding:10px;display:grid}.app.dashboard .aa .aa-quad-card:hover{border-color:#b9c2cd}.app.dashboard .aa .aa-quad-card.is-on{border-color:var(--aa-ink);box-shadow:inset 0 0 0 1px var(--aa-ink)}.app.dashboard .aa .aa-quad-card-head{color:var(--aa-ink);align-items:center;gap:6px;font-size:.88rem;display:flex}.app.dashboard .aa .aa-quad-count{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.app.dashboard .aa .aa-quad-hint{color:var(--aa-soft);font-size:.76rem;line-height:1.35}.app.dashboard .aa .aa-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.app.dashboard .aa .aa-chips button{border:1px solid var(--aa-line);color:var(--aa-ink);cursor:pointer;background:#fafbfc;border-radius:6px;align-items:baseline;gap:6px;padding:6px 10px;font:600 .82rem/1.2 inherit;display:inline-flex}.app.dashboard .aa .aa-chips button:hover{border-color:var(--aa-cur)}.app.dashboard .aa .aa-chips span{color:var(--aa-muted);font-size:.76rem;font-weight:500}.app.dashboard .aa .aa-table-tools{flex-wrap:wrap;gap:8px;display:flex}.app.dashboard .aa .aa-search,.app.dashboard .aa .aa-select{border:1px solid var(--aa-line);font:inherit;color:var(--aa-ink);background:var(--aa-surface);border-radius:6px;min-width:0;padding:7px 10px;font-size:.84rem}.app.dashboard .aa .aa-search{width:160px}.app.dashboard .aa .aa-table-wrap{margin:0 -16px;padding:0 16px;overflow-x:auto}.app.dashboard .aa .aa-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.84rem}.app.dashboard .aa .aa-table th{color:var(--aa-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--aa-line);white-space:nowrap;padding:8px 10px;font-size:.72rem;font-weight:700}.app.dashboard .aa .aa-table th button{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.app.dashboard .aa .aa-table th button:hover{color:var(--aa-ink)}.app.dashboard .aa .aa-table td{border-bottom:1px solid var(--aa-grid);color:var(--aa-ink);white-space:nowrap;vertical-align:middle;padding:9px 10px}.app.dashboard .aa .aa-table .num{text-align:right}.app.dashboard .aa .aa-table .txt{text-align:left}.app.dashboard .aa .aa-table th:first-child,.app.dashboard .aa .aa-table td:first-child{padding-left:0}.app.dashboard .aa .aa-table th:last-child,.app.dashboard .aa .aa-table td:last-child{padding-right:0}.app.dashboard .aa .aa-table:not(.aa-table-static) tbody tr{cursor:pointer}.app.dashboard .aa .aa-table:not(.aa-table-static) tbody tr:hover td{background:#f6f9fd}.app.dashboard .aa .aa-dish{align-items:center;gap:8px;display:flex}.app.dashboard .aa .aa-dish-sub{color:var(--aa-muted);font-size:.74rem;font-weight:400;display:block}.app.dashboard .aa .aa-class{align-items:center;gap:6px;display:inline-flex}.app.dashboard .aa .aa-veg{vertical-align:-1px;border:1.5px solid;border-radius:2px;flex:none;width:12px;height:12px;display:inline-block;position:relative}.app.dashboard .aa .aa-veg:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:2px}.app.dashboard .aa .aa-veg.is-veg{color:#15803d}.app.dashboard .aa .aa-veg.is-nonveg{color:#b42318}.app.dashboard .aa .aa-link{font:inherit;color:var(--aa-cur);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.app.dashboard .aa .aa-link:hover{text-decoration:underline}.app.dashboard .aa .aa-lift{font-weight:700}.app.dashboard .aa .aa-lift.is-strong{color:var(--aa-good)}.app.dashboard .aa .aa-lift.is-weak{color:var(--aa-muted)}.app.dashboard .aa .aa-crumb{color:var(--aa-cur);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font:600 .88rem/1 inherit}.app.dashboard .aa .aa-item-head h2{color:var(--aa-ink);align-items:center;gap:8px;margin:0;font-size:1.5rem;display:flex}.app.dashboard .aa .aa-item-head p{color:var(--aa-soft);margin:4px 0 0;font-size:.86rem}.app.dashboard .aa .aa-reviews{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.app.dashboard .aa .aa-reviews li{border-top:1px solid var(--aa-grid);gap:2px;padding-top:10px;display:grid}.app.dashboard .aa .aa-review-meta{color:var(--aa-muted);font-size:.74rem}.app.dashboard .aa .aa-review-text{color:var(--aa-ink);font-size:.88rem}@media (width>=500px){.app.dashboard .aa .aa-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.app.dashboard .aa .aa-quads,.app.dashboard .aa .aa-jump{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=760px){.app.dashboard .aa .aa-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.app.dashboard .aa .aa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.app.dashboard .aa .aa-hero-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.app.dashboard .aa .aa-card{padding:18px 20px}.app.dashboard .aa .aa-table-wrap{margin:0 -20px;padding:0 20px}.app.dashboard .aa .aa-search{width:200px}}@media (width>=1100px){.app.dashboard .aa .aa-controls{grid-template-columns:auto 1fr;align-items:center}.app.dashboard .aa .aa-custom{justify-self:end}}@media (prefers-reduced-motion:reduce){.app.dashboard .aa .aa-live-dot{animation:none}.app.dashboard .aa *{transition:none!important}}
