.header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-container{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.header-logo{color:inherit;text-decoration:none}.logo-text-only .logo-line{font-size:14px}.header-nav{align-items:center;display:flex;gap:2rem}.nav-link{color:#374151;font-weight:500;text-decoration:none;transition:color .2s}.nav-link:hover{color:#22c55e}.nav-user{align-items:center;display:flex;gap:.75rem}.user-name{color:#374151;font-weight:500}.plan-badge{border-radius:.375rem;padding:.25rem .5rem}.logout-btn{background:none;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.logout-btn:hover{background:#f9fafb;border-color:#9ca3af}.menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:.5rem}.menu-toggle span{background:#374151;border-radius:1px;height:2px;transition:all .3s;width:24px}.menu-toggle.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width:768px){.header-nav{background:#fff;border-bottom:1px solid #e5e7eb;flex-direction:column;gap:1rem;left:0;opacity:0;padding:1rem;position:fixed;right:0;top:64px;transform:translateY(-100%);transition:all .3s;visibility:hidden}.header-nav.open{opacity:1;transform:translateY(0);visibility:visible}.nav-user{border-top:1px solid #e5e7eb;flex-direction:column;gap:.5rem;padding-top:1rem;width:100%}.menu-toggle{display:flex}}.footer{background:#f9fafb;border-top:1px solid #e5e7eb;margin-top:auto}.footer-container{margin:0 auto;max-width:1200px;padding:2rem 1rem 1rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 2fr;margin-bottom:2rem}.footer-brand{max-width:300px}.logo-text-only{display:flex;flex-direction:column;font-family:Arial,sans-serif;font-weight:700;line-height:1}.logo-text-only .logo-line{color:#000;font-size:12px;font-weight:700;margin:0;padding:0}.logo-text-only .logo-line:first-child,.logo-text-only .logo-line:last-child{color:#22c55e}.footer-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-top:1rem}.footer-links{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.footer-section h4{color:#374151;font-size:.875rem;font-weight:600;margin-bottom:1rem}.footer-section a{color:#6b7280;display:block;font-size:.875rem;margin-bottom:.5rem;text-decoration:none;transition:color .2s}.footer-section a:hover{color:#22c55e}.footer-bottom{border-top:1px solid #e5e7eb;padding-top:1rem;text-align:center}.footer-bottom p{color:#6b7280;font-size:.875rem;margin:0}@media (max-width:768px){.footer-content,.footer-links{gap:1.5rem;grid-template-columns:1fr}.footer-container{padding:1.5rem 1rem 1rem}}.restaurant-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;color:inherit;display:block;padding:1.5rem;text-decoration:none;transition:all .2s}.restaurant-card:hover{border-color:#22c55e;box-shadow:0 4px 12px #22c55e26;transform:translateY(-2px)}.restaurant-card-content{display:flex;flex-direction:column;height:100%}.restaurant-header{margin-bottom:1rem}.restaurant-name{font-size:1.25rem;line-height:1.3;margin:0 0 .5rem}.restaurant-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0;overflow:hidden}.restaurant-info{flex:1 1;margin-bottom:1rem}.restaurant-footer{border-top:1px solid #f3f4f6;margin-top:auto;padding-top:1rem}.view-menus{align-items:center;color:#22c55e;display:flex;font-size:.875rem;font-weight:600;justify-content:flex-end}@media (max-width:640px){.restaurant-card{padding:1rem}.restaurant-name{font-size:1.125rem}.info-item{align-items:flex-start;flex-direction:column;gap:.25rem}}.loading-spinner{align-items:center;display:flex;justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#22c55e}.loading-spinner.small .spinner{border-width:2px;height:20px;width:20px}.loading-spinner.medium .spinner{border-width:3px;height:40px;width:40px}.loading-spinner.large .spinner{border-width:4px;height:60px;width:60px}.home-page{display:flex;flex-direction:column;min-height:100vh}.hero-section{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:4rem 1rem;text-align:center}.hero-content{margin:0 auto;max-width:800px}.hero-content h1{font-size:3rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.hero-content p{font-size:1.25rem;line-height:1.5;margin:0 0 2rem;opacity:.9}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary{background:#fff;border-color:#fff;color:#22c55e}.btn-primary:hover{background:#f9fafb}.btn-secondary{border-color:#fff}.btn-secondary:hover{color:#22c55e;transform:translateY(-2px)}.restaurants-section{background:#f9fafb;padding:4rem 0}.section-header{margin-bottom:3rem;text-align:center}.section-header h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem}.section-header p{color:#6b7280;font-size:1.125rem;margin:0}.restaurants-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.empty-state h3{margin:0 0 .5rem}.error-container,.loading-container{min-height:200px;padding:4rem 1rem}.error-container p{color:#dc2626;font-size:1.125rem}.features-section{background:#fff;padding:4rem 0}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{padding:2rem 1rem}.feature-card h3{color:#111827;margin:0 0 1rem}.feature-card p{line-height:1.5;margin:0}@media (max-width:768px){.hero-section{padding:3rem 1rem}.hero-content h1{font-size:2.5rem}.hero-content p{font-size:1.125rem}.hero-actions{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}.features-section,.restaurants-section{padding:3rem 0}.section-header h2{font-size:2rem}.features-grid,.restaurants-grid{gap:1.5rem;grid-template-columns:1fr}}.landing-page{min-height:100vh}.hero{align-items:center;background:linear-gradient(135deg,#059669,#047857);color:#fff;display:flex;min-height:80vh;padding:80px 0}.hero-container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:0 2rem}.hero-content{max-width:600px}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem}.highlight{color:#fbbf24}.hero-subtitle{font-size:1.25rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.btn{border:2px solid #0000;border-radius:8px}.btn-large{font-size:1.1rem}.btn-primary{background:#fbbf24;color:#1f2937}.btn-primary:hover{background:#f59e0b;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #fff}.btn-secondary:hover{background:#fff;color:#059669}.btn-outline{border:2px solid #059669;color:#059669}.btn-outline:hover{background:#059669}.hero-note{font-size:.9rem;margin:0;opacity:.8}.hero-image{align-items:center;display:flex;justify-content:center}.phone-mockup{background:#1f2937;border-radius:30px;box-shadow:0 20px 40px #0000004d;height:760px;padding:20px;position:relative;width:380px}.phone-mockup:before{background:#374151;border-radius:3px;content:"";height:6px;left:50%;position:absolute;top:10px;transform:translateX(-50%);width:60px}.phone-screen{background:#fff;border-radius:20px;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.menu-preview{font-size:.8rem;height:100%;overflow-y:auto;padding:1rem}.phone-mockup .menu-header{background:none!important;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;overflow:visible!important;padding-bottom:1rem;position:static!important;text-align:center}.restaurant-name{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.restaurant-subtitle{color:#6b7280;font-size:.75rem;font-style:italic}.menu-category{margin-bottom:1.5rem}.category-title{border-bottom:1px solid #f3f4f6;color:#374151;font-size:.9rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.25rem}.menu-items{display:flex;flex-direction:column;gap:.75rem}.menu-item{background:#f9fafb;border-left:3px solid #059669;border-radius:6px;padding:.75rem}.item-info{flex:1 1;margin-right:.5rem}.item-name{color:#1f2937;font-size:.8rem;font-weight:600;margin-bottom:.25rem}.item-description{font-size:.7rem;line-height:1.3}.item-price{flex-shrink:0;font-size:.8rem;font-weight:600}.features{background:#f9fafb;padding:80px 0}.section-title{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:3rem;text-align:center}.features-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feature-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:2rem;text-align:center;transition:transform .2s}.feature-card:hover{transform:translateY(-4px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.feature-card p{color:#6b7280;line-height:1.6}.benefits{background:#fff;padding:80px 0}.benefits-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.benefits-text h2{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:2rem}.benefit-list{display:flex;flex-direction:column;gap:1.5rem}.benefit-item{align-items:flex-start;display:flex;gap:1rem}.benefit-icon{flex-shrink:0;font-size:2rem}.benefit-item h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.benefit-item p{color:#6b7280;line-height:1.6;margin:0}.benefits-stats{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}.stat-card{background:#f0fdf4;border:2px solid #bbf7d0;border-radius:12px;padding:2rem;text-align:center}.stat-number{color:#059669;font-size:3rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#374151;font-size:1rem;font-weight:500}.pricing{background:#f9fafb;padding:80px 0}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:800px}.pricing-card{border-radius:12px;box-shadow:0 4px 6px #0000000d;text-align:center}.pricing-card.featured{border:2px solid #059669}.pricing-badge{background:#059669;border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;left:50%;padding:.5rem 1rem;position:absolute;top:-12px;transform:translateX(-50%)}.pricing-header h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.price{font-size:3rem;font-weight:700;margin-bottom:2rem}.price span{color:#6b7280;font-size:1rem;font-weight:400}.pricing-features{list-style:none;margin:0 0 2rem;padding:0;text-align:left}.pricing-features li{border-bottom:1px solid #f3f4f6;padding:.5rem 0}.pricing-features li:last-child{border-bottom:none}.pricing-note{color:#6b7280;font-size:.9rem;margin-top:2rem;text-align:center}.cta{background:linear-gradient(135deg,#1f2937,#111827);color:#fff;padding:80px 0}.cta-content{margin:0 auto;max-width:600px;text-align:center}.cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-content p{font-size:1.125rem;margin-bottom:2rem;opacity:.9}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:768px){.hero-container{gap:2rem;grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.phone-mockup{height:480px;width:240px}.benefits-content{gap:2rem;grid-template-columns:1fr}.cta-buttons,.hero-buttons{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}.section-title{font-size:2rem}.features-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}}@media (max-width:480px){.hero{padding:40px 0}.hero-title{font-size:2rem}.container{padding:0 1rem}.phone-mockup{height:400px;width:200px}}.auth-page{align-items:center;background:#f9fafb;display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-container{background:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a;max-width:400px;padding:2rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h1{color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.auth-header p{color:#6b7280;font-size:.875rem;margin:0}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-group input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;outline:none}.form-group input:disabled{background:#f9fafb;cursor:not-allowed}.form-group.remember-me{margin-bottom:.5rem}.checkbox-label{font-size:.875rem;gap:.5rem;margin:0}.checkbox-label input[type=checkbox]{height:1rem;margin:0;width:1rem}.checkbox-label input[type=checkbox]:disabled{opacity:.6}.checkbox-text{-webkit-user-select:none;user-select:none}.form-help{margin-top:.25rem}.btn{display:flex;padding:.75rem 1rem}.error-message{background:#fee2e2;color:#991b1b;font-size:.875rem;text-align:center}.auth-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem;text-align:center}.auth-footer p{color:#6b7280;font-size:.875rem;margin:0}.link{color:#22c55e;font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}@media (max-width:480px){.auth-page{padding:.5rem}.auth-container{padding:1.5rem}.auth-header h1{font-size:1.5rem}}.payment-success-page{align-items:center;background:#fff;display:flex;justify-content:center;min-height:100vh;padding:2rem}.error-content,.success-content{background:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:480px;padding:3rem 2rem;text-align:center}.success-icon{align-items:center;animation:fadeIn .6s ease-out;background:#10b981;border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 2rem;width:80px}.success-content h1{color:#1f2937;font-size:2rem;font-weight:600;margin-bottom:.75rem}.success-subtitle{color:#6b7280;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.error-content h2,.success-content h2{font-size:2rem;font-weight:600;margin-bottom:1rem}.error-icon{font-size:4rem;margin-bottom:1.5rem}.error-content p{color:#6b7280;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.plan-info{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;margin:2.5rem 0;overflow:hidden;padding:2rem;position:relative}.plan-info:before{background:linear-gradient(90deg,#10b981,#059669 50%,#047857);content:"";height:4px;left:0;position:absolute;right:0;top:0}.plan-badge{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.plan-icon{animation:pulse 2s ease-in-out infinite;font-size:2.5rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.plan-details h3{color:#059669;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.plan-description{color:#6b7280;font-size:1rem;margin-bottom:0}.features-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:1.5rem}.feature-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;transition:all .2s ease}.feature-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.feature-icon{font-size:1.5rem}.feature-item span{color:#374151;font-size:.875rem;font-weight:600;text-align:center}.actions{display:flex;justify-content:center;margin:2.5rem 0}.actions .btn{font-size:1rem;font-weight:600;min-width:160px;padding:.75rem 1.5rem;transition:all .2s ease}.success-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.success-footer p{color:#6b7280;font-size:.95rem;margin:0}.success-footer a{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s ease}.success-footer a:hover{color:#764ba2;text-decoration:underline}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 1.5rem;width:40px}@media (max-width:768px){.success-content h1{font-size:2.5rem}.features-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.feature-item{padding:.75rem}.feature-item span{font-size:.8rem}}@media (max-width:640px){.payment-success-page{padding:1rem}.error-content,.success-content{border-radius:16px;margin:0;padding:2rem 1.5rem}.success-content h1{font-size:2rem}.success-icon{font-size:4rem}.plan-badge{flex-direction:column;gap:.5rem;text-align:center}.features-grid{gap:.5rem;grid-template-columns:1fr}.actions{align-items:center;flex-direction:column}.actions .btn{max-width:200px;width:100%}.confetti{display:none}}.menu-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;color:inherit;display:block;padding:1.5rem;text-decoration:none;transition:all .2s}.menu-card:hover{border-color:#22c55e;box-shadow:0 4px 12px #22c55e26;transform:translateY(-2px)}.menu-card-content{display:flex;flex-direction:column;height:100%}.menu-header{margin-bottom:1rem}.menu-name{color:#111827;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.menu-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0;overflow:hidden}.menu-info{margin-bottom:1rem}.info-item{margin-bottom:.5rem}.info-label{color:#6b7280}.info-label,.info-value{font-size:.875rem;font-weight:500}.info-value{color:#374151}.menu-footer{border-top:1px solid #f3f4f6;margin-top:auto;padding-top:1rem}.view-menu{align-items:center;color:#22c55e;display:flex;font-size:.875rem;font-weight:600;justify-content:flex-end}@media (max-width:640px){.menu-card{padding:1rem}.menu-name{font-size:1.125rem}.info-item{align-items:flex-start;flex-direction:column;gap:.25rem}}.restaurant-page{background:#f9fafb;min-height:100vh}.restaurant-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:2rem 0}.restaurant-info{margin:0 auto;max-width:800px;text-align:center}.restaurant-name{color:#111827;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1rem}.restaurant-description{color:#6b7280;font-size:1.125rem;line-height:1.6;margin:0 0 2rem}.restaurant-contact{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.contact-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.contact-label{color:#6b7280;font-size:.875rem;font-weight:500}.contact-value{color:#22c55e;font-weight:500;text-decoration:none;transition:color .2s}.contact-value:hover{color:#16a34a}.restaurant-content{padding:3rem 0}.restaurant-layout{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:2fr 1fr}.menus-section h2{color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 2rem}.menus-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.location-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;position:-webkit-sticky;position:sticky;top:2rem}.location-card h3{border-bottom:1px solid #e5e7eb;color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.location-info h4{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.address{color:#6b7280;line-height:1.5;margin:0 0 .75rem}.location-phone{margin:0 0 1.5rem}.location-phone a{color:#22c55e;font-weight:500;text-decoration:none}.location-phone a:hover{text-decoration:underline}.opening-hours{margin-bottom:1.5rem}.opening-hours h5{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .75rem}.hours-item{font-size:.875rem}.hours-item .day{color:#374151;font-weight:500}.hours-item .time{color:#6b7280}.map-container{margin-top:1rem}.map-placeholder{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;padding:2rem;text-align:center}.map-placeholder p{font-size:1.125rem;margin:0 0 .5rem}.map-placeholder small{font-size:.75rem}.error-container p{margin:0 0 2rem}@media (max-width:768px){.restaurant-header{padding:1.5rem 0}.restaurant-name{font-size:2rem}.restaurant-description{font-size:1rem}.restaurant-contact{flex-direction:column;gap:1rem}.restaurant-layout{gap:2rem;grid-template-columns:1fr}.location-card{position:static}.menus-grid{gap:1.5rem;grid-template-columns:1fr}.restaurant-content{padding:2rem 0}}.restaurant-edit-page{background:#f8fafc;min-height:100vh}.menu-assignment{display:flex;flex-direction:column;gap:1.5rem}.assigned-menus h3,.available-menus h3{color:#374151;font-size:1rem;font-weight:600;margin:0 0 1rem}.section-header{margin-bottom:1rem}.section-header h2{color:#374151}.add-menu-button{margin-bottom:1.5rem}.menu-list{display:flex;flex-direction:column;gap:.75rem}.menu-item{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.menu-item.assigned{background:#f0fdf4;border-color:#10b981}.menu-item.available{border-color:#d1d5db}.menu-item:hover{box-shadow:0 2px 4px #0000001a}.menu-info{flex:1 1;min-width:0}.menu-info h4{color:#374151}.menu-actions{display:flex;gap:.5rem;margin-left:1rem}.menu-info h4{color:#1f2937;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.menu-info p{color:#6b7280;font-size:.75rem;line-height:1.4;margin:0}.empty-state{border:1px dashed #d1d5db;border-radius:.5rem;color:#9ca3af;font-size:.875rem}@media (max-width:480px){.header-content h1{font-size:1.5rem}.header-content p{font-size:1rem}.form-main,.form-sidebar{padding:1rem}.menu-item{align-items:stretch;flex-direction:column;gap:.75rem}.menu-info{margin-right:0}}.restaurant-add-page{background:#f8fafc;min-height:100vh}.hours-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:1rem}.hours-grid .form-group{margin-bottom:0}.hours-grid .form-group label{font-size:.875rem;margin-bottom:.25rem}.hours-grid .form-group input{font-size:.875rem;padding:.5rem .75rem}.social-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1rem}.social-grid .form-group{margin-bottom:0}.social-grid .form-group label{font-size:.875rem;margin-bottom:.25rem}.social-grid .form-group input{font-size:.875rem;padding:.5rem .75rem}.header-content p{color:#718096}.restaurant-form{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.form-layout{grid-template-columns:1fr 400px;min-height:600px}.form-main{border-right:1px solid #e2e8f0}.form-sidebar{background:#f8fafc}.form-section h2{border-bottom:2px solid #e2e8f0;color:#2d3748}.form-group input,.form-group textarea{box-sizing:border-box;transition:all .2s}.form-group input:disabled,.form-group textarea:disabled{background:#f9fafb}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-row{grid-template-columns:1fr 1fr 1fr}.form-row .form-group{margin-bottom:0}.next-steps{display:flex;flex-direction:column;gap:1.5rem}.step{align-items:flex-start;display:flex;gap:1rem}.step-number{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:2rem;justify-content:center;width:2rem}.step-content h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .25rem}.step-content p{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0}.form-actions{background:#f8fafc;border-top:1px solid #e2e8f0}.form-actions .btn{align-items:center;display:flex;gap:.5rem}.upgrade-link{color:#3b82f6;font-size:.875rem;font-weight:500;text-decoration:none}.upgrade-link:hover{color:#2563eb;text-decoration:underline}@media (max-width:1024px){.form-layout{grid-template-columns:1fr}.form-main{border-bottom:1px solid #e2e8f0;border-right:none}.form-sidebar{background:#fff}}@media (max-width:768px){.page-header{padding:1.5rem 0}.page-content{padding:1rem 0}.form-main,.form-sidebar{padding:1.5rem}.form-row{gap:0;grid-template-columns:1fr}.form-row .form-group{margin-bottom:1.5rem}.form-actions{flex-direction:column;padding:1.5rem}.form-actions .btn{width:100%}}@media (max-width:480px){.header-content h1{font-size:1.5rem}.header-content p{font-size:1rem}.form-main,.form-sidebar{padding:1rem}.next-steps{gap:1rem}.step{gap:.75rem}.step-number{font-size:.75rem;height:1.75rem;width:1.75rem}}.menu-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:all .3s ease}.menu-item-card:hover{border-color:#d1d5db;box-shadow:0 8px 25px #0000001f;transform:translateY(-2px)}.item-image{height:120px;overflow:hidden;position:relative;width:100%}.item-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.menu-item-card:hover .item-image img{transform:scale(1.05)}.item-content{flex-direction:column;padding:1rem;position:relative}.item-title-section{margin-bottom:.5rem}.item-name{color:#111827;font-size:1.125rem;font-weight:700;letter-spacing:-.025em;line-height:1.3;margin:0}.item-description-section{flex:1 1;margin-bottom:.5rem}.item-description{-webkit-line-clamp:2;font-size:.85rem;margin:0}.item-price-section{align-items:flex-end;display:flex;justify-content:flex-end;margin-top:auto;width:100%}.item-price{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;border-radius:.375rem;box-shadow:0 1px 3px #10b98133;color:#059669;font-size:1rem;font-weight:700;letter-spacing:-.025em;margin-left:auto;padding:.25rem .5rem}@media (max-width:640px){.item-content{padding:.75rem}.item-name{font-size:1rem}.item-price{font-size:.9rem;padding:.2rem .4rem}.item-image{height:100px}.item-description{-webkit-line-clamp:2;font-size:.8rem}}.menu-item-modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.menu-item-modal{animation:fadeIn .3s ease-out;background-color:#fff;border-radius:1rem;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.modal-header{background-color:#f9fafb;padding:1.5rem 2rem}.modal-header h3{color:#111827;font-size:1.5rem;font-weight:700}.close-btn{border-radius:.5rem;padding:.5rem;transition:all .2s}.close-btn:hover{background-color:#e5e7eb}.menu-item-modal .modal-content{box-sizing:border-box;flex:1 1;max-width:none!important;overflow-y:auto;padding:2rem;width:100%}.modal-image{border-radius:.75rem;height:300px;margin-bottom:1.5rem;overflow:hidden;width:100%}.modal-image img{height:100%;object-fit:cover;width:100%}.modal-details{box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem;position:relative;width:100%}.description-section{margin-bottom:0}.description-section p{color:#6b7280;font-size:1rem;line-height:1.6;margin:0}.calories-section{margin-top:.5rem}.calories-text{color:#9ca3af;font-size:.85rem;font-style:normal;font-weight:500;margin:0}.allergens-section{margin-top:.5rem}.allergens-text{color:#9ca3af;font-size:.85rem;font-style:normal;font-weight:500;margin:0}.details-section{margin-bottom:0}.details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.detail-label{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.detail-value{color:#111827;font-size:1rem;font-weight:500}.dietary-section{margin-bottom:0}.dietary-icons{display:flex;flex-wrap:wrap;gap:1rem}.dietary-icon{align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem;min-width:100px;padding:1rem}.dietary-icon.vegetarian{background-color:#f0fdf4;border-color:#bbf7d0}.dietary-icon.vegan{background-color:#ecfdf5;border-color:#a7f3d0}.dietary-icon.gluten-free{background-color:#fefce8;border-color:#fde047}.dietary-icon .icon{font-size:1.5rem}.dietary-icon .label{color:#374151;font-size:.875rem;font-weight:600;text-align:center}.price-section{align-items:flex-end;display:flex;justify-content:flex-end;margin-top:auto;width:100%}.modal-price{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;border-radius:.5rem;box-shadow:0 2px 6px #10b98133;color:#059669;font-size:1.25rem;font-weight:700;letter-spacing:-.025em;margin-left:auto;padding:.5rem 1rem}.modal-footer{background-color:#f9fafb;justify-content:center;padding:1.5rem 2rem}.btn{padding:.75rem 2rem}.btn-primary{background-color:#3b82f6}.btn-primary:hover{background-color:#2563eb}@media (max-width:640px){.menu-item-modal{margin:.5rem;max-width:95%}.modal-header{padding:1rem 1.5rem}.modal-header h3{font-size:1.25rem}.modal-content{padding:1.5rem}.modal-image{height:200px}.modal-price{font-size:1rem;padding:.375rem .75rem}.dietary-icons{gap:.75rem}.dietary-icon{min-width:80px;padding:.75rem}.dietary-icon .icon{font-size:1.25rem}.dietary-icon .label{font-size:.75rem}.details-grid{grid-template-columns:1fr}.modal-footer{padding:1rem 1.5rem}}.menu-page{background:#f9fafb}.menu-header{background:linear-gradient(135deg,#22c55e,#16a34a 50%,#15803d);overflow:hidden;position:relative}.menu-header-background{background-image:url(https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80);background-position:50%;background-repeat:no-repeat;background-size:cover;bottom:0;left:0;opacity:.3;position:absolute;right:0;top:0;z-index:1}.menu-header .container{position:relative;z-index:2}.menu-info{margin:0 auto;max-width:800px;padding:3rem 0;text-align:center}.menu-name{color:#fff;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 1rem;text-shadow:0 2px 4px #0000004d}.menu-description{color:#ffffffe6;font-size:1.125rem;line-height:1.6;margin:0 0 1rem;text-shadow:0 1px 2px #0000004d}.menu-location{align-items:center;display:flex;flex-direction:column;gap:.25rem}.location-name{color:#111827;font-weight:600}.location-address{color:#6b7280;font-size:.875rem}.menu-content{padding:0 0 3rem}.menu-layout{display:block}.menu-main{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.category-nav-mobile{display:block;margin-bottom:2rem}.category-toggle{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:space-between;padding:1rem;transition:all .2s;width:100%}.category-toggle:hover{background:#f3f4f6}.arrow{transition:transform .2s}.arrow.open{transform:rotate(180deg)}.category-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:0 0 .5rem .5rem;border-top:none;box-shadow:0 4px 6px -1px #0000001a;left:0;position:absolute;right:0;top:100%;z-index:10}.category-item{background:none;border:none;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;font-size:1rem;text-align:left;transition:background-color .2s;width:100%}.category-item:last-child{border-bottom:none}.category-item:hover{background:#f9fafb}.category-item.active{background:#22c55e;color:#fff}.category-nav-desktop{border-bottom:1px solid #e5e7eb;display:none;margin-bottom:2rem}.category-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 1.5rem;transition:all .2s}.category-tab:hover{color:#374151}.category-tab.active{border-bottom-color:#22c55e;color:#22c55e}.menu-items-section{min-height:400px}.category-title{border-bottom:1px solid #e5e7eb;color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 2rem;padding-bottom:1rem}.menu-items-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.empty-state{padding:3rem 1rem}@media (max-width:768px){.menu-header{padding:0}.menu-info{padding:2rem 0}.menu-name{font-size:2rem}.menu-description{font-size:1rem}.menu-main{padding:1.5rem}.category-nav-mobile{position:relative}.category-nav-desktop{display:none}.menu-items-grid{gap:1.5rem;grid-template-columns:1fr}.menu-content{padding:2rem 0}}@media (min-width:769px){.category-nav-mobile{display:none}.category-nav-desktop{display:flex}}.public-layout{background:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.public-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.public-header-content{margin:0 auto;max-width:1200px;padding:1rem 1.5rem;text-align:center}.public-restaurant-name{color:#111827;font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.public-main{flex:1 1;width:100%}.public-footer{background:#fff;border-top:1px solid #e5e7eb;margin-top:auto}.public-footer-content{margin:0 auto;max-width:1200px;padding:1rem 1.5rem;text-align:center}.public-footer-content p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.footer-link{color:#3b82f6;font-weight:500;text-decoration:none}.footer-link:hover{color:#1d4ed8;text-decoration:underline}@media (max-width:768px){.public-header-content{padding:.75rem 1rem}.public-restaurant-name{font-size:1.25rem}.public-footer-content{padding:.75rem 1rem}.public-footer-content p{font-size:.75rem}}@media (prefers-color-scheme:dark){.public-layout{background:#111827}.public-header{background:#1f2937;border-color:#374151}.public-restaurant-name{color:#f9fafb}.public-footer{background:#1f2937;border-color:#374151}.public-footer-content p{color:#d1d5db}.footer-link{color:#60a5fa}.footer-link:hover{color:#93c5fd}}.menu-add-page{background:#f8fafc;min-height:100vh}.menu-form{overflow:hidden}.form-layout{grid-gap:2rem;gap:2rem;padding:2rem}.form-main{min-width:0}.required{color:#dc2626}.no-locations-message{background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;padding:1rem;text-align:center}.no-locations-message p{color:#92400e;font-size:.875rem;margin:0 0 .5rem}.no-locations-message p:last-of-type{margin-bottom:1rem}.form-sidebar{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem}.info-card h3{color:#374151;font-size:1.125rem}.info-card p{line-height:1.5;margin:0 0 1rem}.info-card ul{color:#6b7280;margin:0;padding-left:1.25rem}.info-card li{line-height:1.5;margin-bottom:.5rem}.error-message{border-top:1px solid #fecaca;padding:1rem 2rem}.form-actions{padding:1.5rem 2rem}@media (max-width:1024px){.form-layout{gap:1.5rem;grid-template-columns:1fr}.form-sidebar{order:-1}}@media (max-width:768px){.page-header{padding:1.5rem 0}.header-content h1{font-size:1.5rem}.page-content{padding:1rem 0}.form-layout{padding:1rem}.form-actions{flex-direction:column;padding:1rem}.btn{width:100%}}.menu-edit-page{background:#f8fafc;min-height:100vh}.edit-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 350px}.edit-main{min-width:0}.menu-form{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.form-section h2{color:#374151}.form-group input,.form-group select,.form-group textarea{transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{color:#6b7280}.form-group textarea{min-height:100px}.checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-weight:500;margin-bottom:0}.checkbox-label input[type=checkbox]{cursor:pointer;margin-right:.75rem;width:auto}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.error-message{color:#dc2626;margin-bottom:1.5rem}.form-actions{padding-top:1.5rem}.edit-sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-section{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-header{padding:1.5rem}.section-header h3{color:#374151;font-size:1.125rem;font-weight:600;margin:0}.category-item{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:1rem}.category-item:last-child{margin-bottom:0}.category-info{flex:1 1;min-width:0}.category-info h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.category-info p{color:#6b7280;font-size:.75rem;line-height:1.4;margin:0}.category-actions{display:flex;gap:.5rem;margin-left:1rem}.empty-state{color:#6b7280;padding:2rem 1rem}.empty-state p{font-size:.875rem;line-height:1.5;margin:0}.action-buttons{gap:.75rem;padding:1.5rem}@media (max-width:1024px){.edit-layout{gap:1.5rem;grid-template-columns:1fr}.edit-sidebar{order:-1}}@media (max-width:768px){.page-header{padding:1.5rem 0}.header-content h1{font-size:1.5rem}.page-content{padding:1rem 0}.menu-form{padding:1rem}.form-actions{flex-direction:column}.btn{width:100%}.category-item{align-items:stretch;flex-direction:column}.category-actions{justify-content:flex-end;margin-left:0;margin-top:.75rem}}.delete-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.delete-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.delete-modal-header{align-items:center;display:flex;gap:1rem;padding:1.5rem 1.5rem 0}.delete-modal-icon{align-items:center;background:#fef2f2;border-radius:50%;color:#dc2626;display:flex;flex-shrink:0;height:3rem;justify-content:center;width:3rem}.delete-modal-title{color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.2;margin:0}.delete-modal-body{padding:1.5rem}.delete-modal-message{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.delete-modal-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin:1rem 0;padding:.75rem 1rem;text-align:center}.delete-modal-item strong{color:#374151;font-size:.875rem;font-weight:600}.delete-modal-warning{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;margin-top:1rem;padding:.5rem .75rem}.delete-modal-warning svg{flex-shrink:0}.delete-modal-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;margin-top:1rem;padding:.5rem .75rem}.delete-modal-error svg{flex-shrink:0}.delete-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.delete-modal-footer .btn{align-items:center;display:flex;gap:.5rem;justify-content:center;min-width:80px}.delete-modal-footer .btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.delete-modal-footer .btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.delete-modal-footer .btn-danger:disabled{background:#fca5a5;border-color:#fca5a5;cursor:not-allowed}.btn-spinner{animation:spin 1s linear infinite}@media (max-width:640px){.delete-modal{margin:1rem;max-width:none}.delete-modal-header{padding:1rem 1rem 0}.delete-modal-body{padding:1rem}.delete-modal-footer{flex-direction:column;padding:1rem}.delete-modal-footer .btn{width:100%}}@media (prefers-color-scheme:dark){.delete-modal{background:#1f2937;color:#f9fafb}.delete-modal-title{color:#f9fafb}.delete-modal-message{color:#d1d5db}.delete-modal-item{background:#374151;border-color:#4b5563}.delete-modal-item strong{color:#f9fafb}.delete-modal-footer{background:#374151;border-color:#4b5563}}.category-edit-page{background:#f8fafc;min-height:100vh}.category-form{overflow:hidden}.form-layout{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 300px}.form-main{border-right:1px solid #e5e7eb;padding:2rem}.form-sidebar{background:#f9fafb;padding:2rem}.form-section{margin-bottom:2rem}.form-section:last-child{margin-bottom:0}.form-section h2{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.form-group:last-child{margin-bottom:0}.form-group input,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-help{color:#6b7280;display:block;font-size:.75rem;line-height:1.4}.info-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.75rem 0}.info-item:last-child{border-bottom:none}.info-item label{color:#374151;font-size:.875rem;font-weight:500;margin:0}.info-item span{color:#6b7280;font-size:.875rem}.action-buttons{display:flex;flex-direction:column;gap:1rem}.action-buttons .btn{justify-content:center;width:100%}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;margin:2rem;padding:1rem}.error-message p{color:#dc2626;font-size:.875rem;margin:0}.form-actions{background:#f9fafb;border-top:1px solid #e5e7eb;margin:0;padding:2rem}@media (max-width:768px){.form-layout{grid-template-columns:1fr}.form-sidebar{border-right:none;border-top:1px solid #e5e7eb}.form-actions,.form-main,.form-sidebar{padding:1.5rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}@media (max-width:480px){.page-content,.page-header{padding:1rem 0}.container{padding:0 .5rem}.form-actions,.form-main,.form-sidebar{padding:1rem}}.category-manage-items-page{background:#f9fafb;min-height:100vh}.header-content h1{color:#111827}.header-content p{font-size:1rem}.search-input{transition:border-color .2s}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-checkbox,.filter-controls{align-items:center;display:flex}.filter-checkbox{color:#374151;cursor:pointer;font-size:.875rem;gap:.5rem}.filter-checkbox input[type=checkbox]{margin:0}.available-items-column .column-header{border-left:4px solid #3b82f6}.selected-items-column .column-header{border-left:4px solid #22c55e}.items-list{display:flex;flex:1 1;flex-direction:column;gap:.75rem;overflow-y:auto;padding:1rem}.items-section{margin-top:2rem}.section-header{margin-bottom:1.5rem}.section-header h2{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.category-manage-items-page .item-card{align-items:center!important;background-color:#fff!important;border:1px solid #e5e7eb!important;border-radius:.5rem!important;cursor:pointer!important;display:flex!important;flex-direction:row!important;height:auto!important;justify-content:space-between!important;padding:1rem!important;transition:all .2s ease!important}.category-manage-items-page .item-card:hover{border-color:#d1d5db;box-shadow:0 2px 4px -1px #0000001a;transform:translateY(-1px)}.category-manage-items-page .item-card.selected{background-color:#f8fafc;border-color:#667eea}.category-manage-items-page .item-content{flex:1 1;min-width:0}.category-manage-items-page .item-content h3{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-manage-items-page .item-description{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.75rem;margin:0 0 .5rem;overflow:hidden}.category-manage-items-page .item-sidebar{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.5rem}.category-manage-items-page .item-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.category-manage-items-page .item-meta span{font-size:.875rem;font-weight:500}.category-manage-items-page .price{color:#059669;font-weight:600}.category-manage-items-page .sort-order{color:#6b7280;font-size:.75rem;font-weight:500}.category-manage-items-page .item-actions{flex-shrink:0}.item-dietary{display:flex;flex-wrap:wrap;gap:.5rem}.dietary-tag{border-radius:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.dietary-tag.vegetarian{background:#dcfce7;color:#166534}.dietary-tag.vegan{background:#d1fae5;color:#065f46}.dietary-tag.gluten-free{background:#fef3c7;color:#92400e}@media (max-width:768px){.manage-items-container{padding:1.5rem}.controls-section{align-items:stretch;flex-direction:column;gap:1.5rem}.bulk-actions{justify-content:space-between}.two-column-layout{gap:1.5rem;grid-template-columns:1fr}.column{min-height:400px}.category-manage-items-page .item-card{padding:1rem}.category-manage-items-page .item-header{align-items:flex-start;flex-direction:column;gap:.5rem}.category-manage-items-page .item-meta{flex-direction:column;gap:.25rem}}.menu-manage-categories-page{background-color:#f8fafc;min-height:100vh}.page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.header-content{margin:0 auto;max-width:1200px;padding:0 1rem}.back-button{background:#fff3;border:1px solid #ffffff4d;border-radius:.5rem;color:#fff;font-size:.875rem;padding:.5rem 1rem}.back-button:hover{background:#ffffff4d;border-color:#ffffff80}.page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.page-header p{font-size:1.125rem;margin:0;opacity:.9}.manage-items-container{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:2rem}.controls-section{align-items:flex-end;border-bottom:1px solid #e5e7eb;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.search-controls{display:flex;flex:1 1;flex-direction:column;gap:1rem}.search-input-group{position:relative}.search-input{font-size:1rem;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.bulk-actions{align-items:center;display:flex;gap:1rem}.two-column-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;min-height:600px}.column{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden}.column-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:1.5rem}.column-header h2{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.column-header p{color:#6b7280;font-size:.875rem;margin:0}.available-categories-column .column-header{border-left:4px solid #3b82f6}.selected-categories-column .column-header{border-left:4px solid #22c55e}.categories-list{display:flex;flex:1 1;flex-direction:column;gap:.75rem;overflow-y:auto;padding:1rem}.category-card{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.category-card:hover{border-color:#d1d5db;box-shadow:0 2px 4px -1px #0000001a;transform:translateY(-1px)}.category-card.selected{background-color:#f8fafc;border-color:#667eea}.category-content{flex:1 1;min-width:0}.category-content h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-description{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.75rem;margin:0 0 .5rem;overflow:hidden}.category-sidebar{flex-shrink:0;gap:.5rem}.category-meta,.category-sidebar{align-items:flex-end;display:flex;flex-direction:column}.category-meta{gap:.25rem}.category-meta span{font-size:.875rem;font-weight:500}.items-count{color:#059669;font-weight:600}.sort-order{color:#6b7280;font-size:.75rem;font-weight:500}.category-actions{flex-shrink:0}.btn{transition:all .2s ease;white-space:nowrap}.btn-sm{padding:.375rem .75rem}.btn-primary{background-color:#667eea;border-color:#667eea}.btn-primary:hover:not(:disabled){background-color:#5a67d8;border-color:#5a67d8}.btn-secondary{background-color:#6b7280;border-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563;border-color:#4b5563}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-state-content h3{font-size:1.25rem;margin:0 0 .5rem}.empty-state-content p{margin:0 0 1.5rem}.error-container{padding:3rem 1rem}@media (max-width:768px){.manage-items-container{padding:1.5rem}.controls-section{align-items:stretch;flex-direction:column;gap:1.5rem}.bulk-actions{justify-content:space-between}.two-column-layout{gap:1.5rem;grid-template-columns:1fr}.column{min-height:400px}.page-header h1{font-size:1.5rem}.page-header p{font-size:1rem}.category-sidebar{align-items:flex-start;flex-direction:column;gap:.5rem}.category-meta{flex-direction:column;gap:.25rem}}.menu-item-add-page{background:#f8fafc;min-height:100vh}.page-header{border-bottom:1px solid #e2e8f0}.container{max-width:800px}.page-content{padding:2rem 0}.back-button:hover{background-color:#e9ecef;color:#495057}.form{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:2rem}.form-group label{color:#2c3e50}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group textarea{min-height:80px}.image-upload-container{margin-bottom:1rem}.file-input{display:none}.file-input-label{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;display:block;overflow:hidden;padding:1.5rem 1rem;position:relative;text-align:center;transition:all .2s ease;width:100%}.file-input-label:hover{background:#f3f4f6;border-color:#9ca3af}.file-input-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.upload-icon{color:#6b7280;height:1.5rem;width:1.5rem}.file-input-content span{color:#6b7280;font-size:.875rem;font-weight:500}.file-help{color:#6b7280;margin:.5rem 0 0}.file-help,.image-size-help{font-size:.75rem;text-align:center}.image-size-help{color:#9ca3af;font-style:italic;margin:.25rem 0 0}.image-preview-content{align-items:center;display:flex;height:120px;justify-content:center;position:relative;width:100%}.image-preview-content img{border-radius:4px;display:block;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.remove-image-btn{background:#000000b3;height:1.75rem;right:.5rem;top:.5rem;transition:all .2s ease;width:1.75rem;z-index:10}.remove-image-btn:hover{background:#000000e6;transform:scale(1.1)}.remove-image-btn svg{height:.875rem;width:.875rem}.checkbox-group{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.error-message{border-radius:4px}.error-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.error-container p{margin-bottom:1.5rem}.form-actions{border-top:1px solid #eee;padding-top:1rem}@media (max-width:768px){.checkbox-group,.form-row{grid-template-columns:1fr}.form-actions,.header-top{flex-direction:column}.header-top{align-items:flex-start}.file-input-label{padding:1.5rem}.image-preview-content{height:100px}}.menu-item-edit-page{background:#f8fafc;min-height:100vh}.page-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:2rem 0}.container{padding:0 2rem}.header-content{display:flex;flex-direction:column;gap:1rem}.header-top{margin-bottom:1rem}.back-button{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.back-button:hover:not(:disabled){background-color:#f8f9fa;color:#495057}.back-button:disabled{cursor:not-allowed;opacity:.6}.header-content h1{color:#1a202c;font-size:2rem;font-weight:700;margin:0 0 .5rem}.header-content p{color:#6b7280;font-size:1.1rem;margin:0}.menu-item-form{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-top:2rem;padding:2rem}.form-group label{color:#495057}.form-group input,.form-group textarea{border:1px solid #ced4da;border-radius:.375rem;font-size:1rem;padding:.75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.image-upload-container{position:relative}.image-input{height:0;opacity:0;position:absolute;width:0}.image-upload-label{background-color:#f8f9fa;border:2px dashed #ced4da;border-radius:.5rem;cursor:pointer;display:block;padding:2rem;text-align:center;transition:all .2s ease}.image-upload-label:hover{background-color:#f0f8ff;border-color:#007bff}.upload-placeholder{align-items:center;display:flex;flex-direction:column;gap:.5rem}.upload-icon{font-size:2rem}.upload-text{color:#495057;font-weight:500}.upload-hint{color:#6c757d;font-size:.875rem}.image-preview{display:inline-block;position:relative}.image-preview img{border-radius:.375rem;max-height:200px;max-width:200px;object-fit:cover}.remove-image-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:700;height:2rem;justify-content:center;position:absolute;right:-.5rem;top:-.5rem;transition:background-color .2s ease;width:2rem}.remove-image-btn:hover{background:#c82333}.checkbox-group{display:flex;flex-wrap:wrap;gap:1.5rem}.checkbox-item{align-items:center;display:flex;gap:.5rem}.checkbox-item input[type=checkbox]{margin:0;width:auto}.checkbox-item label{cursor:pointer;font-weight:400;margin:0}.form-help{color:#6c757d;font-size:.875rem;margin-top:.5rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.375rem;color:#721c24;margin-bottom:1rem;padding:.75rem}.error-container{padding:3rem 2rem}.error-container h2{color:#dc3545}.error-container p{color:#6c757d}.form-actions{border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem}@media (max-width:768px){.container{padding:0 1rem}.menu-item-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.checkbox-group{gap:1rem}.checkbox-group,.form-actions{flex-direction:column}}.pro-feature-notice{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px dashed #cbd5e1;border-radius:12px;display:flex;gap:1rem;margin-top:.5rem;padding:1.5rem}.pro-feature-icon{font-size:2rem;opacity:.7}.pro-feature-content{flex:1 1}.pro-feature-content h4{color:#374151;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.pro-feature-content p{color:#6b7280;font-size:.9rem;margin:0 0 1rem}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.pro-feature-content .btn{font-size:.875rem;padding:.5rem 1rem}.qr-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.qr-modal{background:#fff;border-radius:.75rem;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.qr-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.qr-modal-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:color .2s}.close-btn:hover{color:#374151}.qr-modal-content{padding:0 1.5rem;text-align:center}.qr-code-container{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:16px;box-shadow:0 4px 6px #0000000d,inset 0 1px 0 #ffffff1a;display:flex;justify-content:center;margin-bottom:1.5rem;padding:2rem}.qr-code-wrapper{background:#fff;border:2px solid #d1fae5;border-radius:12px;box-shadow:0 8px 25px #05966926;padding:1rem;position:relative;transition:transform .2s ease}.qr-code-wrapper:hover{transform:scale(1.02)}.qr-info h4{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.qr-url{font-family:monospace;margin:0 0 1rem;word-break:break-all}.qr-instructions,.qr-url{color:#6b7280;font-size:.875rem}.qr-instructions{margin:0}.qr-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding:1.5rem}.qr-modal-footer .btn{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.qr-modal-footer .btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.qr-modal-footer .btn-secondary:hover{background:#e5e7eb}.qr-modal-footer .btn-primary{background:#22c55e;color:#fff}.qr-modal-footer .btn-primary:hover{background:#16a34a}@media (max-width:640px){.qr-modal{margin:.5rem;max-height:95vh}.qr-modal-header{padding:1rem 1rem 0}.qr-modal-content{padding:0 1rem}.qr-modal-footer{flex-direction:column;padding:1rem}.qr-modal-footer .btn{width:100%}.qr-code-container{padding:.75rem}}.menu-selection-modal{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#374151}.close-button:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:0 1.5rem}.modal-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem}.menu-select{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#374151;font-size:.875rem;padding:.75rem;transition:border-color .2s;width:100%}.menu-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.menu-select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.selected-menu-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-top:1rem;padding:1rem}.selected-menu-info h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.menu-details p{color:#6b7280;font-size:.875rem;margin:0 0 .5rem}.menu-details p:last-child{margin-bottom:0}.modal-footer{gap:.75rem;margin-top:1.5rem;padding:1.5rem}.btn{border:1px solid #0000;border-radius:.375rem;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.btn:disabled{opacity:.5}.btn-secondary{background:#fff;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-primary{background:#3b82f6;border-color:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}@media (max-width:640px){.menu-selection-modal{margin:1rem;width:95%}.modal-body,.modal-footer,.modal-header{padding-left:1rem;padding-right:1rem}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.dashboard-page{background:#f9fafb;min-height:100vh}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:2rem 0}.dashboard-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.title-section{align-items:center;display:flex;gap:1rem}.dashboard-title h1{color:#111827;font-size:2rem;font-weight:700;margin:0}.dashboard-title p{color:#6b7280;margin:0}.plan-badge{border-radius:1rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.plan-badge.free{background:#f3f4f6;color:#6b7280}.plan-badge.pro{background:#22c55e;color:#fff}.btn-sm{font-size:.875rem;padding:.5rem 1rem}.dashboard-content{padding:2rem 0}.dashboard-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:250px 1fr}.dashboard-sidebar{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;position:-webkit-sticky;position:sticky;top:2rem}.dashboard-nav{display:flex;flex-direction:column;gap:.5rem}.nav-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:1rem;gap:.75rem;padding:1rem;text-align:left;transition:all .2s;width:100%}.nav-item:hover{background:#f9fafb;color:#374151}.nav-item.active{background:#22c55e;color:#fff}.nav-count{background:#0000001a;border-radius:.375rem;color:inherit;font-size:.75rem;font-weight:600;margin-left:auto;padding:.25rem .5rem}.nav-item.active .nav-count{background:#fff3}.dashboard-main{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.dashboard-section{padding:2rem}.section-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.section-actions{align-items:center;display:flex;gap:1rem}.search-container{position:relative}.search-input{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.75rem 1rem;transition:border-color .2s ease;width:300px}.search-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;outline:none}.search-input::placeholder{color:#9ca3af}.section-title{text-align:left}.section-title h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.section-title .section-description{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.items-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.item-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;flex-direction:column;height:100%;padding:1.5rem;transition:all .2s}.item-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.item-content{align-items:flex-start;gap:1rem;justify-content:space-between}.item-content,.item-main{display:flex;flex:1 1;min-width:0}.item-main,.item-sidebar{flex-direction:column}.item-sidebar{align-items:flex-end;display:flex;flex-shrink:0;gap:.5rem}.item-main h3{color:#111827;font-size:.875rem;font-weight:600;line-height:1.3;margin:0}.restaurant-name-link{color:#111827;text-decoration:none;transition:color .2s ease}.restaurant-name-link:hover{color:#22c55e;text-decoration:underline}.item-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.25rem}.item-header h3{color:#111827;flex:1 1;font-size:.875rem;font-weight:600;margin:0}.item-actions{display:flex;flex-shrink:0;gap:.5rem}.item-description{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.75rem;line-height:1.4;margin:.25rem 0 1rem;overflow:hidden}.item-categories{margin-top:auto;padding-top:.5rem;text-align:left}.item-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.item-meta span{color:#6b7280;font-size:.875rem}.price{color:#059669;font-weight:600}.item-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:.5rem;justify-content:flex-end;margin-top:auto;padding-top:1rem}.category-info{background:#f3f4f6;border-radius:.25rem;color:#6b7280;display:inline-block;font-size:.75rem;padding:.25rem .5rem}.qr-code-btn{margin-left:auto}.error-container,.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px}.error-container{flex-direction:column;text-align:center}.error-container h2{color:#dc2626;margin-bottom:1rem}.error-container p{margin-bottom:2rem}.empty-state{align-items:center;display:flex;grid-column:1/-1;justify-content:center;min-height:300px;padding:2rem}.empty-state-content{max-width:400px;text-align:center}.empty-state-content h3{color:#374151;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-state-content p{color:#6b7280;line-height:1.5;margin-bottom:2rem}.empty-state-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.8}.empty-state-actions{margin-bottom:2rem}.empty-state-tips{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;margin:0 auto;max-width:500px;padding:1.5rem;text-align:left}.empty-state-tips h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 1rem}.empty-state-tips ul{color:#6b7280;margin:0;padding-left:1.5rem}.empty-state-tips li{line-height:1.5;margin-bottom:.5rem}@media (max-width:768px){.dashboard-header{padding:1.5rem 0}.dashboard-title{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-title h1{font-size:1.5rem}.plan-info{justify-content:space-between;width:100%}.dashboard-layout{gap:1.5rem;grid-template-columns:1fr}.dashboard-sidebar{order:2;position:static}.dashboard-nav{flex-direction:row;gap:.5rem;overflow-x:auto}.nav-item{min-width:120px;white-space:nowrap}.dashboard-main{order:1}.dashboard-section{padding:1.5rem}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.section-actions{align-items:stretch;flex-direction:column;gap:1rem;width:100%}.search-input{width:100%}.items-grid{gap:1rem;grid-template-columns:1fr}.item-header{align-items:flex-start;flex-direction:row;gap:.5rem;justify-content:space-between}.item-actions{flex-shrink:0;gap:.5rem}}.categories-info{padding:2rem 0}.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.info-card h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.info-card p{font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.info-steps{margin:1.5rem 0}.info-steps h4{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.info-steps ol{color:#6b7280;margin:0;padding-left:1.5rem}.info-steps li{line-height:1.5;margin-bottom:.5rem}.info-steps strong{color:#374151;font-weight:600}.quick-actions{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.category-form-container{margin-bottom:2rem}.category-form{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.category-form h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.category-form .error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.category-form .error-message p{color:#dc2626;font-size:.875rem;margin:0}.category-form .form-group{margin-bottom:1.5rem}.category-form label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.category-form input,.category-form select,.category-form textarea{border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.75rem;transition:border-color .2s;width:100%}.category-form input:focus,.category-form select:focus,.category-form textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.category-form input:disabled,.category-form select:disabled,.category-form textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.category-form .form-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.no-menus-message{background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;margin:1rem 0;padding:1rem;text-align:center}.no-menus-message p{color:#92400e;margin:0 0 1rem}.no-menus-message button{margin-top:.5rem}.categories-list{margin-top:2rem}.empty-state{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:3rem 2rem;text-align:center}.empty-state h3{color:#374151;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.empty-state p{color:#6b7280;font-size:1rem;line-height:1.6;margin:0 0 2rem}.status-active{background-color:#d1fae5;color:#059669}.status-active,.status-inactive{border-radius:.375rem;font-size:.875rem;font-weight:500;padding:.25rem .5rem}.status-inactive{background-color:#f3f4f6;color:#6b7280}.payment-button{position:relative;transition:all .2s ease}.payment-button.loading{cursor:not-allowed;opacity:.7}.payment-button.loading:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;content:"";height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.pricing-page{background:#f9fafb;min-height:100vh}.pricing-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:3rem 0;text-align:center}.pricing-title h1{color:#111827;font-size:2.5rem;font-weight:700;margin:0 0 1rem}.pricing-title p{color:#6b7280;font-size:1.125rem;margin:0}.cancellation-notice{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;padding:1.5rem 0}.notice-content{align-items:flex-start;display:flex;gap:1rem;margin:0 auto;max-width:800px}.notice-icon{flex-shrink:0;font-size:1.5rem;margin-top:.125rem}.notice-text{flex:1 1}.notice-text strong{color:#92400e;display:block;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.notice-text p{color:#92400e;font-size:1rem;line-height:1.5;margin:0}.pricing-content{padding:4rem 0}.pricing-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:4rem}.pricing-card{background:#fff;border:2px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a;padding:2rem;position:relative;transition:all .2s}.pricing-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.pricing-card.featured{border-color:#22c55e;transform:scale(1.05)}.pricing-card.current{background:#f0fdf4;border-color:#22c55e}.featured-badge{background:#22c55e;border-radius:1rem;color:#fff;font-size:.875rem;font-weight:600;left:50%;padding:.5rem 1.5rem;position:absolute;top:-12px;transform:translateX(-50%)}.current-plan-text{color:#059669;font-size:.875rem;font-weight:500;margin-top:.5rem;text-align:center}.card-header{margin-bottom:2rem;text-align:center}.card-header h3{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.price{align-items:baseline;display:flex;gap:.25rem;justify-content:center}.currency{color:#6b7280;font-size:1.5rem;font-weight:600}.amount{color:#111827;font-size:3rem;font-weight:700}.period{color:#6b7280;font-size:1rem}.card-content{display:flex;flex:1 1;flex-direction:column}.features-list{flex:1 1;list-style:none;margin:0 0 2rem;padding:0}.feature-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:.75rem;padding:.75rem 0}.feature-item:last-child{border-bottom:none}.checkmark{color:#22c55e;font-size:1.125rem;font-weight:600}.card-footer{margin-top:auto}.card-footer .btn{justify-content:center;width:100%}.pricing-footer{border-top:1px solid #e5e7eb;padding-top:3rem}.faq-section h3{color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 2rem;text-align:center}.faq-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.faq-item{background:#fff;border-radius:.5rem}.faq-item h4{font-size:1.125rem;margin:0 0 .75rem}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.error-container h2{color:#111827;font-size:1.5rem;margin:0 0 1rem}.error-container p{color:#6b7280;margin:0}@media (max-width:768px){.pricing-header{padding:2rem 0}.pricing-title h1{font-size:2rem}.pricing-content{padding:2rem 0}.pricing-grid{gap:1.5rem;grid-template-columns:1fr;margin-bottom:2rem}.pricing-card{padding:1.5rem}.pricing-card.featured{transform:none}.amount{font-size:2.5rem}.faq-grid{gap:1rem;grid-template-columns:1fr}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.modal-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:0 1.5rem 1.5rem;text-align:center}.warning-icon{font-size:3rem;margin-bottom:1rem}.modal-body p{color:#374151;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.downgrade-consequences{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;text-align:left}.downgrade-consequences h4{color:#dc2626;font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}.downgrade-consequences ul{list-style:none;margin:0;padding:0}.downgrade-consequences li{border-bottom:1px solid #fecaca;color:#7f1d1d;font-size:.9rem;padding:.5rem 0}.downgrade-consequences li:last-child{border-bottom:none}.downgrade-consequences li:before{color:#dc2626;content:"✗";font-weight:700;margin-right:.5rem}.downgrade-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0c4a6e;font-size:.9rem;margin:0;padding:1rem}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem}.modal-footer .btn{min-width:100px}.btn-danger{border:1px solid #dc2626}.btn-danger:hover:not(:disabled){border-color:#b91c1c}.btn-danger:disabled{background:#fca5a5;border-color:#fca5a5;cursor:not-allowed}.success-modal .modal-header h3{color:#059669}.success-modal .success-icon{color:#059669;font-size:3rem;margin-bottom:1rem}.success-details{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;text-align:left}.success-details h4{color:#059669;font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}.success-details ul{list-style:none;margin:0;padding:0}.success-details li{border-bottom:1px solid #bbf7d0;color:#047857;font-size:.9rem;padding:.5rem 0}.success-details li:last-child{border-bottom:none}.success-details li:before{color:#059669;content:"✓";font-weight:700;margin-right:.5rem}.success-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0c4a6e;font-size:.9rem;margin:0;padding:1rem}.help-page{background:#f9fafb;min-height:100vh}.help-header{background:linear-gradient(135deg,#22c55e,#16a34a 50%,#15803d);color:#fff;padding:3rem 0}.help-title{margin:0 auto;max-width:600px;text-align:center}.help-title h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem;text-shadow:0 2px 4px #0000004d}.help-title p{color:#ffffffe6;font-size:1.125rem;margin:0;text-shadow:0 1px 2px #0000004d}.help-content{padding:3rem 0}.help-layout{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:300px 1fr;margin-bottom:3rem}.help-sidebar{background:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a;height:-webkit-fit-content;height:fit-content;padding:2rem;position:-webkit-sticky;position:sticky;top:2rem}.help-sidebar h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.help-nav{display:flex;flex-direction:column;gap:.5rem}.help-nav-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;font-size:.95rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.help-nav-item:hover{background:#f3f4f6;color:#374151}.help-nav-item.active{background:#22c55e;color:#fff}.nav-icon{font-size:1.25rem;text-align:center;width:20px}.nav-title{font-weight:500}.help-main{background:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.help-section h2{border-bottom:1px solid #e5e7eb;color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 2rem;padding-bottom:1rem}.faq-list{gap:2rem}.faq-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}.faq-question{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.faq-answer{color:#6b7280;line-height:1.6;margin:0}.help-contact{margin-top:3rem}.contact-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a;padding:2rem;text-align:center}.contact-card h3{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.contact-card p{color:#6b7280;font-size:1rem;margin:0 0 2rem}.contact-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary:hover{background-color:#16a34a;transform:translateY(-1px)}.btn-outline{background-color:initial}.btn-outline:hover{background-color:#22c55e;color:#fff;transform:translateY(-1px)}@media (max-width:768px){.help-header{padding:2rem 0}.help-title h1{font-size:2rem}.help-title p{font-size:1rem}.help-content{padding:2rem 0}.help-layout{gap:2rem;grid-template-columns:1fr}.help-sidebar{position:static}.help-main,.help-sidebar{padding:1.5rem}.help-section h2{font-size:1.5rem}.faq-item{padding:1rem}.faq-question{font-size:1rem}.contact-card{padding:1.5rem}.contact-actions{align-items:center;flex-direction:column}.btn{max-width:200px;width:100%}}@media (max-width:480px){.help-nav-item{font-size:.9rem;padding:.5rem .75rem}.nav-icon{font-size:1rem;width:16px}}.contact-page{background:#f9fafb;min-height:100vh}.contact-header{background:linear-gradient(135deg,#22c55e,#16a34a 50%,#15803d);color:#fff;padding:3rem 0}.contact-title{margin:0 auto;max-width:600px;text-align:center}.contact-title h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem;text-shadow:0 2px 4px #0000004d}.contact-title p{color:#ffffffe6;font-size:1.125rem;margin:0;text-shadow:0 1px 2px #0000004d}.contact-content{padding:3rem 0}.contact-layout{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:2fr 1fr}.contact-form-section{display:flex;flex-direction:column}.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.form-card h2{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 2rem}.alert{align-items:flex-start;border-radius:.75rem;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-icon{flex-shrink:0;font-size:1.25rem;font-weight:700}.alert-content h4{font-size:1rem;font-weight:600;margin:0 0 .5rem}.alert-content p{font-size:.875rem;margin:0;opacity:.9}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#fff;border-radius:.5rem;transition:all .2s}.form-group textarea{min-height:120px;resize:vertical}.btn{display:inline-block;text-align:center}.btn-primary{background-color:#22c55e}.btn-primary:hover:not(:disabled){background-color:#16a34a}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.btn-large{font-size:1.125rem;padding:1rem 2rem}.contact-info-section{display:flex;flex-direction:column;gap:2rem}.faq-card,.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.faq-card h3,.info-card h3{color:#111827;font-size:1.25rem;font-weight:700;margin:0 0 1rem}.info-card p{color:#6b7280;margin:0 0 2rem}.contact-methods{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.contact-method{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;gap:1rem;padding:1rem}.method-icon{flex-shrink:0;font-size:1.5rem}.method-content h4{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .25rem}.method-content p{color:#374151;font-size:.875rem;margin:0 0 .25rem}.method-note{color:#6b7280;font-size:.75rem;font-style:italic}.method-link{color:#22c55e;font-size:.875rem;font-weight:500;text-decoration:none}.method-link:hover{text-decoration:underline}.business-hours h4{color:#111827;font-size:1rem;font-weight:600;margin:0 0 1rem}.hours-list{display:flex;flex-direction:column;gap:.5rem}.hours-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.5rem 0}.hours-item:last-child{border-bottom:none}.day{color:#374151;font-weight:500}.time{color:#6b7280;font-size:.875rem}.faq-list{display:flex;flex-direction:column;gap:1.5rem}.faq-item h4{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .5rem}.faq-item p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}@media (max-width:768px){.contact-header{padding:2rem 0}.contact-title h1{font-size:2rem}.contact-title p{font-size:1rem}.contact-content{padding:2rem 0}.contact-layout{gap:2rem;grid-template-columns:1fr}.faq-card,.form-card,.info-card{padding:1.5rem}.form-row{grid-template-columns:1fr}.contact-method{padding:.75rem}.method-icon{font-size:1.25rem}.hours-item{align-items:flex-start;flex-direction:column;gap:.25rem}}@media (max-width:480px){.form-card h2{font-size:1.25rem}.faq-card h3,.info-card h3{font-size:1.125rem}.btn-large{font-size:1rem;padding:.875rem 1.5rem}}.privacy-page{background:#f9fafb;min-height:100vh}.privacy-header{background:linear-gradient(135deg,#22c55e,#16a34a 50%,#15803d);color:#fff;padding:3rem 0}.privacy-title{margin:0 auto;max-width:600px;text-align:center}.privacy-title h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem;text-shadow:0 2px 4px #0000004d}.privacy-title p{color:#ffffffe6;font-size:1rem;margin:0;text-shadow:0 1px 2px #0000004d}.privacy-content{padding:3rem 0}.privacy-layout{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:300px 1fr}.privacy-sidebar{height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:2rem}.toc-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.toc-card h3{color:#111827;font-size:1.25rem;font-weight:700;margin:0 0 1.5rem}.toc-nav{display:flex;flex-direction:column;gap:.5rem}.toc-link{border-left:3px solid #0000;border-radius:.5rem;color:#6b7280;display:block;font-size:.875rem;font-weight:500;padding:.75rem 1rem;text-decoration:none;transition:all .2s}.toc-link:hover{background:#f3f4f6;border-left-color:#22c55e;color:#374151}.toc-link:active{background:#e5e7eb;color:#111827}.privacy-main{background:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.privacy-document{padding:3rem}.privacy-section{margin-bottom:3rem;scroll-margin-top:2rem}.privacy-section:last-child{margin-bottom:0}.privacy-section h2{border-bottom:2px solid #e5e7eb;color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.75rem}.privacy-section h3{color:#374151;font-size:1.25rem;font-weight:600;margin:2rem 0 1rem}.privacy-section h3:first-child{margin-top:1rem}.privacy-section p{color:#4b5563;font-size:1rem;line-height:1.7;margin:0 0 1.5rem}.privacy-section ul{margin:0 0 1.5rem;padding-left:1.5rem}.privacy-section li{color:#4b5563;font-size:1rem;line-height:1.6;margin-bottom:.75rem}.privacy-section li:last-child{margin-bottom:0}.privacy-section strong{color:#111827;font-weight:600}.contact-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;margin-top:1rem;padding:2rem}.contact-item{color:#4b5563;font-size:1rem;line-height:1.6;margin-bottom:1rem}.contact-item:last-child{margin-bottom:0}.contact-item strong{color:#111827;font-weight:600}html{scroll-behavior:smooth}@media (max-width:768px){.privacy-header{padding:2rem 0}.privacy-title h1{font-size:2rem}.privacy-title p{font-size:.9rem}.privacy-content{padding:2rem 0}.privacy-layout{gap:2rem;grid-template-columns:1fr}.privacy-sidebar{order:2;position:static}.privacy-main{order:1}.privacy-document{padding:2rem}.privacy-section h2{font-size:1.5rem}.privacy-section h3{font-size:1.125rem}.toc-card{padding:1.5rem}.toc-link{font-size:.8rem;padding:.5rem .75rem}.contact-info{padding:1.5rem}}@media (max-width:480px){.privacy-document{padding:1.5rem}.privacy-section h2{font-size:1.375rem}.privacy-section h3{font-size:1rem}.privacy-section li,.privacy-section p{font-size:.9rem}.toc-card{padding:1rem}.toc-card h3{font-size:1.125rem}.contact-info{padding:1rem}}@media print{.privacy-page{background:#fff}.privacy-header{color-adjust:exact;background:#22c55e!important;-webkit-print-color-adjust:exact}.privacy-sidebar{display:none}.privacy-layout{grid-template-columns:1fr}.privacy-document{padding:0}.privacy-section{break-inside:avoid;margin-bottom:2rem;page-break-inside:avoid}}.cookie-table{margin:1.5rem 0;overflow-x:auto}.cookie-table table{background:#fff;border-collapse:collapse;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.cookie-table td,.cookie-table th{border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;text-align:left}.cookie-table th{background:#f9fafb;color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.cookie-table td{color:#6b7280;font-size:.875rem;vertical-align:top}.cookie-table tr:hover{background:#f9fafb}.cookie-table tr:last-child td{border-bottom:none}@media (max-width:768px){.cookie-table{margin:1rem 0}.cookie-table td,.cookie-table th{font-size:.8125rem;padding:.5rem .75rem}.cookie-table th{font-size:.75rem}}.restaurant-landing-page{background:linear-gradient(135deg,#059669,#047857);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.restaurant-landing-page .error-container,.restaurant-landing-page .loading-container{align-items:center;background:#fff;border-radius:1rem;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:2rem;min-height:100vh;padding:2rem;text-align:center}.restaurant-landing-page .error-icon{font-size:4rem;margin-bottom:1rem}.restaurant-landing-page .error-container h2{color:#1a1a1a;font-weight:600;margin-bottom:1rem}.restaurant-landing-page .error-container p{color:#666;margin-bottom:2rem;max-width:400px}.restaurant-landing-page .container{margin:0 auto;max-width:1200px;padding:0 1rem}.restaurant-landing-page .restaurant-hero{align-items:center;background:linear-gradient(135deg,#059669e6,#047857e6);color:#fff;display:flex;min-height:60vh;overflow:hidden;position:relative}.restaurant-landing-page .hero-background{background:linear-gradient(135deg,#059669,#047857);bottom:0;left:0;position:absolute;right:0;top:0}.restaurant-landing-page .hero-pattern{background-image:radial-gradient(circle at 25% 25%,#ffffff1a 2px,#0000 0),radial-gradient(circle at 75% 75%,#ffffff0d 1px,#0000 0);background-size:50px 50px,30px 30px;bottom:0;left:0;position:absolute;right:0;top:0}.restaurant-landing-page .hero-content{margin:0 auto;max-width:800px;position:relative;text-align:center;z-index:2}.restaurant-landing-page .restaurant-name{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:800;line-height:1.1;margin:0 0 1.5rem;text-shadow:0 4px 8px #0003}.restaurant-landing-page .restaurant-description{color:#fff;font-size:1.25rem;font-weight:300;line-height:1.6;margin:0 0 2rem;opacity:.95;text-shadow:0 2px 4px #0000004d}.restaurant-landing-page .hero-social{align-items:center;display:flex;justify-content:center;margin-top:2rem}.restaurant-landing-page .hero-social .social-links{display:flex;gap:1rem;justify-content:center}.restaurant-landing-page .hero-social .social-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:50%;display:flex;height:50px;justify-content:center;text-decoration:none;transition:all .3s ease;width:50px}.restaurant-landing-page .hero-social .social-link:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 6px 20px #0000004d;transform:translateY(-3px) scale(1.1)}.restaurant-landing-page .hero-social .social-icon{align-items:center;display:flex;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));height:24px;justify-content:center;width:24px}.restaurant-landing-page .hero-social .social-icon svg{height:100%;width:100%}.restaurant-landing-page .restaurant-main{background:#f8fafc;padding:4rem 0}.restaurant-landing-page .restaurant-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:-3rem;position:relative;z-index:3}.restaurant-landing-page .info-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #fff3;border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.restaurant-landing-page .info-card:before{background:linear-gradient(90deg,#059669,#047857);content:"";height:4px;left:0;position:absolute;right:0;top:0}.restaurant-landing-page .info-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-5px)}.restaurant-landing-page .info-card.featured{background:linear-gradient(135deg,#059669,#047857);border:none;color:#fff}.restaurant-landing-page .info-card.featured:before{background:linear-gradient(90deg,#ffffff4d,#ffffff1a)}.restaurant-landing-page .card-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.restaurant-landing-page .card-icon{align-items:center;background:#0596691a;border-radius:12px;display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.restaurant-landing-page .info-card.featured .card-icon{background:#fff3}.restaurant-landing-page .card-header h3{color:#1a202c;font-size:1.5rem;font-weight:700;margin:0}.restaurant-landing-page .info-card.featured .card-header h3{color:#fff}.restaurant-landing-page .contact-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;margin-bottom:1rem;padding:.75rem 0}.restaurant-landing-page .contact-item:last-child{border-bottom:none;margin-bottom:0}.restaurant-landing-page .contact-item.phone-highlight{background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:12px;color:#fff;margin:1rem 0;padding:1rem}.restaurant-landing-page .contact-icon{font-size:1.25rem;text-align:center;width:30px}.restaurant-landing-page .contact-link{color:#4a5568;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s ease}.restaurant-landing-page .contact-link:hover{color:#059669}.restaurant-landing-page .phone-number{color:#fff;font-size:1.125rem;font-weight:700}.restaurant-landing-page .phone-highlight .contact-link:hover{color:#f0f0f0}.restaurant-landing-page .address-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:1rem 0;padding:1rem}.restaurant-landing-page .address-content{flex:1 1}.restaurant-landing-page .address-text{color:#1a202c;font-weight:600;margin-bottom:.25rem}.restaurant-landing-page .address-details{color:#4a5568;font-size:.875rem}.restaurant-landing-page .hours-list{display:flex;flex-direction:column;gap:.5rem}.restaurant-landing-page .hours-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 0}.restaurant-landing-page .hours-item:last-child{border-bottom:none}.restaurant-landing-page .day-name{color:#2d3748;font-weight:600}.restaurant-landing-page .hours-time{color:#4a5568;font-weight:500}.restaurant-landing-page .hours-time.closed{color:#a0aec0}.restaurant-landing-page .social-section{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.restaurant-landing-page .social-label{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.restaurant-landing-page .social-links{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.restaurant-landing-page .social-link{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#4a5568;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-decoration:none;transition:all .2s ease}.restaurant-landing-page .social-link:hover{background:#059669;box-shadow:0 4px 12px #0596694d;color:#fff;transform:translateY(-2px)}.restaurant-landing-page .social-icon{font-size:1.5rem}.restaurant-landing-page .social-name{font-size:.75rem;font-weight:600}.restaurant-landing-page .map-section{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.restaurant-landing-page .map-container{background:#f8fafc;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;position:relative}.restaurant-landing-page .map-container iframe{border:none;border-radius:12px;filter:grayscale(20%) brightness(1.1);transition:filter .3s ease}.restaurant-landing-page .map-container:hover iframe{filter:grayscale(0) brightness(1)}.restaurant-landing-page .map-overlay{bottom:12px;position:absolute;right:12px;z-index:10}.restaurant-landing-page .map-link-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#059669e6;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.restaurant-landing-page .map-link-button:hover{background:#047857;box-shadow:0 4px 12px #0596694d;transform:translateY(-2px)}.restaurant-landing-page .menu-card .card-content{align-items:center;display:flex;justify-content:center;min-height:200px;padding:2rem}.restaurant-landing-page .menu-logo-button{align-items:center;background:linear-gradient(135deg,#059669,#047857);border:4px solid #065f46;border-radius:28px;box-shadow:0 10px 30px #0596694d;color:#fff;cursor:pointer;display:flex;flex-direction:column;height:200px;justify-content:center;margin:0 auto;overflow:hidden;position:relative;text-decoration:none;transition:all .3s ease;width:200px}.restaurant-landing-page .menu-logo-button:before{background:radial-gradient(circle at center,#ffffff1a 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.restaurant-landing-page .menu-logo-button:hover{background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 10px 30px #05966966;transform:translateY(-4px) scale(1.05)}.restaurant-landing-page .menu-logo-button:hover:before{opacity:1}.restaurant-landing-page .logo-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:3px solid #ffffff4d;border-radius:24px;display:flex;height:88px;justify-content:center;margin-bottom:1rem;position:relative;width:88px;z-index:2}.restaurant-landing-page .logo-icon svg{filter:drop-shadow(0 3px 6px rgba(0,0,0,.3))}.restaurant-landing-page .button-text{font-size:1.1rem;font-weight:600;letter-spacing:.5px;position:relative;text-align:center;text-shadow:0 2px 4px #0000004d;z-index:2}.restaurant-landing-page .menu-subtitle{color:#fffc;font-size:.875rem;font-weight:500;margin-top:.25rem}.restaurant-landing-page .btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .2s ease}.restaurant-landing-page .btn-primary{background:#fff;box-shadow:0 4px 12px #0000001a;color:#059669}.restaurant-landing-page .btn-primary:hover{background:#f8fafc;box-shadow:0 8px 20px #00000026;transform:translateY(-2px)}.restaurant-landing-page .btn:hover .btn-icon{transform:translateX(2px)}.restaurant-landing-page .restaurant-footer{background:#1a202c;color:#fff;padding:3rem 0 2rem}.restaurant-landing-page .footer-main{margin-bottom:2rem}.restaurant-landing-page .footer-brand h4{color:#059669;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.restaurant-landing-page .footer-brand h4 a{color:#059669;text-decoration:none;transition:color .3s ease}.restaurant-landing-page .footer-brand h4 a:hover{color:#047857}.restaurant-landing-page .footer-brand p{color:#a0aec0;font-size:.875rem;margin:0}.restaurant-landing-page .footer-links{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.restaurant-landing-page .footer-section h5{color:#059669;font-size:1rem;font-weight:600;margin:0 0 1rem}.restaurant-landing-page .footer-section a{color:#a0aec0;display:block;font-size:.875rem;margin-bottom:.5rem;text-decoration:none;transition:color .2s ease}.restaurant-landing-page .footer-section a:hover{color:#059669}@media (max-width:768px){.restaurant-landing-page .restaurant-name{font-size:2.5rem}.restaurant-landing-page .restaurant-description{font-size:1.125rem}.restaurant-landing-page .hero-social .social-links{gap:.75rem}.restaurant-landing-page .hero-social .social-link{height:45px;width:45px}.restaurant-landing-page .hero-social .social-icon{height:22px;width:22px}.restaurant-landing-page .map-container iframe{height:180px}.restaurant-landing-page .map-link-button{font-size:.8rem;padding:.4rem .8rem}.restaurant-landing-page .restaurant-grid{gap:1.5rem;grid-template-columns:1fr;margin-top:-2rem}.restaurant-landing-page .info-card{border-radius:16px;padding:1.5rem}.restaurant-landing-page .social-links{grid-template-columns:repeat(2,1fr)}.restaurant-landing-page .hero-pattern{background-size:30px 30px,20px 20px}}@media (max-width:480px){.restaurant-landing-page .restaurant-name{font-size:2rem}.restaurant-landing-page .restaurant-description{font-size:1rem}.restaurant-landing-page .hero-social .social-links{gap:.5rem}.restaurant-landing-page .hero-social .social-link{height:40px;width:40px}.restaurant-landing-page .hero-social .social-icon{height:20px;width:20px}.restaurant-landing-page .map-container iframe{height:160px}.restaurant-landing-page .map-link-button{font-size:.75rem;padding:.35rem .7rem}.restaurant-landing-page .info-card{padding:1.25rem}.restaurant-landing-page .card-header{gap:.75rem}.restaurant-landing-page .card-icon{font-size:1.5rem;height:40px;width:40px}.restaurant-landing-page .card-header h3{font-size:1.25rem}.restaurant-landing-page .social-links{grid-template-columns:1fr}.restaurant-landing-page .feature-icon{font-size:1.25rem}}@media (prefers-color-scheme:dark){.restaurant-landing-page .restaurant-main{background:#1a202c}.restaurant-landing-page .info-card{background:#2d3748;border-color:#4a5568}.restaurant-landing-page .card-header h3{color:#f7fafc}.restaurant-landing-page .contact-item{border-color:#4a5568}.restaurant-landing-page .contact-link{color:#e2e8f0}.restaurant-landing-page .day-name{color:#f7fafc}.restaurant-landing-page .hours-time{color:#a0aec0}.restaurant-landing-page .hours-time.closed{color:#718096}.restaurant-landing-page .social-link{background:#4a5568;border-color:#718096;color:#e2e8f0}}.cookie-consent{animation:slideUp .3s ease-out;background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -1px #0000000f;left:0;padding:1rem;position:fixed;right:0;z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-consent-content{align-items:center;display:flex;gap:1rem;margin:0 auto;max-width:1200px}.cookie-consent-icon{flex-shrink:0;font-size:2rem}.cookie-consent-text{flex:1 1;min-width:0}.cookie-consent-text h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.cookie-consent-text p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.cookie-consent-text a{color:#059669;font-weight:500;text-decoration:underline}.cookie-consent-text a:hover{color:#047857}.cookie-consent-actions{display:flex;flex-shrink:0;gap:.75rem}.cookie-btn{border:1px solid #0000;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.cookie-btn-decline{background:#0000;border-color:#d1d5db;color:#6b7280}.cookie-btn-decline:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.cookie-btn-accept{background:#059669;border-color:#059669;color:#fff}.cookie-btn-accept:hover{background:#047857;border-color:#047857}@media (max-width:768px){.cookie-consent{padding:.75rem}.cookie-consent-content{align-items:stretch;flex-direction:column;gap:.75rem}.cookie-consent-icon{font-size:1.5rem;text-align:center}.cookie-consent-text{text-align:center}.cookie-consent-text h4{font-size:1rem}.cookie-consent-text p{font-size:.8125rem}.cookie-consent-actions{gap:.5rem;justify-content:center}.cookie-btn{flex:1 1;font-size:.8125rem;padding:.625rem .75rem}}@media (prefers-color-scheme:dark){.cookie-consent{background:#1f2937;border-top-color:#374151}.cookie-consent-text h4{color:#f9fafb}.cookie-consent-text p{color:#d1d5db}.cookie-btn-decline{background:#0000;border-color:#4b5563;color:#d1d5db}.cookie-btn-decline:hover{background:#374151;border-color:#6b7280;color:#f9fafb}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#22c55e;color:#fff}.btn-primary:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.btn-outline{background:#0000;border:2px solid #22c55e;color:#22c55e}.btn-outline:hover:not(:disabled){background:#22c55e;color:#fff;transform:translateY(-1px)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.btn-sm{font-size:.75rem;padding:.5rem .75rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group label{color:#374151;font-size:.875rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:#f9fafb;cursor:not-allowed}.card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.card-header{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:1rem}.card-title{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.card-description{color:#6b7280;font-size:.875rem;margin:.5rem 0 0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.hidden{display:none}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.loading{opacity:.6;pointer-events:none}.error{background:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;padding:.75rem}.success{background:#d1fae5;border:1px solid #a7f3d0;border-radius:.375rem;color:#059669;padding:.75rem}.grid{grid-gap:1rem;display:grid;gap:1rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #22c55e;outline-offset:2px}
/*# sourceMappingURL=main.46ac1660.css.map*/