@import"https://fonts.googleapis.com/css2?family=Berkshire+Swash&display=swap";html{scroll-behavior:smooth}.landing-page{min-height:100vh;background:linear-gradient(180deg,#fafafa,#f3f0ff,#fafafa);overflow-x:hidden;position:relative}.floating-icons{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.floating-icon{position:absolute;font-size:2rem;opacity:.1;animation:floatUp var(--duration, 20s) linear infinite;animation-delay:var(--delay, 0s);left:var(--x-start, 50%);bottom:-50px}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.1}90%{opacity:.1}to{transform:translateY(-100vh) rotate(360deg);opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{box-shadow:0 4px 14px #7c3aed66}50%{box-shadow:0 4px 30px #7c3aed99}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-up{animation:fadeUp .8s ease-out forwards;animation-delay:var(--delay, 0ms)}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-delayed{animation:float 3s ease-in-out infinite;animation-delay:1.5s}.pulse-animation{animation:pulse 2s ease-in-out infinite}.delay-100{--delay: .1s}.delay-200{--delay: .2s}.delay-300{--delay: .3s}.scroll-progress-container{position:fixed;top:0;left:0;width:100%;height:3px;background:#7c3aed1a;z-index:9999}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,#7c3aed,#ec4899,#f59e0b);transition:width .1s ease-out;box-shadow:0 0 10px #7c3aed80}.scroll-animate{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--animation-delay, 0ms)}.scroll-animate.visible{opacity:1}.scroll-animate.fade-up{transform:translateY(60px)}.scroll-animate.fade-up.visible{transform:translateY(0)}.scroll-animate.fade-down{transform:translateY(-60px)}.scroll-animate.fade-down.visible{transform:translateY(0)}.scroll-animate.fade-left{transform:translate(80px)}.scroll-animate.fade-left.visible{transform:translate(0)}.scroll-animate.fade-right{transform:translate(-80px)}.scroll-animate.fade-right.visible{transform:translate(0)}.scroll-animate.scale-up{transform:scale(.8)}.scroll-animate.scale-up.visible{transform:scale(1)}.scroll-animate.rotate-in{transform:rotate(-10deg) scale(.9)}.scroll-animate.rotate-in.visible{transform:rotate(0) scale(1)}.scroll-animate.blur-in{filter:blur(10px);transform:scale(1.05)}.scroll-animate.blur-in.visible{filter:blur(0);transform:scale(1)}.parallax-layer{position:absolute;width:100%;height:100%;pointer-events:none;will-change:transform}.hero-parallax-bg{top:0;left:0;overflow:hidden}.hero-floating-shapes{position:absolute;width:100%;height:100%}.shape{position:absolute;border-radius:50%;opacity:.15;animation:shapeFloat 6s ease-in-out infinite}.shape-1{width:300px;height:300px;background:linear-gradient(135deg,#7c3aed,#ec4899);top:10%;left:-10%;animation-delay:0s}.shape-2{width:200px;height:200px;background:linear-gradient(135deg,#f59e0b,#ef4444);top:60%;right:-5%;animation-delay:2s}.shape-3{width:150px;height:150px;background:linear-gradient(135deg,#10b981,#3b82f6);bottom:20%;left:20%;animation-delay:4s}@keyframes shapeFloat{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(10px,-20px) rotate(5deg)}50%{transform:translate(20px) rotate(0)}75%{transform:translate(10px,20px) rotate(-5deg)}}.stagger-children>*{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.16,1,.3,1)}.stagger-children.visible>*:nth-child(1){transition-delay:0ms}.stagger-children.visible>*:nth-child(2){transition-delay:.1s}.stagger-children.visible>*:nth-child(3){transition-delay:.2s}.stagger-children.visible>*:nth-child(4){transition-delay:.3s}.stagger-children.visible>*:nth-child(5){transition-delay:.4s}.stagger-children.visible>*:nth-child(6){transition-delay:.5s}.stagger-children.visible>*{opacity:1;transform:translateY(0)}.landing-nav{position:fixed;top:1rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:1100px;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;box-shadow:0 4px 30px #0000001a;border-radius:9999px;border:1px solid rgba(255,255,255,.8);transition:all .3s ease}.landing-nav.scrolled{background:#fffffffa;box-shadow:0 4px 40px #7c3aed26}.nav-container{display:flex;align-items:center;justify-content:space-between;padding:.25rem 1rem}.nav-logo{display:flex;align-items:center;text-decoration:none;transition:transform .2s}.nav-logo:hover{transform:scale(1.05)}.nav-links{display:none;align-items:center;gap:1.5rem}.nav-links a{color:#4b5563;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s;position:relative}.nav-links a:hover{color:#7c3aed}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:#7c3aed;transition:width .2s}.nav-links a:hover:after{width:100%}.nav-btn-login{padding:.5rem 1rem;border-radius:9999px;background:#f3f4f6}.nav-btn-login:after{display:none!important}.nav-btn-cta{padding:.5rem 1.25rem!important;border-radius:9999px;color:#fff!important;font-weight:600!important;transition:transform .2s,box-shadow .2s!important}.nav-btn-cta:after{display:none!important}.nav-btn-cta:hover{transform:scale(1.05);box-shadow:0 4px 15px #7c3aed66}.mobile-cta{display:flex;padding:.5rem 1rem;border-radius:9999px;color:#fff;text-decoration:none;font-size:.8125rem;font-weight:600}.hero-section{position:relative;padding:8rem 1rem 3rem;display:flex;flex-direction:column;align-items:center;gap:3rem;min-height:100vh;z-index:1}.hero-bg-pattern{position:absolute;top:0;left:0;right:0;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(124,58,237,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(236,72,153,.08) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(59,130,246,.08) 0%,transparent 50%);z-index:-1}.hero-content{text-align:center;max-width:600px}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#7c3aed1a;border:1px solid rgba(124,58,237,.2);border-radius:9999px;font-size:.75rem;font-weight:600;color:#7c3aed;margin-bottom:1.5rem}.badge-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s ease-in-out infinite}.hero-title{font-size:2.25rem;font-weight:800;color:#1f2937;line-height:1.2;margin-bottom:1rem}.hero-highlight{background:linear-gradient(135deg,#7c3aed,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1rem;color:#6b7280;line-height:1.7;margin-bottom:2rem}.hero-cta{display:flex;flex-direction:column;gap:1rem}.btn-primary-large{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;color:#fff;text-decoration:none;font-size:1rem;font-weight:600;border-radius:9999px;transition:all .3s;min-height:52px}.btn-primary-large:hover{transform:translateY(-2px) scale(1.02)}.btn-secondary-large{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;color:#4b5563;text-decoration:none;font-size:1rem;font-weight:600;border-radius:9999px;background:#fff;border:2px solid #E5E7EB;transition:all .3s;min-height:52px}.btn-secondary-large:hover{border-color:#7c3aed;color:#7c3aed;transform:translateY(-2px)}.hero-visual{position:relative;width:100%;max-width:320px}.hero-phone-mockup{background:#1f2937;border-radius:40px;padding:12px;box-shadow:0 25px 80px #0000004d;position:relative}.phone-notch{position:absolute;top:12px;left:50%;transform:translate(-50%);width:100px;height:24px;background:#1f2937;border-radius:0 0 20px 20px;z-index:10}.phone-screen{background:#fafafa;border-radius:32px;padding:2.5rem 1rem 1rem;min-height:400px}.mockup-restaurant-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.mockup-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#ec4899)}.mockup-restaurant-info{flex:1}.mockup-name{height:14px;width:120px;background:#e5e7eb;border-radius:4px;margin-bottom:6px}.mockup-rating{font-size:.625rem;letter-spacing:-1px}.mockup-menu-items{display:flex;flex-direction:column;gap:.75rem}.mockup-menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d}.mockup-item-img{width:48px;height:48px;background:#f3f4f6;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.mockup-item-info{flex:1}.mockup-item-name{height:12px;width:80px;background:#e5e7eb;border-radius:3px;margin-bottom:6px}.mockup-item-price{height:10px;width:40px;background:#7c3aed;border-radius:3px;opacity:.3}.mockup-cart-btn{margin-top:1rem;padding:.875rem;background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff;font-size:.8125rem;font-weight:600;text-align:center;border-radius:12px}.floating-card{display:none;position:absolute;background:#fff;padding:.75rem 1rem;border-radius:12px;box-shadow:0 10px 40px #00000026;align-items:center;gap:.75rem}.card-order{top:20%;right:-20px}.card-review{bottom:30%;left:-20px}.card-icon{font-size:1.5rem}.card-content{display:flex;flex-direction:column}.card-title{font-size:.8125rem;font-weight:600;color:#1f2937}.card-subtitle{font-size:.6875rem;color:#6b7280}.stats-section{padding:2rem 1rem;background:#fff;position:relative;z-index:1}.stats-container{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#fafafa,#f3f0ff);border-radius:1rem;box-shadow:0 4px 20px #7c3aed1a}.stats-container.scroll-animate{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.stat-item{text-align:center;padding:.5rem 1rem}.stat-number{display:block;font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#7c3aed,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{display:block;font-size:.75rem;color:#6b7280;margin-top:.25rem;font-weight:500}.stat-divider{display:none;width:1px;height:40px;background:linear-gradient(180deg,transparent,#E5E7EB,transparent)}.features-section{padding:4rem 1rem;position:relative;z-index:1}.section-container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:3rem}.section-badge{display:inline-block;padding:.375rem 1rem;background:linear-gradient(135deg,#7c3aed1a,#ec48991a);color:#7c3aed;font-size:.75rem;font-weight:700;border-radius:9999px;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.1em}.section-title{font-size:1.75rem;font-weight:800;color:#1f2937;margin-bottom:.75rem;line-height:1.3}.section-subtitle{font-size:1rem;color:#6b7280;max-width:500px;margin:0 auto}.features-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.feature-card{padding:1.5rem;background:#fff;border-radius:1.25rem;border:1px solid #F3F4F6;position:relative;overflow:hidden}.feature-card.scroll-animate{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease}.feature-card:hover{transform:translateY(-8px)!important;box-shadow:0 20px 40px #7c3aed26;border-color:var(--accent-color, #7C3AED)}.feature-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent-color, #7C3AED);transform:scaleX(0);transform-origin:left;transition:transform .3s}.feature-card:hover:before{transform:scaleX(1)}.feature-icon-wrapper{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.feature-icon{font-size:1.75rem}.feature-title{font-size:1.125rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.feature-description{font-size:.875rem;color:#6b7280;line-height:1.6;margin-bottom:1rem}.feature-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:var(--accent-color, #7C3AED);cursor:pointer;transition:gap .2s}.feature-link:hover{gap:.625rem}.how-it-works-section{padding:4rem 1rem;background:linear-gradient(180deg,#f9fafb,#fff);position:relative;z-index:1}.steps-container{display:grid;grid-template-columns:1fr;gap:2rem;max-width:900px;margin:0 auto}.step-card{position:relative;text-align:center;padding:2rem 1.5rem;background:#fff;border-radius:1.25rem;box-shadow:0 4px 20px #0000000d}.step-card.scroll-animate{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.step-card:hover{transform:translateY(-8px)!important;box-shadow:0 12px 40px #7c3aed26}.step-icon-wrapper{width:64px;height:64px;margin:0 auto 1rem;background:linear-gradient(135deg,#f3e8ff,#fce7f3);border-radius:50%;display:flex;align-items:center;justify-content:center}.step-emoji{font-size:1.75rem}.step-number{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:32px;height:32px;border-radius:50%;color:#fff;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #7c3aed4d}.step-title{font-size:1.125rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.step-description{font-size:.875rem;color:#6b7280;line-height:1.5}.step-connector{display:none}.testimonial-section{padding:4rem 1rem;position:relative;z-index:1}.testimonial-card{max-width:700px;margin:0 auto;padding:2rem;background:#fff;border-radius:1.5rem;box-shadow:0 10px 40px #7c3aed1a;text-align:center;position:relative}.testimonial-card.scroll-animate{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}.quote-icon{font-size:4rem;font-family:Georgia,serif;color:#7c3aed;opacity:.2;line-height:1;margin-bottom:-1rem}.testimonial-text{font-size:1.125rem;color:#374151;line-height:1.7;font-style:italic;margin-bottom:1.5rem}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:1rem}.author-avatar{width:48px;height:48px;background:linear-gradient(135deg,#f3e8ff,#fce7f3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.author-info{text-align:left}.author-name{display:block;font-size:.9375rem;font-weight:600;color:#1f2937}.author-role{display:block;font-size:.8125rem;color:#6b7280}.cta-section{padding:4rem 1rem;position:relative;z-index:1}.cta-container{position:relative;max-width:900px;margin:0 auto;padding:3rem 1.5rem;border-radius:2rem;text-align:center;overflow:hidden}.cta-container.scroll-animate{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}.cta-pattern{position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5}.cta-title{position:relative;font-size:1.75rem;font-weight:800;color:#fff;margin-bottom:.75rem}.cta-subtitle{position:relative;font-size:1rem;color:#ffffffe6;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.btn-cta-white{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background:#fff;color:#7c3aed;text-decoration:none;font-size:1rem;font-weight:700;border-radius:9999px;transition:all .3s;min-height:52px}.btn-cta-white:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 30px #0003}.cta-note{position:relative;margin-top:1rem;font-size:.8125rem;color:#fffc}.landing-footer{background:transparent;padding:3rem 1rem 1.5rem;color:#1f2937;position:relative;z-index:1}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.footer-brand{text-align:center}.footer-logo{display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.footer-tagline{font-size:.875rem;color:#6b7280;margin-bottom:1rem}.footer-social{display:flex;justify-content:center;gap:1rem}.social-link{width:40px;height:40px;background:#7c3aed1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;text-decoration:none;transition:all .2s;color:#7c3aed}.social-link:hover{background:#7c3aed;color:#fff;transform:translateY(-2px)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}.footer-column h4{font-size:.75rem;font-weight:600;color:#7c3aed;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.footer-column a{display:block;font-size:.875rem;color:#4b5563;text-decoration:none;margin-bottom:.625rem;transition:color .2s}.footer-column a:hover{color:#7c3aed}.footer-big-name{width:100%;margin:3rem 0 0;padding-bottom:1rem;text-align:center;font-family:Berkshire Swash,cursive;font-size:clamp(4rem,25vw,18rem);font-weight:400;letter-spacing:-.02em;line-height:1.1;background:linear-gradient(135deg,#7c3aed,#9333ea,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-webkit-user-select:none;user-select:none}.footer-bottom{max-width:1200px;margin:1.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(124,58,237,.1);text-align:center}.footer-bottom p{font-size:.8125rem;color:#6b7280}@media (min-width: 640px){.landing-nav{top:1.25rem;width:calc(100% - 3rem)}.nav-container{padding:.25rem 1.5rem}.mobile-cta{display:none}.nav-links{display:flex}.hero-section{padding:10rem 1.5rem 5rem}.hero-title{font-size:2.75rem}.hero-subtitle{font-size:1.125rem}.hero-cta{flex-direction:row;justify-content:center}.floating-card{display:flex}.stats-container{flex-wrap:nowrap;gap:2rem;padding:2rem}.stat-divider{display:block}.stat-number{font-size:2rem}.features-section,.how-it-works-section,.testimonial-section{padding:5rem 1.5rem}.section-title{font-size:2rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.steps-container{grid-template-columns:repeat(2,1fr)}.cta-section{padding:5rem 1.5rem}.cta-container{padding:4rem 2.5rem}.cta-title{font-size:2rem}.footer-container{flex-direction:row;justify-content:space-between;align-items:flex-start}.footer-brand{text-align:left}.footer-brand .footer-logo,.footer-social{justify-content:flex-start}.footer-links{gap:3rem;text-align:left}}@media (min-width: 768px){.hero-section{flex-direction:row;padding:10rem 2rem 6rem;gap:4rem;min-height:100vh;align-items:center;justify-content:center}.hero-content{text-align:left;flex:1;max-width:550px}.hero-badge{margin-left:0}.hero-title{font-size:3rem}.hero-cta{justify-content:flex-start}.hero-visual{flex:1;max-width:380px}.features-section,.how-it-works-section,.testimonial-section{padding:6rem 2rem}.section-title{font-size:2.25rem}.features-grid{grid-template-columns:repeat(3,1fr)}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #7c3aed26}.steps-container{grid-template-columns:repeat(4,1fr)}.testimonial-card{padding:3rem}.testimonial-text{font-size:1.25rem}.cta-section{padding:6rem 2rem}.cta-container{padding:5rem 3rem}.cta-title{font-size:2.5rem}.footer-links{gap:4rem}}@media (min-width: 1024px){.hero-section{padding:10rem 3rem 6rem;gap:5rem}.hero-title{font-size:3.5rem}.hero-subtitle{font-size:1.25rem}.hero-visual{max-width:420px}.phone-screen{min-height:480px}.floating-card{padding:1rem 1.25rem}.card-order{right:-60px}.card-review{left:-60px}.features-section,.how-it-works-section,.testimonial-section{padding:7rem 3rem}.features-grid{gap:2rem}.feature-card{padding:2rem}.cta-section{padding:7rem 3rem}.landing-footer{padding:4rem 3rem 2rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.floating-icon,.animate-fade-up,.animate-float,.animate-float-delayed,.pulse-animation,.shape{animation:none}.scroll-animate{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.parallax-layer{transform:none!important}.btn-primary-large:hover,.btn-secondary-large:hover,.btn-cta-white:hover,.feature-card:hover,.step-card:hover{transform:none}}.login-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo-link{display:flex;justify-content:center;text-decoration:none;margin-bottom:.75rem;transition:transform .2s}.login-logo-link:hover{transform:scale(1.02)}.brand-subtitle{font-size:.9375rem;color:#6b7280}.login-card{background:#fff;border-radius:1rem;padding:2.5rem;width:100%;max-width:450px;box-shadow:0 10px 15px -3px #0000001a}.welcome-text{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.welcome-subtitle{font-size:.875rem;color:#6b7280;margin-bottom:1.5rem}.role-selector{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f3f4f6;padding:.25rem;border-radius:.5rem}.role-btn{flex:1;padding:.625rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;background:transparent;color:#6b7280;transition:all .2s}.role-btn.active{background:#fff;color:#7c3aed;box-shadow:0 1px 2px #0000000d}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#1f2937}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:.75rem 1rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:.875rem;transition:border-color .2s}.input-wrapper:has(.password-toggle) input{padding-right:3rem}.input-wrapper input:focus{border-color:#7c3aed}.password-toggle{position:absolute;right:1rem;background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.error-message{padding:.75rem;background:#fee2e2;color:#ef4444;border-radius:.5rem;font-size:.875rem;text-align:center}.signin-btn{padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;color:#fff;margin-top:.5rem;transition:opacity .2s}.signin-btn:hover:not(:disabled){opacity:.9}.signin-btn:disabled{cursor:not-allowed}.demo-credentials{margin-top:2rem;text-align:center}.divider{height:1px;background:#e5e7eb;margin-bottom:1rem}.demo-label{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.demo-text{font-size:.875rem;color:#1f2937}.demo-cred{color:#2563eb;font-family:monospace}.back-to-home{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;color:#6b7280;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s}.back-to-home:hover{color:#7c3aed}@media (max-width: 640px){.login-card{padding:1.5rem}.brand-name{font-size:2rem}}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 72px)}.dashboard-header{background:#fff;padding:1rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:.75rem;position:sticky;top:0;z-index:90}.dashboard-header h1{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.125rem;line-height:1.2}.dashboard-header p{font-size:.8125rem;color:#6b7280}.header-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.settings-btn{width:44px;height:44px;border-radius:.5rem;background:#f3f4f6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.125rem;transition:all .2s;padding:0}.settings-btn:active{background:#7c3aed;transform:rotate(90deg)}.logout-btn{padding:.625rem 1rem;background:#ef4444;color:#fff;border-radius:.5rem;font-size:.8125rem;font-weight:500;transition:opacity .2s;min-height:44px;border:none;cursor:pointer}.logout-btn:active{opacity:.9}.settings-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;overflow-y:auto;animation:fadeIn .2s}.settings-modal-content{min-height:100vh;padding:.5rem}.dashboard-content{max-width:1200px;margin:0 auto;padding:.75rem}.section-header{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.section-header h2{font-size:1.25rem;font-weight:700;color:#1f2937}.section-header .preview-description{font-size:.8125rem;color:#6b7280;margin:0;margin-top:.375rem}.preview-section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.preview-section-header>div{width:100%}.preview-container{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a;max-height:calc(100vh - 220px);overflow-y:auto}.btn-primary{padding:.75rem 1.25rem;color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:600;transition:opacity .2s;min-height:44px;border:none;cursor:pointer;width:100%}.btn-primary:active{opacity:.9}.btn-secondary{padding:.75rem 1.25rem;background:#e5e7eb;color:#1f2937;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s;min-height:44px;border:none;cursor:pointer}.btn-secondary:active{background:#d1d5db}.form-card{background:#fff;border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.form-card h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.form-group{margin-bottom:.875rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:#1f2937;margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:1rem;transition:border-color .2s;min-height:48px}.form-actions{display:flex;flex-direction:column;gap:.625rem;margin-top:1rem}.restaurants-grid,.menu-items-grid,.tables-grid,.staff-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.restaurant-card,.menu-item-card,.table-card,.staff-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.restaurant-card:active,.menu-item-card:active,.table-card:active,.staff-card:active{transform:scale(.98)}.inline-edit-form{width:100%;animation:slideDown .3s ease-out}.inline-edit-form .menu-item-form-card,.inline-edit-form .table-form-card,.inline-edit-form .order-form-card,.inline-edit-form .staff-form-card{margin-bottom:0;box-shadow:0 2px 4px #0000001a;padding:1rem;background:#fff;border-radius:.5rem;border:2px solid #7C3AED}.inline-edit-form .menu-item-form-card h3,.inline-edit-form .table-form-card h3,.inline-edit-form .order-form-card h3,.inline-edit-form .staff-form-card h3{font-size:1rem;margin-bottom:.875rem;color:#7c3aed}.menu-item-image{width:100%;height:150px;overflow:hidden;border-radius:.5rem;margin-bottom:.625rem;background:#f3f4f6}.menu-item-image img{width:100%;height:100%;object-fit:cover}.menu-item-content{display:flex;flex-direction:column;flex:1}.menu-item-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.375rem;gap:.25rem}.menu-item-header h3,.restaurant-card h3,.menu-item-card h3{font-size:1rem;font-weight:600;color:#1f2937;line-height:1.3;margin-bottom:0}.menu-item-price{font-size:1rem;font-weight:700;color:#7c3aed;white-space:nowrap}.menu-item-category{font-size:.6875rem;color:#7c3aed;font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.375rem}.menu-item-description{font-size:.8125rem;color:#6b7280;margin-bottom:.5rem;flex:1;line-height:1.5}.restaurant-info{font-size:.8125rem;color:#6b7280;margin-bottom:.375rem}.restaurant-info strong{color:#1f2937}.item-details-section{margin-bottom:.5rem;border:1px solid #E5E7EB;border-radius:.5rem;overflow:hidden;background:#f9fafb}.details-toggle-btn{width:100%;padding:.5rem .625rem;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.8125rem;font-weight:600;color:#7c3aed;transition:background-color .2s;min-height:44px}.details-toggle-btn:active{background:#f3f4f6}.details-toggle-btn span{color:#7c3aed}.item-details-content{padding:.5rem;background:#fff;border-top:1px solid #E5E7EB;animation:slideDown .3s ease-out}.menu-item-dates{margin-bottom:.375rem;padding:.375rem;background:#f9fafb;border-radius:.375rem;font-size:.6875rem}.date-info{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.25rem;gap:.125rem}.date-info:last-child{margin-bottom:0}.date-label{color:#6b7280;font-weight:500}.date-value{color:#1f2937;font-weight:400}.additional-details{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #E5E7EB}.detail-row{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.375rem;font-size:.6875rem;gap:.125rem}.detail-row:last-child{margin-bottom:0}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#1f2937;font-weight:400}.menu-item-status{margin-bottom:.5rem}.status-available{display:inline-block;padding:.25rem .75rem;background:#d1fae5;color:#065f46;border-radius:9999px;font-size:.6875rem;font-weight:500}.status-unavailable{display:inline-block;padding:.25rem .75rem;background:#fee2e2;color:#991b1b;border-radius:9999px;font-size:.6875rem;font-weight:500}.card-actions{display:flex;gap:.375rem;margin-top:auto;padding-top:.75rem;border-top:1px solid #E5E7EB;justify-content:flex-end}.btn-icon{width:44px;height:44px;padding:0;border-radius:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s;cursor:pointer;border:none}.btn-icon svg{width:18px;height:18px}.btn-edit-icon{background:#7c3aed;color:#fff}.btn-edit-icon:active{background:#6d28d9;transform:scale(.95)}.btn-delete-icon{background:#ef4444;color:#fff}.btn-delete-icon:active{background:#dc2626;transform:scale(.95)}.btn-edit{flex:1;padding:.625rem 1rem;background:#7c3aed;color:#fff;border-radius:.5rem;font-size:.8125rem;font-weight:500;transition:opacity .2s;min-height:44px;border:none;cursor:pointer}.btn-edit:active{opacity:.9}.btn-delete{flex:1;padding:.625rem 1rem;background:#ef4444;color:#fff;border-radius:.5rem;font-size:.8125rem;font-weight:500;transition:opacity .2s;min-height:44px;border:none;cursor:pointer}.btn-delete:active{opacity:.9}.empty-state,.error-state{text-align:center;padding:2rem 1rem;background:#fff;border-radius:.75rem;color:#6b7280}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1rem;color:#6b7280}.qr-section{background:#fff;border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.qr-section h3{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.375rem}.qr-section p{font-size:.8125rem;color:#6b7280;margin-bottom:.75rem}.category-filter{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.category-filter label{font-size:.8125rem;font-weight:500;color:#1f2937}.category-filter select{padding:.625rem 1rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:1rem;background:#fff;min-height:48px}.tabs-container{display:flex;gap:.375rem;margin-bottom:1rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;border-bottom:2px solid #E5E7EB}.tabs-container::-webkit-scrollbar{display:none}.tab-btn{padding:.625rem .875rem;background:transparent;border:none;border-bottom:2px solid transparent;font-size:.75rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;margin-bottom:-2px;white-space:nowrap;min-height:44px;display:flex;align-items:center;justify-content:center}.tab-btn:active{color:#7c3aed}.tab-btn.active{color:#fff;border-bottom-color:transparent;border-radius:.5rem .5rem 0 0}.table-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #E5E7EB}.table-header h3{font-size:1.125rem;font-weight:600;color:#1f2937}.table-status{padding:.25rem .75rem;border-radius:9999px;font-size:.6875rem;font-weight:500;align-self:flex-start}.table-status-available{background:#d1fae5;color:#065f46}.table-status-occupied{background:#fee2e2;color:#991b1b}.table-status-reserved{background:#dbeafe;color:#1e40af}.table-status-maintenance{background:#fef3c7;color:#92400e}.table-details{margin-bottom:.75rem}.table-details p{font-size:.8125rem;color:#6b7280;margin-bottom:.375rem}.table-details strong{color:#1f2937}.table-qr-section{margin:.75rem 0;background:#f9fafb;border-radius:.5rem;border-top:2px solid #E5E7EB;overflow:hidden}.qr-toggle-btn{width:100%;padding:.75rem;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.8125rem;font-weight:600;color:#1f2937;transition:background-color .2s;min-height:44px}.qr-toggle-btn:active{background:#f3f4f6}.qr-toggle-btn span{color:#7c3aed}.qr-content{padding:.75rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.order-status-filter{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.order-status-filter label{font-size:.8125rem;font-weight:500;color:#1f2937}.order-status-filter select{padding:.625rem 1rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:1rem;background:#fff;min-height:48px}.orders-list{display:flex;flex-direction:column;gap:.75rem}.order-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.order-card:active{transform:scale(.99)}.order-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #E5E7EB}.order-header h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:.125rem}.order-table{font-size:.8125rem;color:#6b7280;margin-bottom:.125rem}.order-customer{font-size:.8125rem;color:#7c3aed;font-weight:500;margin-bottom:.125rem}.order-date{font-size:.6875rem;color:#9ca3af}.order-status-section{display:flex;align-items:center}.order-status-select{padding:.5rem .875rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;border:2px solid;cursor:pointer;transition:all .2s;min-height:44px}.order-status-select.order-status-pending{border-color:#fbbf24;background:#fef3c7;color:#92400e}.order-status-select.order-status-preparing{border-color:#3b82f6;background:#dbeafe;color:#1e40af}.order-status-select.order-status-ready,.order-status-select.order-status-completed{border-color:#10b981;background:#d1fae5;color:#065f46}.order-status-select.order-status-cancelled{border-color:#ef4444;background:#fee2e2;color:#991b1b}.order-status-badge{padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;display:inline-block}.order-status-badge.order-status-pending{background:#fef3c7;color:#92400e}.order-status-badge.order-status-accepted{background:#d1fae5;color:#065f46}.order-status-badge.order-status-rejected{background:#fee2e2;color:#991b1b}.order-status-badge.order-status-on-hold,.order-status-badge.order-status-preparing{background:#dbeafe;color:#1e40af}.order-status-badge.order-status-prepared{background:#fde68a;color:#78350f}.order-status-badge.order-status-served{background:#a7f3d0;color:#065f46}.order-status-badge.order-status-ready,.order-status-badge.order-status-completed{background:#d1fae5;color:#065f46}.order-status-badge.order-status-cancelled{background:#fee2e2;color:#991b1b}.order-actions{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#f9fafb;border-radius:.5rem;margin-bottom:.75rem}.btn-order-action{flex:1;min-width:0;padding:.75rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px}.btn-order-action:active{transform:scale(.98)}.btn-accept{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-reject{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-hold{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-preparing{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.btn-ready{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-prepared{background:linear-gradient(135deg,#fcd34d,#fbbf24);color:#78350f}.btn-served{background:linear-gradient(135deg,#34d399,#10b981);color:#fff}.btn-complete{background:linear-gradient(135deg,#059669,#047857);color:#fff}.order-items{margin-bottom:.75rem}.order-items h4{font-size:.8125rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.order-item-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:1px solid #F3F4F6}.order-item-row:last-child{border-bottom:none}.order-item-name{font-size:.8125rem;color:#1f2937}.order-item-price{font-size:.8125rem;font-weight:600;color:#7c3aed}.order-notes{padding:.625rem;background:#f9fafb;border-radius:.5rem;font-size:.8125rem;color:#6b7280;margin-bottom:.75rem}.order-footer{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding-top:.75rem;border-top:2px solid #E5E7EB}.order-total{font-size:1rem;color:#1f2937}.staff-status-filter{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.staff-status-filter label{font-size:.8125rem;font-weight:500;color:#1f2937}.staff-status-filter select{padding:.625rem 1rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:1rem;background:#fff;cursor:pointer;min-height:48px}.staff-photo-section{position:relative;margin-bottom:.75rem;display:flex;justify-content:center;align-items:center}.staff-photo{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #E5E7EB}.staff-photo-placeholder{width:100px;height:100px;border-radius:50%;background:#f3f4f6;border:3px solid #E5E7EB;display:flex;align-items:center;justify-content:center;color:#9ca3af}.staff-status-badge{position:absolute;bottom:0;right:calc(50% - 35px);padding:.25rem .625rem;border-radius:9999px;font-size:.6875rem;font-weight:600;border:2px solid white}.staff-status-active{background:#10b981;color:#fff}.staff-status-inactive{background:#6b7280;color:#fff}.staff-status-on-leave{background:#f59e0b;color:#fff}.staff-content{flex:1;display:flex;flex-direction:column}.staff-header{text-align:center;margin-bottom:.75rem}.staff-header h3{font-size:1.125rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.staff-role{display:inline-block;padding:.25rem .625rem;background:#f3f4f6;color:#7c3aed;border-radius:9999px;font-size:.6875rem;font-weight:600}.staff-info{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem}.staff-info-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#6b7280}.staff-info-item svg{flex-shrink:0;color:#9ca3af;width:14px;height:14px}.staff-details-section{margin-bottom:.75rem}.staff-details-content{margin-top:.5rem;padding:.5rem;background:#f9fafb;border-radius:.5rem;display:flex;flex-direction:column;gap:.375rem}.staff-detail-row{display:flex;flex-direction:column;gap:.125rem}@media (min-width: 640px){.dashboard-container{padding-bottom:2rem}.dashboard-header{flex-direction:row;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem}.dashboard-header h1{font-size:1.375rem}.header-actions{width:auto}.settings-btn:hover{background:#7c3aed;transform:rotate(90deg)}.logout-btn:hover{opacity:.9}.dashboard-content{padding:1.5rem}.section-header{flex-direction:row;justify-content:space-between;align-items:center}.btn-primary{width:auto}.form-actions{flex-direction:row}.restaurants-grid,.tables-grid,.staff-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.menu-items-grid{grid-template-columns:1fr;gap:1rem}.restaurant-card:hover,.menu-item-card:hover,.table-card:hover,.staff-card:hover,.order-card:hover{transform:translateY(-2px);box-shadow:0 8px 12px #0000001a}.restaurant-card:active,.menu-item-card:active,.table-card:active,.staff-card:active,.order-card:active{transform:none}.menu-item-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.menu-item-image{height:180px}.date-info,.detail-row{flex-direction:row;justify-content:space-between;align-items:center}.btn-icon:hover{transform:scale(1.05)}.btn-edit-icon:hover{background:#6d28d9}.btn-delete-icon:hover{background:#dc2626}.table-header{flex-direction:row;justify-content:space-between;align-items:center}.table-status{align-self:auto}.category-filter,.order-status-filter,.staff-status-filter{flex-direction:row;align-items:center;gap:.75rem}.category-filter select,.order-status-filter select,.staff-status-filter select{width:auto;min-width:200px}.order-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.order-actions{flex-direction:row;flex-wrap:wrap}.btn-order-action{flex:1;min-width:120px}.btn-order-action:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.order-footer{flex-direction:row;justify-content:space-between;align-items:center}.card-actions{width:auto}.staff-photo,.staff-photo-placeholder{width:120px;height:120px}.staff-status-badge{right:calc(50% - 40px)}}@media (min-width: 768px){.dashboard-header{padding:1.5rem 2rem}.dashboard-header h1{font-size:1.5rem}.dashboard-content{padding:2rem}.section-header{margin-bottom:1.5rem}.section-header h2{font-size:1.5rem}.preview-container{max-height:calc(100vh - 300px)}.form-card{padding:1.5rem}.form-card h3{font-size:1.25rem;margin-bottom:1.5rem}.tabs-container{margin-bottom:2rem}.tab-btn{padding:.75rem 1.5rem;font-size:.875rem}.restaurants-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.tables-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.restaurant-card,.table-card,.staff-card{padding:1.5rem}.menu-item-card{padding:1rem}.order-card{padding:1.5rem}.menu-item-header h3,.restaurant-card h3,.menu-item-price{font-size:1.125rem}.menu-item-description{font-size:.875rem}.order-header h3{font-size:1.25rem}.order-total{font-size:1.125rem}.qr-section{padding:1.5rem}.qr-section h3{font-size:1.125rem}}@media (min-width: 1024px){.menu-items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.orders-list{gap:1.5rem}}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #E5E7EB;padding:.5rem;padding-bottom:calc(env(safe-area-inset-bottom,0px) + .5rem);z-index:100;box-shadow:0 -2px 8px #0000001a}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;background:transparent;border:none;color:#6b7280;font-size:.625rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:56px}.mobile-nav-item svg{width:24px;height:24px}.mobile-nav-item.active{color:#7c3aed}.mobile-nav-item.active svg{color:#7c3aed}@media (min-width: 768px){.mobile-bottom-nav{display:none}.dashboard-container{padding-bottom:0}}@media print{.dashboard-header,.tabs-container,.section-header button,.card-actions,.mobile-bottom-nav,.order-actions{display:none!important}.dashboard-container{padding-bottom:0}.dashboard-content{padding:0}.menu-item-card,.table-card,.order-card,.staff-card{break-inside:avoid;page-break-inside:avoid}}.qr-generator-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem}.qr-code-wrapper{background:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 2px 4px #0000001a}.qr-info{text-align:center;max-width:300px}.qr-label{font-size:.875rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.qr-url{font-size:.75rem;color:#6b7280;word-break:break-all;margin-bottom:.5rem}.qr-download-btn{padding:.625rem 1.25rem;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s}.qr-download-btn:hover{opacity:.9}.menu-item-form-card{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a}.menu-item-form-card h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.category-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.category-input{width:100%}.category-suggestions{display:flex;flex-direction:column;gap:.5rem}.suggestions-label{font-size:.75rem;color:#6b7280;font-weight:500}.suggestion-tags{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-tag{padding:.375rem .75rem;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:.375rem;font-size:.75rem;color:#7c3aed;cursor:pointer;transition:all .2s}.suggestion-tag:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}.new-category-note{font-size:.75rem;color:#7c3aed;margin-top:.25rem;font-style:italic}.existing-category-note{font-size:.75rem;color:#10b981;margin-top:.25rem}.image-preview-wrapper{position:relative;width:100%;max-width:300px;border-radius:.5rem;overflow:hidden;border:2px solid #E5E7EB}.image-preview{width:100%;height:auto;display:block;max-height:300px;object-fit:cover}.image-upload-placeholder{width:100%;min-height:200px;border:2px dashed #D1D5DB;border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#f9fafb;color:#6b7280;transition:border-color .2s,background-color .2s}.dietary-type-options{display:flex;gap:.75rem;flex-wrap:wrap}.dietary-type-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-bg-primary, #fff);border:2px solid var(--color-border, #E5E7EB);border-radius:var(--radius-md, .5rem);font-size:var(--font-sm, .875rem);font-weight:500;color:var(--color-text-secondary, #6B7280);cursor:pointer;transition:all .2s;min-height:44px}.dietary-type-btn:hover{border-color:var(--color-primary, #7C3AED)}.dietary-type-btn.active{border-color:var(--color-primary, #7C3AED);background:#7c3aed0d;color:var(--color-text-primary, #1F2937)}.dietary-icon{width:16px;height:16px;border:2px solid;border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative}.dietary-icon:after{content:"";position:absolute}.dietary-veg{border-color:#22c55e}.dietary-veg:after{width:8px;height:8px;background:#22c55e;border-radius:50%}.dietary-non-veg{border-color:#ef4444}.dietary-non-veg:after{width:0;height:0;background:transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid #EF4444;border-radius:0}.dietary-egg{border-color:#f59e0b}.dietary-egg:after{width:8px;height:8px;background:#f59e0b;border-radius:50%}.spice-level-options{display:flex;gap:.5rem;flex-wrap:wrap}.spice-level-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;background:var(--color-bg-primary, #fff);border:2px solid var(--color-border, #E5E7EB);border-radius:var(--radius-md, .5rem);font-size:1rem;cursor:pointer;transition:all .2s;min-height:60px;min-width:70px}.spice-level-btn:hover{border-color:var(--color-primary, #7C3AED)}.spice-level-btn.active{border-color:#ef4444;background:#ef44440d}.spice-level-btn .spice-label{font-size:.6875rem;color:var(--color-text-secondary, #6B7280);font-weight:500}.checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem}.checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg-secondary, #F9FAFB);border:1px solid var(--color-border, #E5E7EB);border-radius:var(--radius-sm, .375rem);font-size:var(--font-sm, .875rem);cursor:pointer;transition:all .2s;min-height:36px}.checkbox-item:hover{border-color:var(--color-primary, #7C3AED)}.checkbox-item input[type=checkbox]{width:16px;height:16px;min-height:16px;cursor:pointer;accent-color:var(--color-primary, #7C3AED)}.checkbox-item input[type=checkbox]:checked+span{color:var(--color-primary, #7C3AED);font-weight:500}.labels-group{gap:.5rem}.label-item{background:var(--color-bg-primary, #fff)}.form-hint{font-size:var(--font-xs, .75rem);color:var(--color-text-light, #9CA3AF);margin-bottom:.5rem}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.image-preview-wrapper,.image-upload-label{max-width:100%}.dietary-type-options{flex-direction:column}.dietary-type-btn{width:100%;justify-content:flex-start}.spice-level-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.spice-level-btn{min-width:auto;padding:.5rem}.checkbox-group{flex-direction:column}.checkbox-item{width:100%}}.table-form-card{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a}.table-form-card h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.875rem;font-weight:500;color:#1f2937;margin-bottom:.5rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#7c3aed}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.order-form-card{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a}.order-form-card h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.add-item-row{display:flex;gap:.5rem;align-items:center}.menu-item-select{flex:1}.quantity-input{width:80px;text-align:center}.btn-add-item{padding:.625rem 1.25rem;color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:600;transition:opacity .2s}.btn-add-item:hover{opacity:.9}.order-items-list{margin-top:1rem;padding:1rem;background:#f9fafb;border-radius:.5rem}.order-items-list label{display:block;font-size:.875rem;font-weight:600;color:#1f2937;margin-bottom:.75rem}.order-item-form-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border-radius:.375rem;margin-bottom:.5rem}.item-name{font-weight:500;color:#1f2937}.item-controls{display:flex;align-items:center;gap:.5rem}.quantity-btn{width:28px;height:28px;border:1px solid #E5E7EB;background:#fff;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;color:#7c3aed;transition:all .2s}.quantity-btn:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}.item-quantity{min-width:30px;text-align:center;font-weight:500}.item-price{min-width:70px;text-align:right;font-weight:600;color:#7c3aed}.remove-item-btn{padding:.25rem .75rem;background:#ef4444;color:#fff;border-radius:.25rem;font-size:.75rem;border:none;cursor:pointer;transition:opacity .2s}.remove-item-btn:hover{opacity:.9}.order-total-row{margin-top:.75rem;padding-top:.75rem;border-top:2px solid #E5E7EB;text-align:right;font-size:1.125rem;color:#1f2937}.btn-primary{padding:.625rem 1.25rem;color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:600;transition:opacity .2s}.btn-secondary{padding:.625rem 1.25rem;background:#e5e7eb;color:#1f2937;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.add-item-row{flex-direction:column}.menu-item-select,.quantity-input,.btn-add-item{width:100%}.order-item-form-row{flex-direction:column;align-items:flex-start;gap:.5rem}.item-controls{width:100%;justify-content:space-between}}.staff-form-card{background:#fff;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a}.staff-form-card h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:.875rem;transition:border-color .2s;font-family:inherit}.image-upload-container{display:flex;flex-direction:column;gap:.75rem}.image-preview-wrapper{position:relative;width:100%;max-width:200px;border-radius:.5rem;overflow:hidden;border:2px solid #E5E7EB}.image-preview{width:100%;height:auto;display:block;max-height:200px;object-fit:cover}.remove-image-btn{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;line-height:1;padding:0}.image-upload-placeholder{width:100%;min-height:150px;border:2px dashed #D1D5DB;border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#f9fafb;color:#6b7280;transition:border-color .2s,background-color .2s}.image-upload-placeholder:hover{border-color:#7c3aed;background:#f3f4f6}.image-upload-placeholder svg{color:#9ca3af}.image-upload-placeholder p{font-size:.875rem;margin:0}.image-upload-label{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(180deg,#9333ea,#7c3aed);color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;text-align:center;transition:opacity .2s;width:100%;max-width:300px}.image-upload-label:hover{opacity:.9}.image-upload-label:active{opacity:.8}.image-upload-label:disabled{opacity:.6;cursor:not-allowed}.image-upload-hint{font-size:.75rem;color:#6b7280;margin:0}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-primary{padding:.625rem 1.25rem;color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:600;transition:opacity .2s;border:none;cursor:pointer}.btn-secondary{padding:.625rem 1.25rem;background:#e5e7eb;color:#1f2937;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s;border:none;cursor:pointer}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.image-preview-wrapper,.image-upload-label{max-width:100%}}.settings-container{min-height:100vh;background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding:1rem}.settings-header{background:#fff;padding:1.5rem;border-radius:.75rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.settings-header h1{font-size:1.5rem;font-weight:700;color:#1f2937}.close-btn{width:40px;height:40px;border-radius:50%;background:#f3f4f6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s}.close-btn:hover{background:#e5e7eb;color:#1f2937}.settings-form{max-width:800px;margin:0 auto}.settings-section{background:#fff;border-radius:.75rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a;overflow:hidden}.settings-section-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#fff;border:none;cursor:pointer;transition:background-color .2s;text-align:left}.settings-section-header:hover{background:#f9fafb}.settings-section-header h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0;padding:0;border:none}.section-chevron{transition:transform .3s ease;color:#6b7280;flex-shrink:0}.section-chevron.expanded{transform:rotate(180deg)}.settings-section-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out;padding:0 1.5rem}.settings-section-content.expanded{max-height:2000px;padding:0 1.5rem 1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#1f2937;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#7c3aed}.form-group textarea{resize:vertical;min-height:80px}.form-hint{font-size:.75rem;color:#6b7280;margin-top:.25rem;font-style:italic}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#7C3AED}.color-input-wrapper{display:flex;gap:.5rem;align-items:center}.color-input-wrapper input[type=color]{width:60px;height:40px;border:1px solid #E5E7EB;border-radius:.5rem;cursor:pointer;padding:0}.color-text-input{flex:1}.settings-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 0}.btn-save{padding:.75rem 2rem;color:#fff;border-radius:.5rem;font-size:1rem;font-weight:600;transition:opacity .2s;border:none;cursor:pointer}.btn-save:hover:not(:disabled){opacity:.9}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{padding:.75rem 2rem;background:#e5e7eb;color:#1f2937;border-radius:.5rem;font-size:1rem;font-weight:500;transition:background-color .2s;border:none;cursor:pointer}.btn-cancel:hover{background:#d1d5db}.loading,.error-state{text-align:center;padding:3rem;background:#fff;border-radius:.75rem;color:#6b7280}@media (max-width: 768px){.settings-container{padding:.5rem}.settings-header{padding:1rem}.settings-header h1{font-size:1.25rem}.settings-section-header{padding:1rem}.settings-section-header h2{font-size:1.125rem}.settings-section-content.expanded{padding:0 1rem 1rem}.form-row{grid-template-columns:1fr}.settings-actions{flex-direction:column}.btn-save,.btn-cancel{width:100%}}.public-menu-container{min-height:100vh;background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px)}.preview-mode{position:relative}.preview-banner{background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8125rem;font-weight:500;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.preview-banner svg{flex-shrink:0}.discount-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.75rem 1rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8125rem;font-weight:600;margin:.75rem;box-shadow:0 2px 8px #10b9814d;animation:slideDown .3s ease-out}.discount-banner svg{flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.restaurant-banner{position:relative;width:100%;height:180px;overflow:hidden;background:linear-gradient(135deg,#7c3aed,#9333ea)}.restaurant-banner-image{width:100%;height:100%;object-fit:cover;display:block}.restaurant-banner-overlay{position:absolute;bottom:0;left:0;right:0;height:100%;background:linear-gradient(to top,#00000080,#0000 60%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:1rem}.restaurant-logo{width:72px;height:72px;border-radius:50%;border:3px solid white;object-fit:cover;box-shadow:0 4px 12px #0003;background:#fff;transform:translateY(50%)}.restaurant-banner+.public-menu-header{padding-top:2.75rem}.public-menu-header{background:#fff;padding:1.25rem 1rem;text-align:center;box-shadow:0 1px 2px #0000000d}.restaurant-info{text-align:center}.restaurant-info h1{font-size:1.375rem;font-weight:700;color:#1f2937;margin-bottom:.75rem;line-height:1.2}.table-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(180deg,#9333ea,#7c3aed);color:#fff;border-radius:9999px;font-size:.8125rem;font-weight:600;margin-bottom:.75rem}.restaurant-details{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-top:.75rem}.restaurant-detail-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#4b5563}.restaurant-detail-item svg{flex-shrink:0;color:#7c3aed;width:16px;height:16px}.restaurant-detail-item a{color:#7c3aed;text-decoration:none;transition:opacity .2s}.restaurant-detail-item a:hover,.restaurant-detail-item a:active{opacity:.8;text-decoration:underline}.restaurant-hours{font-weight:500;color:#1f2937}.restaurant-hours svg{color:#10b981}.restaurant-address{font-size:.875rem;color:#6b7280;margin-bottom:.25rem}.restaurant-phone{font-size:.8125rem;color:#6b7280}.search-filters-section{padding:.75rem 1rem;background:#fff;border-bottom:1px solid #E5E7EB;position:sticky;top:0;z-index:90}.filter-pills-container{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-pills-container::-webkit-scrollbar{display:none}.filter-pill{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:9999px;font-size:.8125rem;font-weight:500;color:#6b7280;white-space:nowrap;cursor:pointer;transition:all .2s;min-height:44px}.filter-pill:active{background:#e5e7eb}.filter-pill.active{background:linear-gradient(180deg,#9333ea,#7c3aed);border-color:#7c3aed;color:#fff}.filter-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.filter-dot.veg{background:#22c55e}.filter-dot.non-veg{background:#ef4444}.clear-filters-btn{padding:.5rem .875rem;background:transparent;border:1px dashed #9CA3AF;border-radius:9999px;font-size:.8125rem;font-weight:500;color:#6b7280;white-space:nowrap;cursor:pointer;transition:all .2s;min-height:44px}.clear-filters-btn:active{background:#f3f4f6}.public-menu-content{max-width:800px;margin:0 auto;padding:1rem}.category-tabs{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:sticky;top:60px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);z-index:80;margin-left:-1rem;margin-right:-1rem;padding:.5rem 1rem}.category-tabs::-webkit-scrollbar{display:none}.category-tab{padding:.625rem 1rem;background:#fff;border:1px solid #E5E7EB;border-radius:9999px;font-size:.8125rem;font-weight:500;color:#6b7280;white-space:nowrap;transition:all .2s;cursor:pointer;min-height:44px;display:flex;align-items:center}.category-tab:active{background:#f3f4f6}.category-tab.active{background:linear-gradient(180deg,#9333ea,#7c3aed);border-color:#7c3aed;color:#fff}.menu-items-list{display:flex;flex-direction:column;gap:.75rem}.public-menu-item{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:.75rem}.public-menu-item:active{transform:scale(.98)}.public-menu-item-image{width:100%;height:160px;border-radius:.5rem;overflow:hidden;flex-shrink:0;background:#f3f4f6}.public-menu-item-image img{width:100%;height:100%;object-fit:cover}.public-menu-item-details{flex:1;display:flex;flex-direction:column}.item-title-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.item-title-row h3{font-size:1rem;font-weight:600;color:#1f2937;flex:1;line-height:1.3}.public-menu-item-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.375rem}.public-menu-item-header h3{font-size:1rem;font-weight:600;color:#1f2937;line-height:1.3}.public-menu-item-price{font-size:1.125rem;font-weight:700;color:#7c3aed}.public-menu-item-category{font-size:.6875rem;color:#7c3aed;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.public-menu-item-description{font-size:.8125rem;color:#6b7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;margin-bottom:.5rem}.public-menu-item-actions{margin-top:auto;padding-top:.75rem;display:flex;align-items:center;justify-content:flex-end}.btn-add-to-cart-inline{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.btn-add-to-cart-inline:active{transform:scale(.95)}.btn-add-to-cart-inline svg{flex-shrink:0}.item-quantity-controls{display:flex;align-items:center;gap:.75rem;background:#f3f4f6;padding:.5rem;border-radius:.5rem;width:100%;justify-content:center}.item-qty-btn{width:44px;height:44px;border-radius:.5rem;border:1px solid #E5E7EB;background:#fff;color:#7c3aed;font-size:1.25rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.item-qty-btn:active{background:#7c3aed;color:#fff;border-color:#7c3aed}.item-qty-display{min-width:32px;text-align:center;font-weight:700;font-size:1.125rem;color:#1f2937}.empty-menu{text-align:center;padding:2rem 1rem;background:#fff;border-radius:.75rem;color:#6b7280}.public-menu-loading,.public-menu-error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;text-align:center;padding:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #E5E7EB;border-top-color:#7c3aed;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.public-menu-error h2{font-size:1.25rem;color:#1f2937;margin-bottom:.5rem}.public-menu-error p{color:#6b7280;font-size:.875rem}.order-success-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.875rem 1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.8125rem;font-weight:500;box-shadow:0 2px 8px #10b9814d;animation:slideDown .3s ease-out;position:sticky;top:0;z-index:100}.order-success-banner svg{flex-shrink:0}.cart-button-container{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);right:1rem;z-index:100}.cart-button{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none;border-radius:9999px;font-size:.9375rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #7c3aed66;transition:transform .2s,box-shadow .2s;min-height:48px}.cart-button:active{transform:scale(.95)}.cart-button svg{flex-shrink:0}.cart-total{background:#fff3;padding:.25rem .625rem;border-radius:9999px;font-weight:700}.item-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:1000;animation:fadeIn .2s}.item-modal-content{background:#fff;border-radius:1rem 1rem 0 0;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUpModal .3s}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;background:#0000001a;border:none;font-size:1.5rem;color:#1f2937;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background-color .2s}.modal-close:active{background:#0003}.modal-image{width:100%;height:200px;overflow:hidden;background:#f3f4f6}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-details{padding:1.25rem 1rem}.modal-details h2{font-size:1.375rem;font-weight:700;color:#1f2937;margin-bottom:.375rem;line-height:1.2}.modal-category{font-size:.75rem;color:#7c3aed;font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem}.modal-price{font-size:1.375rem;font-weight:700;color:#7c3aed;margin-bottom:.75rem}.modal-description{font-size:.9375rem;color:#6b7280;line-height:1.6}.item-detail-content{padding:1.25rem 1rem}.item-detail-dietary{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #E5E7EB}.item-detail-description{font-size:.9375rem;color:#6b7280;line-height:1.6;margin-bottom:1rem}.item-detail-price{font-size:1.5rem;font-weight:700;color:#7c3aed;margin-bottom:1rem}.item-reviews-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #E5E7EB}.item-reviews-section h4{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.75rem}.modal-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #E5E7EB}.btn-add-to-cart{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px}.btn-add-to-cart:active{transform:scale(.98)}.cart-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:1000;animation:fadeIn .2s}.cart-modal-content{background:#fff;border-radius:1rem 1rem 0 0;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUpModal .3s;display:flex;flex-direction:column}.cart-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1rem;border-bottom:1px solid #E5E7EB}.cart-modal-header h2{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.cart-table-info{padding:.625rem 1rem;background:#f3f4f6;border-bottom:1px solid #E5E7EB;font-size:.8125rem;font-weight:500;color:#6b7280}.cart-items{padding:.75rem 1rem;flex:1;overflow-y:auto}.cart-item{display:flex;flex-direction:column;gap:.625rem;padding:.875rem 0;border-bottom:1px solid #F3F4F6}.cart-item:last-child{border-bottom:none}.cart-item-info{flex:1}.cart-item-info h4{font-size:.9375rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.cart-item-price{font-size:.8125rem;color:#6b7280}.cart-item-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.quantity-btn{width:40px;height:40px;border-radius:.5rem;border:1px solid #E5E7EB;background:#fff;color:#1f2937;font-size:1.25rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.quantity-btn:active{background:#f3f4f6;border-color:#7c3aed;color:#7c3aed}.cart-item-quantity{min-width:32px;text-align:center;font-weight:600;color:#1f2937}.cart-item-total{min-width:70px;text-align:right;font-weight:700;color:#7c3aed;font-size:.9375rem}.remove-item-btn{padding:.5rem .875rem;background:#fee2e2;color:#dc2626;border:none;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:40px}.remove-item-btn:active{background:#fecaca}.cart-footer{padding:1rem;border-top:2px solid #E5E7EB;background:#f9fafb;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1rem)}.cart-total-section{font-size:1.125rem;font-weight:700;color:#1f2937;margin-bottom:.875rem;text-align:right}.cart-warning{background:#fef3c7;border:1px solid #FCD34D;border-radius:.5rem;padding:.75rem;margin-bottom:.875rem}.cart-warning p{margin:0;font-size:.8125rem;color:#92400e}.cart-actions{display:flex;flex-direction:column;gap:.625rem}.cart-actions .btn-primary,.cart-actions .btn-secondary{width:100%;padding:.875rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px}.cart-actions .btn-primary{background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none}.cart-actions .btn-primary:active:not(:disabled){transform:scale(.98)}.cart-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.cart-actions .btn-secondary{background:#fff;color:#6b7280;border:1px solid #E5E7EB}.cart-actions .btn-secondary:active{background:#f9fafb}.cart-empty{padding:2.5rem 1rem;text-align:center}.cart-empty p{font-size:.9375rem;color:#6b7280;margin-bottom:1.25rem}.customer-info-section{margin-bottom:.875rem;padding-bottom:.875rem;border-bottom:1px solid #E5E7EB}.customer-info-section .form-group{margin-bottom:.875rem}.customer-info-section label{display:block;font-size:.8125rem;font-weight:600;color:#1f2937;margin-bottom:.375rem}.customer-info-section input{width:100%;padding:.75rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:1rem;transition:border-color .2s;min-height:48px}.customer-info-section input:focus{outline:none;border-color:#7c3aed}.check-status-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;margin-top:.875rem;transition:all .2s;min-height:44px;width:100%}.check-status-btn:active{transform:scale(.98)}.check-status-btn svg{flex-shrink:0}.status-check-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:1000;animation:fadeIn .2s}.status-check-modal-content{background:#fff;border-radius:1rem 1rem 0 0;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUpModal .3s}.status-check-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1rem;border-bottom:1px solid #E5E7EB}.status-check-modal-header h2{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.status-check-form{padding:1.25rem 1rem}.status-check-form .form-group{margin-bottom:.875rem}.status-check-form label{display:block;font-size:.8125rem;font-weight:600;color:#1f2937;margin-bottom:.375rem}.status-check-form input{width:100%;padding:.75rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:1rem;transition:border-color .2s;min-height:48px}.status-check-form input:focus{outline:none;border-color:#7c3aed}.status-check-form .btn-primary{width:100%;padding:.875rem 1.5rem;margin-top:.5rem;min-height:48px;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer}.customer-orders-list{padding:0 1rem 1.5rem;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem)}.customer-orders-list h3{font-size:1.125rem;font-weight:700;color:#1f2937;margin-bottom:.875rem}.customer-order-card{background:#f9fafb;border-radius:.75rem;padding:1rem;margin-bottom:.75rem;border:1px solid #E5E7EB}.customer-order-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.875rem}.customer-order-header h4{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.125rem}.order-date{font-size:.8125rem;color:#6b7280;margin-bottom:.125rem}.order-table{font-size:.8125rem;color:#6b7280}.status-badge{padding:.375rem .75rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;align-self:flex-start}.status-pending{background:#fef3c7;color:#92400e}.status-accepted{background:#dbeafe;color:#1e40af}.status-preparing{background:#fde68a;color:#78350f}.status-prepared{background:#fcd34d;color:#78350f}.status-served{background:#a7f3d0;color:#065f46}.status-completed{background:#d1fae5;color:#065f46}.status-cancelled,.status-rejected{background:#fee2e2;color:#991b1b}.status-onhold{background:#e5e7eb;color:#374151}.status-ready{background:#a7f3d0;color:#065f46}.customer-order-items{margin-bottom:.875rem}.customer-order-items h5{font-size:.8125rem;font-weight:600;color:#6b7280;margin-bottom:.375rem}.customer-order-item{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.8125rem;color:#1f2937;border-bottom:1px solid #E5E7EB}.customer-order-item:last-child{border-bottom:none}.customer-order-total{padding-top:.75rem;border-top:2px solid #E5E7EB;text-align:right;font-size:1rem;font-weight:700;color:#1f2937}@media (min-width: 640px){.restaurant-banner{height:220px}.restaurant-logo{width:88px;height:88px;border-width:4px}.restaurant-banner+.public-menu-header{padding-top:3.25rem}.public-menu-header{padding:1.5rem}.restaurant-info h1{font-size:1.75rem}.discount-banner{margin:1rem 1.5rem;font-size:.875rem}.search-filters-section{padding:1rem 1.5rem}.public-menu-content{padding:1.5rem}.category-tabs{margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem}.menu-items-list{gap:1rem}.public-menu-item{flex-direction:row;padding:1.25rem;gap:1rem}.public-menu-item:hover{transform:translateY(-2px);box-shadow:0 8px 12px #0000001a}.public-menu-item:active{transform:none}.public-menu-item-image{width:140px;height:140px}.public-menu-item-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.public-menu-item-header h3{font-size:1.125rem;flex:1}.public-menu-item-price{font-size:1.25rem;margin-left:1rem}.public-menu-item-actions{justify-content:flex-end}.item-quantity-controls{width:auto;justify-content:flex-start}.item-modal,.cart-modal,.status-check-modal{align-items:center;padding:1rem}.item-modal-content,.cart-modal-content,.status-check-modal-content{border-radius:1rem;max-width:500px;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-image{height:250px;border-radius:1rem 1rem 0 0}.modal-details,.item-detail-content{padding:1.5rem}.modal-details h2{font-size:1.5rem}.cart-item{flex-direction:row;align-items:center}.cart-item-controls{justify-content:flex-end}.cart-footer{padding:1.5rem}.cart-actions{flex-direction:row}.cart-actions .btn-primary,.cart-actions .btn-secondary{flex:1}.customer-order-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.status-badge{font-size:.75rem}}@media (min-width: 768px){.public-menu-container{padding-bottom:2rem}.restaurant-banner{height:280px}.restaurant-logo{width:100px;height:100px}.restaurant-banner+.public-menu-header{padding-top:3.75rem}.public-menu-header{padding:2rem}.restaurant-info h1{font-size:2rem}.table-badge{font-size:.875rem}.restaurant-details{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1rem}.restaurant-detail-item{font-size:.875rem}.public-menu-content{padding:2rem}.category-tabs{margin-bottom:1.5rem}.category-tab{font-size:.875rem;padding:.75rem 1.25rem}.menu-items-list{gap:1.25rem}.public-menu-item{padding:1.5rem}.public-menu-item-image{width:160px;height:160px}.public-menu-item-header h3{font-size:1.25rem}.public-menu-item-description{font-size:.875rem;-webkit-line-clamp:3}.btn-add-to-cart-inline:hover{transform:translateY(-1px);box-shadow:0 4px 8px #7c3aed4d}.item-qty-btn:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}.cart-button-container{bottom:2rem;right:2rem}.cart-button{padding:1rem 1.5rem;font-size:1rem}.cart-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed80}.item-modal-content,.cart-modal-content{max-width:600px}.status-check-modal-content{max-width:500px}.modal-close{width:36px;height:36px}.modal-close:hover{background:#0003}.modal-details h2{font-size:1.75rem}.modal-price,.item-detail-price,.cart-modal-header h2{font-size:1.5rem}.cart-item-info h4{font-size:1rem}.quantity-btn{width:36px;height:36px}.quantity-btn:hover{background:#f3f4f6;border-color:#7c3aed;color:#7c3aed}.cart-total-section{font-size:1.25rem}.cart-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.cart-actions .btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.customer-order-card{padding:1.5rem}.customer-order-header h4{font-size:1.125rem}}@media (min-width: 1024px){.restaurant-banner{height:320px}.restaurant-logo{width:120px;height:120px}.restaurant-banner+.public-menu-header{padding-top:4.5rem}.public-menu-content{max-width:900px}.public-menu-item-image{width:180px;height:180px}.menu-items-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.public-menu-item{flex-direction:column}.public-menu-item-image{width:100%;height:180px}}@media print{.cart-button-container,.preview-banner,.search-filters-section,.check-status-btn,.btn-add-to-cart-inline{display:none!important}.public-menu-container{padding-bottom:0}.public-menu-item{break-inside:avoid;page-break-inside:avoid}}.analytics-dashboard{display:flex;flex-direction:column;gap:1rem}.analytics-loading{text-align:center;padding:2rem;color:#6b7280}.analytics-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;gap:.375rem}.stat-card-header{display:flex;align-items:center;gap:.375rem}.stat-icon{font-size:1rem}.stat-title{font-size:.6875rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.stat-value{font-size:1.25rem;font-weight:700;color:#1f2937}.stat-subtitle{font-size:.6875rem;color:#9ca3af}.stat-trend{font-size:.6875rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem}.stat-trend.positive{color:#10b981}.stat-trend.negative{color:#ef4444}.stat-trend.neutral{color:#6b7280}.stat-card-primary{border-left:3px solid #7C3AED}.stat-card-success{border-left:3px solid #10B981}.stat-card-info{border-left:3px solid #3B82F6}.stat-card-warning{border-left:3px solid #F59E0B}.popular-items-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 4px #0000000d}.popular-items-card h3{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.75rem}.no-data{font-size:.8125rem;color:#9ca3af;text-align:center;padding:1rem}.popular-items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.popular-item{display:flex;align-items:center;gap:.625rem;padding:.5rem;background:#f9fafb;border-radius:.5rem}.popular-item-rank{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;font-size:.6875rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.popular-item-info{flex:1;min-width:0}.popular-item-name{display:block;font-size:.8125rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popular-item-orders{display:block;font-size:.6875rem;color:#9ca3af}.popular-item-revenue{font-size:.8125rem;font-weight:600;color:#10b981;flex-shrink:0}.orders-status-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 4px #0000000d}.orders-status-card h3{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.75rem}.status-bars{display:flex;flex-direction:column;gap:.625rem}.status-bar-row{display:flex;align-items:center;gap:.5rem}.status-bar-label{display:flex;align-items:center;gap:.375rem;width:90px;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-bar-label span:last-child{font-size:.6875rem;color:#6b7280}.status-bar-track{flex:1;height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden}.status-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.status-bar-count{font-size:.6875rem;font-weight:600;color:#1f2937;width:32px;text-align:right;flex-shrink:0}.recent-activity-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 2px 4px #0000000d}.recent-activity-card h3{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.75rem}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.activity-item{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem;background:#f9fafb;border-radius:.5rem}.activity-icon{font-size:1rem;flex-shrink:0}.activity-info{flex:1;min-width:0}.activity-message{display:block;font-size:.8125rem;color:#1f2937;line-height:1.4}.activity-time{display:block;font-size:.6875rem;color:#9ca3af;margin-top:.125rem}.analytics-details-grid{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.analytics-stats-grid{gap:1rem}.stat-card{padding:1.25rem}.stat-icon{font-size:1.125rem}.stat-title{font-size:.75rem}.stat-value{font-size:1.5rem}.stat-subtitle{font-size:.75rem}.popular-items-card,.orders-status-card,.recent-activity-card{padding:1.25rem}.popular-items-card h3,.orders-status-card h3,.recent-activity-card h3{font-size:1.125rem;margin-bottom:1rem}.popular-item-rank{width:28px;height:28px;font-size:.75rem}.popular-item-name{font-size:.875rem}.popular-item-orders{font-size:.75rem}.popular-item-revenue{font-size:.875rem}.status-bar-label{width:100px}.status-bar-label span:last-child{font-size:.75rem}.status-bar-track{height:10px}.status-bar-count{font-size:.75rem;width:40px}.activity-message{font-size:.875rem}.activity-time{font-size:.75rem}.analytics-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 768px){.analytics-dashboard{gap:1.5rem}.analytics-stats-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}.stat-card{padding:1.5rem}.stat-value{font-size:1.75rem}.popular-items-card,.orders-status-card,.recent-activity-card{padding:1.5rem}.popular-item,.activity-item{padding:.75rem}.analytics-details-grid{gap:1.5rem}}@media (min-width: 1024px){.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 12px #0000001a;transition:all .2s}.popular-item:hover,.activity-item:hover{background:#f3f4f6;transition:background-color .2s}}.restaurant-profile-form{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 4px 6px -1px #0000001a}.restaurant-profile-form h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.25rem}.form-section-title{font-size:.875rem;font-weight:600;color:#7c3aed;margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #E5E7EB}.form-group{margin-bottom:1rem}.form-group label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;color:#1f2937;margin-bottom:.375rem}.social-icon{font-size:1rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #E5E7EB;border-radius:.5rem;font-size:1rem;transition:border-color .2s;min-height:48px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#7c3aed}.form-group textarea{resize:vertical;min-height:100px}.form-hint{font-size:.75rem;color:#9ca3af;margin-bottom:.5rem}.form-row{display:flex;flex-direction:column;gap:1rem}.cover-image-container{display:flex;flex-direction:column;gap:.75rem}.cover-preview-wrapper{position:relative;width:100%;border-radius:.5rem;overflow:hidden;border:2px solid #E5E7EB}.cover-preview{width:100%;height:150px;object-fit:cover;display:block}.cover-placeholder{width:100%;height:150px;border:2px dashed #D1D5DB;border-radius:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#f9fafb;color:#6b7280;transition:border-color .2s,background-color .2s}.cover-placeholder:hover{border-color:#7c3aed;background:#f3f4f6}.cover-placeholder svg{color:#9ca3af}.cover-placeholder p{font-size:.8125rem;margin:0}.remove-image-btn{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;line-height:1;padding:0}.remove-image-btn:hover{background:#000000e6}.image-file-input{display:none}.image-upload-btn{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(180deg,#9333ea,#7c3aed);color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;text-align:center;transition:opacity .2s;min-height:44px}.image-upload-btn:hover{opacity:.9}.logo-upload-container{display:flex;align-items:center;gap:1rem}.logo-preview-wrapper{position:relative}.logo-preview{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #E5E7EB}.logo-placeholder{width:80px;height:80px;border-radius:50%;border:2px dashed #D1D5DB;display:flex;align-items:center;justify-content:center;background:#f9fafb;color:#9ca3af}.remove-logo-btn{position:absolute;top:-4px;right:-4px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;line-height:1;padding:0}.remove-logo-btn:hover{background:#dc2626}.logo-upload-btn{padding:.5rem 1rem;background:#f3f4f6;color:#7c3aed;border:1px solid #E5E7EB;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;text-align:center;transition:all .2s;min-height:44px;display:flex;align-items:center}.logo-upload-btn:hover{background:#e5e7eb;border-color:#7c3aed}.cuisine-chips{display:flex;flex-wrap:wrap;gap:.5rem}.cuisine-chip{padding:.5rem .875rem;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:9999px;font-size:.8125rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s;min-height:36px}.cuisine-chip:hover{border-color:#7c3aed;color:#7c3aed}.cuisine-chip.active{background:linear-gradient(180deg,#9333ea,#7c3aed);border-color:#7c3aed;color:#fff}.form-actions{display:flex;flex-direction:column;gap:.625rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #E5E7EB}.btn-primary{padding:.875rem 1.5rem;color:#fff;border-radius:.5rem;font-size:1rem;font-weight:600;transition:opacity .2s;min-height:48px;border:none;cursor:pointer;width:100%}.btn-primary:hover{opacity:.9}.btn-secondary{padding:.875rem 1.5rem;background:#e5e7eb;color:#1f2937;border-radius:.5rem;font-size:1rem;font-weight:500;transition:background-color .2s;min-height:48px;border:none;cursor:pointer;width:100%}.btn-secondary:hover{background:#d1d5db}@media (min-width: 640px){.restaurant-profile-form{padding:1.5rem}.restaurant-profile-form h3{font-size:1.375rem}.form-row{flex-direction:row}.form-row .form-group{flex:1}.cover-preview,.cover-placeholder{height:180px}.logo-preview,.logo-placeholder{width:100px;height:100px}.form-actions{flex-direction:row}.form-actions .btn-primary,.form-actions .btn-secondary{width:auto;flex:1;max-width:200px}}@media (min-width: 768px){.restaurant-profile-form{padding:2rem}.restaurant-profile-form h3{font-size:1.5rem;margin-bottom:1.5rem}.form-section-title{font-size:1rem;margin-top:2rem;margin-bottom:1rem}.cover-preview,.cover-placeholder{height:220px}.logo-preview,.logo-placeholder{width:120px;height:120px}.cuisine-chip{padding:.625rem 1rem;font-size:.875rem;min-height:40px}}.bottom-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:var(--z-bottom-sheet);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn var(--animation-fast) ease-out}.bottom-sheet{background:var(--color-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp var(--animation-slow) ease-out;will-change:transform;transition:transform var(--animation-normal) ease-out;padding-bottom:var(--safe-area-inset-bottom)}.bottom-sheet.dragging{transition:none}.bottom-sheet-handle{padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:center;cursor:grab;touch-action:none}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-handle-bar{width:40px;height:4px;background:var(--color-border);border-radius:var(--radius-full)}.bottom-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-lg) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.bottom-sheet-title{font-size:var(--font-lg);font-weight:600;color:var(--color-text-primary);margin:0}.bottom-sheet-close{width:var(--touch-min);height:var(--touch-min);display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-full);color:var(--color-text-secondary);transition:all var(--animation-fast)}.bottom-sheet-close:hover{background:var(--color-border);color:var(--color-text-primary)}.bottom-sheet-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);overscroll-behavior:contain}@media (min-width: 768px){.bottom-sheet-overlay{align-items:center}.bottom-sheet{max-width:500px;max-height:85vh;border-radius:var(--radius-xl);margin:var(--spacing-lg);animation:scaleIn var(--animation-slow) ease-out}.bottom-sheet-handle{display:none}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--color-bg-primary);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:stretch;z-index:var(--z-bottom-nav);padding-bottom:var(--safe-area-inset-bottom);box-shadow:0 -2px 10px #0000000d}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-xs);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-xs);font-weight:500;transition:all var(--animation-fast);position:relative;min-width:0;cursor:pointer}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--gradient-primary);border-radius:0 0 var(--radius-full) var(--radius-full)}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.bottom-nav-icon svg{width:24px;height:24px}.bottom-nav-item.active .bottom-nav-icon svg{stroke-width:2.5}.bottom-nav-label{font-size:.625rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottom-nav-badge{position:absolute;top:4px;right:calc(50% - 16px);min-width:18px;height:18px;padding:0 5px;background:var(--color-error);color:#fff;font-size:.625rem;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}@media (min-width: 768px){.bottom-nav{display:none}}.touch-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:var(--touch-min);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;text-align:center;white-space:nowrap;cursor:pointer;transition:all var(--animation-fast);border:none;outline:none;-webkit-tap-highlight-color:transparent}.touch-button:active:not(:disabled){transform:scale(.98)}.touch-button-primary{background:var(--gradient-primary);color:#fff}.touch-button-primary:hover:not(:disabled){box-shadow:0 4px 12px #7c3aed66}.touch-button-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.touch-button-secondary:hover:not(:disabled){background:var(--color-border)}.touch-button-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.touch-button-outline:hover:not(:disabled){background:#7c3aed0d}.touch-button-ghost{background:transparent;color:var(--color-text-secondary)}.touch-button-ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.touch-button-danger{background:var(--color-error);color:#fff}.touch-button-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef444466}.touch-button-small{min-height:36px;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-xs)}.touch-button-default{min-height:var(--touch-min)}.touch-button-large{min-height:var(--touch-large);padding:var(--spacing-lg) var(--spacing-xxl);font-size:var(--font-base)}.touch-button-full{width:100%}.touch-button-disabled{opacity:.5;cursor:not-allowed}.touch-button-loading{pointer-events:none}.touch-button-spinner{display:flex;align-items:center;justify-content:center}.spinner-icon{width:18px;height:18px;animation:spin .8s linear infinite}.touch-button-icon{display:flex;align-items:center;justify-content:center}.touch-button-icon svg{width:18px;height:18px}.touch-button-text{line-height:1}.icon-button{display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all var(--animation-fast);-webkit-tap-highlight-color:transparent}.icon-button:active{transform:scale(.95)}.icon-button-small{width:36px;height:36px;border-radius:var(--radius-md)}.icon-button-default{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-md)}.icon-button-large{width:var(--touch-large);height:var(--touch-large);border-radius:var(--radius-lg)}.icon-button-ghost{background:transparent;color:var(--color-text-secondary)}.icon-button-ghost:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.icon-button-primary{background:var(--gradient-primary);color:#fff}.icon-button-primary:hover{box-shadow:0 4px 12px #7c3aed4d}.icon-button-secondary{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.icon-button-secondary:hover{background:var(--color-border);color:var(--color-text-primary)}.icon-button-danger{background:#fee2e2;color:var(--color-error)}.icon-button-danger:hover{background:var(--color-error);color:#fff}.icon-button svg{width:20px;height:20px}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.25rem .625rem;border-radius:var(--radius-full);font-weight:600;white-space:nowrap;line-height:1}.badge-small{padding:.125rem .5rem;font-size:.625rem}.badge-default{font-size:var(--font-xs)}.badge-large{padding:.375rem .75rem;font-size:var(--font-sm)}.badge-default{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.badge-primary{background:#7c3aed1a;color:var(--color-primary)}.badge-veg{background:#d1fae5;color:#065f46}.badge-nonVeg{background:#fee2e2;color:#991b1b}.badge-egg{background:#fef3c7;color:#92400e}.badge-vegan{background:#d1fae5;color:#047857}.badge-icon{display:flex;align-items:center;justify-content:center}.badge-icon svg{width:12px;height:12px}.dietary-type-badge{display:inline-flex;align-items:center;justify-content:center;border:2px solid;border-radius:3px;flex-shrink:0}.dietary-type-default{width:18px;height:18px}.dietary-type-small{width:14px;height:14px;border-width:1.5px}.dietary-type-large{width:22px;height:22px;border-width:2.5px}.dietary-type-veg{border-color:var(--color-veg)}.dietary-type-veg .dietary-dot{width:8px;height:8px;background:var(--color-veg);border-radius:50%}.dietary-type-small.dietary-type-veg .dietary-dot{width:6px;height:6px}.dietary-type-large.dietary-type-veg .dietary-dot{width:10px;height:10px}.dietary-type-non-veg,.dietary-type-nonVeg{border-color:var(--color-non-veg)}.dietary-type-non-veg .dietary-dot,.dietary-type-nonVeg .dietary-dot{width:0;height:0;background:transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid var(--color-non-veg);border-radius:0}.dietary-type-small.dietary-type-non-veg .dietary-dot,.dietary-type-small.dietary-type-nonVeg .dietary-dot{border-left-width:3px;border-right-width:3px;border-bottom-width:6px}.dietary-type-large.dietary-type-non-veg .dietary-dot,.dietary-type-large.dietary-type-nonVeg .dietary-dot{border-left-width:5px;border-right-width:5px;border-bottom-width:10px}.dietary-type-egg{border-color:var(--color-egg)}.dietary-type-egg .dietary-dot{width:8px;height:8px;background:var(--color-egg);border-radius:50%}.dietary-type-small.dietary-type-egg .dietary-dot{width:6px;height:6px}.dietary-type-large.dietary-type-egg .dietary-dot{width:10px;height:10px}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--color-error);color:#fff;font-size:.625rem;font-weight:700;border-radius:var(--radius-full);line-height:1}.search-bar{display:flex;gap:var(--spacing-sm);width:100%}.search-bar-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-bar-icon{position:absolute;left:var(--spacing-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-light);pointer-events:none}.search-bar-input{width:100%;padding:var(--spacing-md) var(--spacing-md);padding-left:calc(var(--spacing-md) + 28px);padding-right:calc(var(--spacing-md) + 36px);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-base);color:var(--color-text-primary);min-height:var(--touch-min);transition:all var(--animation-fast)}.search-bar-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a}.search-bar-input::placeholder{color:var(--color-text-light)}.search-bar-input::-webkit-search-cancel-button,.search-bar-input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-bar-clear{position:absolute;right:var(--spacing-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-full);color:var(--color-text-secondary);transition:all var(--animation-fast)}.search-bar-clear:hover{background:var(--color-border);color:var(--color-text-primary)}.search-bar-filter-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-min);min-width:var(--touch-min);height:var(--touch-min);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);position:relative;transition:all var(--animation-fast)}.search-bar-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.search-bar-filter-btn.has-filters{border-color:var(--color-primary);background:#7c3aed0d;color:var(--color-primary)}.filter-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--color-primary);color:#fff;font-size:.625rem;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.filter-pills{width:100%;overflow:hidden}.filter-pills-scroll{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding:var(--spacing-sm) 0;scrollbar-width:none;-ms-overflow-style:none}.filter-pills-scroll::-webkit-scrollbar{display:none}.filter-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:500;color:var(--color-text-secondary);white-space:nowrap;transition:all var(--animation-fast);min-height:36px}.filter-pill:active{transform:scale(.98)}.filter-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-pill.active{background:var(--gradient-primary);border-color:var(--color-primary);color:#fff}.filter-pill-clear{background:var(--color-bg-tertiary);border-color:transparent;color:var(--color-text-secondary)}.filter-pill-clear:hover{background:var(--color-border);border-color:transparent;color:var(--color-text-primary)}.filter-pill-icon{display:flex;align-items:center;justify-content:center}.filter-pill-icon svg{width:14px;height:14px}.price-range-filter{padding:var(--spacing-lg)}.price-range-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);font-size:var(--font-sm)}.price-range-value{font-weight:600;color:var(--color-primary)}.price-range-slider{width:100%;height:4px;background:var(--color-border);border-radius:var(--radius-full);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.price-range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #7c3aed4d}.price-range-slider::-moz-range-thumb{width:20px;height:20px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #7c3aed4d}.price-range-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-sm);font-size:var(--font-xs);color:var(--color-text-light)}.dietary-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.dietary-badge-symbol{display:inline-flex;align-items:center;justify-content:center;border:2px solid;border-radius:3px}.dietary-badge-default .dietary-badge-symbol{width:18px;height:18px}.dietary-badge-small .dietary-badge-symbol{width:14px;height:14px;border-width:1.5px}.dietary-badge-large .dietary-badge-symbol{width:22px;height:22px;border-width:2.5px}.dietary-badge-veg .dietary-badge-symbol{border-color:var(--color-veg)}.dietary-badge-veg .dietary-dot{width:8px;height:8px;background:var(--color-veg);border-radius:50%}.dietary-badge-small.dietary-badge-veg .dietary-dot{width:6px;height:6px}.dietary-badge-large.dietary-badge-veg .dietary-dot{width:10px;height:10px}.dietary-badge-non-veg .dietary-badge-symbol{border-color:var(--color-non-veg)}.dietary-badge-non-veg .dietary-dot{width:0;height:0;background:transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid var(--color-non-veg);border-radius:0}.dietary-badge-small.dietary-badge-non-veg .dietary-dot{border-left-width:3px;border-right-width:3px;border-bottom-width:6px}.dietary-badge-large.dietary-badge-non-veg .dietary-dot{border-left-width:5px;border-right-width:5px;border-bottom-width:10px}.dietary-badge-egg .dietary-badge-symbol{border-color:var(--color-egg)}.dietary-badge-egg .dietary-dot{width:8px;height:8px;background:var(--color-egg);border-radius:50%}.dietary-badge-small.dietary-badge-egg .dietary-dot{width:6px;height:6px}.dietary-badge-large.dietary-badge-egg .dietary-dot{width:10px;height:10px}.dietary-badge-vegan .dietary-badge-symbol{border-color:var(--color-vegan)}.dietary-badge-vegan .dietary-dot{width:8px;height:8px;background:var(--color-vegan);border-radius:50%}.dietary-badge-label{font-size:var(--font-xs);font-weight:500;color:var(--color-text-secondary)}.allergen-labels{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.allergen-title{font-size:var(--font-xs);font-weight:600;color:var(--color-text-secondary)}.allergen-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.allergen-tag{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;background:#fef3c7;border:1px solid #FCD34D;border-radius:var(--radius-sm);font-size:.6875rem;color:#92400e;font-weight:500}.allergen-icon{font-size:.75rem}.allergen-labels-small .allergen-tag{padding:1px 6px;font-size:.625rem}.dietary-labels{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.dietary-label{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;background:color-mix(in srgb,var(--label-color) 10%,white);border:1px solid color-mix(in srgb,var(--label-color) 30%,white);border-radius:var(--radius-sm);font-size:.6875rem;color:var(--label-color);font-weight:500}.dietary-label-icon{font-size:.75rem}.dietary-labels-small .dietary-label{padding:1px 6px;font-size:.625rem}.dietary-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dietary-info-compact{flex-direction:row;align-items:center;gap:var(--spacing-sm)}.dietary-info-warning{font-size:var(--font-xs);color:var(--color-warning);font-weight:500}.spice-level{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.spice-icons{display:flex;gap:2px}.spice-icon{font-size:1rem;line-height:1;opacity:.3;transition:all var(--animation-fast);padding:0;border:none;background:transparent;cursor:default;filter:grayscale(100%)}.spice-icon.active{opacity:1;filter:grayscale(0%)}.spice-icon.interactive{cursor:pointer}.spice-icon.interactive:hover{transform:scale(1.1);opacity:.7;filter:grayscale(50%)}.spice-icon.interactive.active:hover{opacity:1;filter:grayscale(0%)}.spice-label{font-size:var(--font-xs);color:var(--color-text-secondary);font-weight:500}.spice-level-small .spice-icon{font-size:.75rem}.spice-level-large .spice-icon{font-size:1.25rem}.spice-indicator{display:inline-flex;align-items:center;font-size:.875rem;line-height:1}.spice-text{letter-spacing:-2px}.rating{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.rating-stars{display:flex;gap:2px}.rating-star{color:var(--color-border);position:relative;padding:0;border:none;background:transparent;cursor:default;display:flex;align-items:center;justify-content:center}.rating-star svg{width:20px;height:20px;transition:all var(--animation-fast)}.rating-star.filled{color:#fbbf24}.rating-star.filled svg{fill:#fbbf24;stroke:#fbbf24}.rating-star.half{color:var(--color-border)}.rating-star.half svg{fill:none}.half-star{position:absolute;top:0;left:0;width:20px;height:20px;color:#fbbf24;clip-path:inset(0 50% 0 0)}.rating-star.interactive{cursor:pointer}.rating-star.interactive:hover svg{transform:scale(1.15);color:#fbbf24}.rating-small .rating-star svg,.rating-small .half-star{width:14px;height:14px}.rating-large .rating-star svg,.rating-large .half-star{width:28px;height:28px}.rating-info{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-sm)}.rating-value{font-weight:600;color:var(--color-text-primary)}.rating-count{color:var(--color-text-light)}.rating-display{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-sm)}.rating-display-star{width:14px;height:14px;color:#fbbf24}.rating-display-value{font-weight:600;color:var(--color-text-primary)}.rating-display-count{color:var(--color-text-light);font-size:var(--font-xs)}.review-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.review-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.review-summary-rating{display:flex;align-items:center;gap:var(--spacing-sm)}.review-summary-value{font-size:var(--font-2xl);font-weight:700;color:var(--color-text-primary)}.review-summary-count{font-size:var(--font-sm);color:var(--color-text-secondary)}.write-review-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--animation-fast);min-height:var(--touch-min)}.write-review-btn:hover{box-shadow:0 4px 12px #7c3aed4d}.review-form{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.review-form-rating{display:flex;flex-direction:column;gap:var(--spacing-sm)}.review-form-rating label,.review-form-field label{font-size:var(--font-sm);font-weight:600;color:var(--color-text-primary)}.review-form-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.review-form-field input,.review-form-field textarea{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-base);min-height:var(--touch-min)}.review-form-field textarea{resize:vertical;min-height:80px}.review-form-field input:focus,.review-form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a}.review-form-actions{display:flex;gap:var(--spacing-md)}.review-form-cancel,.review-form-submit{flex:1;padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all var(--animation-fast);min-height:var(--touch-min)}.review-form-cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:none}.review-form-cancel:hover{background:var(--color-border)}.review-form-submit{background:var(--gradient-primary);color:#fff;border:none}.review-form-submit:hover:not(:disabled){box-shadow:0 4px 12px #7c3aed4d}.review-form-submit:disabled{opacity:.5;cursor:not-allowed}.reviews-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.review-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.review-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.review-card-author{display:flex;align-items:center;gap:var(--spacing-md)}.review-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-base)}.review-author-info{display:flex;flex-direction:column;gap:2px}.review-author-name{font-size:var(--font-sm);font-weight:600;color:var(--color-text-primary)}.review-date{font-size:var(--font-xs);color:var(--color-text-light)}.review-card-comment{font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.reviews-empty{text-align:center;padding:var(--spacing-xxl);color:var(--color-text-secondary)}.reviews-empty p{margin:0}@media (max-width: 480px){.review-summary{flex-direction:column;align-items:flex-start}.write-review-btn{width:100%}.review-form-actions{flex-direction:column-reverse}.review-card-header{flex-direction:column;gap:var(--spacing-sm)}}:root{--color-primary: #7C3AED;--color-primary-light: #9333EA;--color-primary-dark: #6D28D9;--color-text-primary: #1F2937;--color-text-secondary: #6B7280;--color-text-light: #9CA3AF;--color-bg-primary: #FFFFFF;--color-bg-secondary: #F9FAFB;--color-bg-tertiary: #F3F4F6;--color-border: #E5E7EB;--color-error: #EF4444;--color-success: #10B981;--color-warning: #F59E0B;--color-info: #3B82F6;--color-veg: #22C55E;--color-non-veg: #EF4444;--color-egg: #F59E0B;--color-vegan: #10B981;--gradient-primary: linear-gradient(180deg, #9333EA 0%, #7C3AED 100%);--touch-min: 44px;--touch-default: 44px;--touch-large: 48px;--touch-xl: 56px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-xxl: 2rem;--spacing-xxxl: 3rem;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-sheet: 0 -4px 25px -5px rgba(0, 0, 0, .15);--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-bottom-nav: 900;--z-bottom-sheet: 1000;--animation-fast: .15s;--animation-normal: .2s;--animation-slow: .3s;--animation-slowest: .5s;--bottom-nav-height: 64px;--header-height: 60px;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f9fafb,#f3f4f6);min-height:100vh;min-height:-webkit-fill-available;color:var(--color-text-primary);font-size:var(--font-base);line-height:1.5;overscroll-behavior-y:contain}html{height:-webkit-fill-available}#root{min-height:100vh;min-height:-webkit-fill-available}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:transparent;font-size:inherit;color:inherit;min-height:var(--touch-min);-webkit-tap-highlight-color:transparent}input,textarea,select{font-family:inherit;outline:none;font-size:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-primary);color:var(--color-text-primary);width:100%;min-height:var(--touch-min);-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #7c3aed1a}input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236B7280' viewBox='0 0 16 16'%3E%3Cpath d='M8 10.5L3 5.5h10L8 10.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}a{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}@media (max-width: 767px){::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}}.touch-target{min-width:var(--touch-min);min-height:var(--touch-min);display:flex;align-items:center;justify-content:center}.safe-top{padding-top:var(--safe-area-inset-top)}.safe-bottom{padding-bottom:var(--safe-area-inset-bottom)}.safe-left{padding-left:var(--safe-area-inset-left)}.safe-right{padding-right:var(--safe-area-inset-right)}.safe-all{padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.hide-mobile{display:none}.show-mobile{display:block}@media (min-width: 768px){.hide-mobile{display:block}.show-mobile,.hide-desktop{display:none}}.has-bottom-nav{padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-inset-bottom))}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--color-text-secondary)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff}.no-print{display:none!important}}
