:root{--app-height: 100vh}html,body,#root{height:100%}@supports (height: 100dvh){:root{--app-height: 100dvh}}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}input,select,textarea,button{font-size:16px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes rotate-gradient{0%{transform:rotate(0) scale(1);opacity:.8}50%{transform:rotate(180deg) scale(1.05);opacity:1}to{transform:rotate(360deg) scale(1);opacity:.8}}@keyframes glow{0%,to{box-shadow:0 0 30px #fff3,0 0 60px #ffffff1a}50%{box-shadow:0 0 40px #ffffff4d,0 0 80px #ffffff26}}@keyframes pulse-slow{0%,to{opacity:.6}50%{opacity:1}}@keyframes icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes ripple-1{0%{transform:scale(1);opacity:.5}to{transform:scale(1.3);opacity:0}}@keyframes ripple-2{0%{transform:scale(1);opacity:.3}to{transform:scale(1.5);opacity:0}}.animate-spin-slow{animation:spin-slow 15s linear infinite}.animate-spin-reverse{animation:spin-reverse 20s linear infinite}.animate-rotate-gradient{animation:rotate-gradient 8s ease-in-out infinite}.animate-glow{animation:glow 3s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 4s ease-in-out infinite}.animate-icon-pulse{animation:icon-pulse 2s ease-in-out infinite}.animate-ripple-1{animation:ripple-1 3s ease-out infinite}.animate-ripple-2{animation:ripple-2 3s ease-out 1.5s infinite}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #22c55e66,0 0 40px #22c55e33}50%{box-shadow:0 0 30px #22c55e99,0 0 60px #22c55e4d}}.finish-button-active{background:linear-gradient(135deg,#16a34a,#22c55e 45%,#4ade80,#22c55e 55%,#16a34a);background-size:200% auto;animation:shimmer 3s linear infinite,pulse-glow 2s ease-in-out infinite}@keyframes sheetIn{0%{transform:translateY(100%) scale(.98);opacity:0}60%{transform:translateY(-4px) scale(1);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.animate-sheetIn{animation:sheetIn .35s cubic-bezier(.22,1,.36,1)}@keyframes moveRight{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes shimmer-effect{0%{transform:translate(-150%) skew(-20deg);opacity:0}20%{opacity:.9}80%{opacity:.9}to{transform:translate(150%) skew(-20deg);opacity:0}}@keyframes ai-pop{0%{transform:scale(1);box-shadow:0 0 #f9731600;filter:brightness(1) saturate(1)}25%{transform:scale(1.04);box-shadow:0 0 0 4px #f9731626,0 10px 30px #f973164d,0 20px 60px #0000001a;filter:brightness(1.05) saturate(1.1)}75%{transform:scale(1.04);box-shadow:0 0 0 6px #f973161a,0 15px 40px #f9731633,0 30px 80px #00000026;filter:brightness(1.05) saturate(1.1)}to{transform:scale(1);box-shadow:0 0 #f9731600;filter:brightness(1) saturate(1)}}.shimmer-effect{position:absolute;top:-50%;left:0;width:100%;height:200%;background:linear-gradient(110deg,#fff0 30%,#fff6 45%,#fffc,#fff6 55%,#fff0 70%);animation:shimmer-effect .8s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none;z-index:100;filter:blur(2px)}.animate-ai-trigger{animation:ai-pop 1.2s cubic-bezier(.34,1.56,.64,1) forwards;z-index:50;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}@media(max-width:768px){@keyframes ai-pop{30%{transform:scale(1.02);box-shadow:0 0 0 3px #f9731633,0 5px 15px #f973164d}to{transform:scale(1);box-shadow:0 0 #f9731600}}}.mobile-cart-only{display:none!important}.desktop-cart-only{display:block!important}@media(max-width:767px){.mobile-cart-only{display:flex!important}.desktop-cart-only{display:none!important}}@media(min-width:1070px)and (max-width:1085px)and (min-height:1700px)and (orientation:portrait){.mobile-cart-only{display:flex!important}.portrait-kiosk-fab{bottom:120px!important;right:60px!important;width:96px!important;height:96px!important}.portrait-kiosk-fab svg{width:56px!important;height:56px!important}.portrait-kiosk-badge{width:40px!important;height:40px!important;font-size:18px!important;top:-10px!important;right:-10px!important}.desktop-cart-only{display:none!important}}
