*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}:root{--color-primary:#063;--color-primary-light:#00a854;--color-primary-dark:#004d1a;--color-secondary:#ce1126;--color-secondary-light:#f44;--color-secondary-dark:#900;--color-white:#fff;--color-success:#28a745;--color-warning:#ffc107;--color-error:#dc3545;--color-info:#17a2b8;--color-text:#1f2937;--color-text-secondary:#6b7280;--color-background:#f9fafb;--color-border:#e5e7eb;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--border-radius-sm:0.25rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem;--border-radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.container{margin:0 auto;max-width:1200px;padding:0 1rem;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.btn{align-items:center;border-radius:.5rem;border-radius:var(--border-radius-md);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .2s ease-in-out}.btn:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background-color:#063;background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:#004d1a;background-color:var(--color-primary-dark)}.btn-secondary{background-color:#ce1126;background-color:var(--color-secondary);color:#fff;color:var(--color-white)}.btn-secondary:hover{background-color:#900;background-color:var(--color-secondary-dark)}.btn-outline{background-color:initial;border:2px solid #063;border:2px solid var(--color-primary);color:#063;color:var(--color-primary)}.btn-outline:hover{background-color:#063;background-color:var(--color-primary);color:#fff;color:var(--color-white)}.card{background-color:#fff;background-color:var(--color-white);border-radius:.75rem;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);overflow:hidden;transition:all .2s ease-in-out}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.navbar{background-color:#fff;background-color:var(--color-white);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1rem 0}.navbar-brand{color:#063;gap:.5rem}.navbar-logo{height:40px;width:auto}.form-group{margin-bottom:1.5rem}.form-label{color:#374151;font-weight:500;margin-bottom:.5rem}.form-input{border:2px solid #d1d5db;border-radius:.5rem;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .2s ease-in-out}.form-input:focus{border-color:#063}.form-input.error{border-color:#ce1126;border-color:var(--color-secondary)}.error-message{color:#ce1126;color:var(--color-secondary);font-size:.875rem;margin-top:.25rem;margin-top:var(--spacing-xs)}.loader{animation:spin 1s ease-in-out infinite;border:3px solid #d1d5db;border-radius:50%;border-top-color:#063;border:3px solid var(--color-gray-300);border-top-color:var(--color-primary);display:inline-block;height:20px;width:20px}@media (max-width:768px){.container{padding:0 .5rem;padding:0 var(--spacing-sm)}.btn{margin-bottom:.5rem;margin-bottom:var(--spacing-sm);width:100%}}.header{background-color:var(--color-white);border-bottom:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar{justify-content:space-between;padding:var(--spacing-md) 0}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{border-radius:var(--border-radius-lg);color:var(--color-primary);font-size:1.5rem;font-weight:700;gap:var(--spacing-sm);padding:var(--spacing-sm);text-decoration:none;transition:all .3s ease-in-out}.navbar-brand:hover{background-color:#0066330d;color:var(--color-primary-dark);transform:translateY(-2px)}.navbar-logo{border:3px solid #0000;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);height:80px;object-fit:cover;transition:all .3s ease-in-out;width:80px}.navbar-logo:hover{border-color:var(--color-primary);box-shadow:var(--shadow-xl);filter:brightness(1.1) saturate(1.2);transform:scale(1.05) rotate(3deg)}.navbar-nav{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.mobile-menu-toggle{align-items:center;background:var(--color-primary);border:none;border-radius:var(--border-radius-md);color:var(--color-white);cursor:pointer;display:none;height:44px;justify-content:center;transition:background .2s ease-in-out;width:44px}.mobile-menu-toggle:hover{background:var(--color-primary-dark)}.mobile-menu-icon{font-size:1.25rem;line-height:1}.mobile-menu-overlay{animation:fadeInOverlay .25s forwards;background:#11182773;inset:0;opacity:0;position:fixed;z-index:950}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.mobile-nav-header,.mobile-only,.mobile-section-title{display:none}.desktop-only{display:inherit}.mobile-section{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--spacing-md)}.mobile-nav-header-top{align-items:center;display:flex;justify-content:space-between}.mobile-nav-title{color:var(--color-gray-900);font-size:1rem;font-weight:600}.mobile-nav-close{background:var(--color-gray-100);border:none;border-radius:var(--border-radius-full);color:var(--color-gray-700);cursor:pointer;font-size:1rem;height:36px;transition:background .2s ease-in-out,transform .2s ease-in-out;width:36px}.mobile-nav-close:hover{background:var(--color-gray-200);transform:rotate(90deg)}.mobile-user-card{display:none}.mobile-user-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));border-radius:var(--border-radius-full);color:var(--color-white);display:flex;font-size:1rem;font-weight:700;height:48px;justify-content:center;width:48px}.mobile-user-info{display:flex;flex-direction:column;gap:2px}.mobile-user-name{color:var(--color-gray-900);font-weight:600}.mobile-user-email{color:var(--color-gray-500);font-size:.8rem}.mobile-user-points{color:var(--color-secondary);font-size:.8rem;font-weight:600}.mobile-actions{display:none}.mobile-logout-btn{align-items:center;background:var(--color-error);border:none;border-radius:var(--border-radius-lg);color:var(--color-white);cursor:pointer;display:inline-flex;font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:transform .2s ease,box-shadow .2s ease;width:100%}.mobile-logout-btn:hover{background:#b91c1c;box-shadow:var(--shadow-md);transform:translateY(-1px)}.nav-link{border-radius:var(--border-radius-md);color:var(--color-gray-700);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);position:relative;text-decoration:none;transition:all .2s ease-in-out;white-space:nowrap}.nav-link:hover{background-color:var(--color-gray-50);color:var(--color-primary)}.nav-link.active{background-color:#0066331a;color:var(--color-primary)}.dropdown{position:relative}.dropdown-toggle{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-md);color:var(--color-gray-700);cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease-in-out}.dropdown-toggle:hover{background-color:var(--color-gray-50);color:var(--color-primary)}.dropdown-arrow{font-size:.75rem;transition:transform .2s ease-in-out}.dropdown-menu{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);left:0;margin-top:var(--spacing-xs);min-width:200px;overflow:hidden;position:absolute;top:100%;z-index:1000}.dropdown-item{border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700);display:block;font-weight:500;padding:var(--spacing-md);text-decoration:none;transition:all .2s ease-in-out}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:var(--color-gray-50);color:var(--color-primary);padding-left:var(--spacing-lg)}.user-menu-wrapper{position:relative}.user-menu-button{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);cursor:pointer;display:flex;font-family:inherit;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease-in-out}.user-menu-button:hover{background:var(--color-gray-100);border-color:var(--color-primary)}.user-avatar{align-items:center;background:var(--color-primary);border-radius:var(--border-radius-full);color:var(--color-white);display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:32px;justify-content:center;width:32px}.user-name{color:var(--color-gray-700);font-size:.875rem;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-menu{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);margin-top:var(--spacing-xs);min-width:250px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.user-dropdown-header{background:var(--color-gray-50);border-bottom:1px solid var(--color-border);padding:var(--spacing-md)}.user-dropdown-name{color:var(--color-gray-800);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-xs)}.user-dropdown-email{color:var(--color-gray-600);font-size:.75rem;margin-bottom:var(--spacing-xs)}.user-dropdown-points{color:var(--color-secondary);font-size:.75rem;font-weight:600}.user-dropdown-divider{background:var(--color-border);height:1px;margin:var(--spacing-xs) 0}.user-dropdown-item{background:#0000;border:none;color:var(--color-gray-700);cursor:pointer;display:block;font-family:inherit;font-size:.875rem;font-weight:500;padding:var(--spacing-md);text-align:left;transition:all .2s ease-in-out;width:100%}.user-dropdown-item:hover{background-color:var(--color-gray-50);color:var(--color-primary)}.logout-btn{color:var(--color-error)!important}.logout-btn:hover{background-color:var(--color-error)!important;color:var(--color-white)!important}@media (max-width:768px){.navbar{align-items:center;gap:var(--spacing-sm)}.mobile-menu-toggle{display:flex;z-index:1002}.navbar-nav{align-items:stretch;background:var(--color-white);border:none;border-radius:0;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);height:100vh;overflow-y:auto;padding:var(--spacing-xl) var(--spacing-lg);position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .35s ease-in-out;width:min(340px,82vw);z-index:1001}.navbar-nav.open{transform:translateX(0)}.mobile-nav-header{display:flex;flex-direction:column;gap:var(--spacing-md)}.mobile-user-card{align-items:center;background:linear-gradient(135deg,#00663314,#cc000014);border:1px solid #00663326;border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.mobile-section{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.mobile-section+.mobile-section{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.mobile-section-title{color:var(--color-gray-500);display:block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-link{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);display:flex;font-size:1rem;gap:var(--spacing-sm);justify-content:space-between;padding:var(--spacing-md);width:100%}.nav-link:after{color:var(--color-gray-400);content:"›";font-size:1rem}.nav-link:hover{background:var(--color-gray-100);color:var(--color-primary)}.dropdown{width:100%}.dropdown-toggle{background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);justify-content:space-between;padding:var(--spacing-md);width:100%}.dropdown-toggle:hover{background:var(--color-gray-100)}.dropdown-arrow{font-size:.8rem}.dropdown-menu{border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:none;margin-top:var(--spacing-sm);overflow:hidden;position:static}.dropdown-item{padding:var(--spacing-sm) var(--spacing-md)}.user-name{display:none}.desktop-only{display:none!important}.mobile-only{display:flex}.mobile-actions{border-top:1px solid var(--color-border);display:flex;flex-direction:column;padding-top:var(--spacing-md);width:100%}.navbar-nav .btn{align-items:center;display:inline-flex;font-weight:600;justify-content:center;width:100%}}@media (max-width:480px){.navbar-brand{font-size:1.1rem}.navbar-logo{height:56px;width:56px}.navbar-nav{gap:var(--spacing-md);padding:var(--spacing-lg);width:min(90vw,320px)}.nav-link{font-size:.95rem;padding:var(--spacing-md)}.nav-link:after{font-size:1.1rem}.dropdown-toggle{font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md)}.mobile-menu-toggle{height:40px;width:40px}.mobile-user-avatar{font-size:.95rem;height:44px;width:44px}.mobile-nav-close{height:32px;width:32px}}.cart-button{align-items:center;background:var(--color-primary);border:none;border-radius:50%;bottom:2rem;box-shadow:var(--shadow-lg);color:var(--color-white);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;height:80px;justify-content:center;pointer-events:auto;position:fixed;right:2rem;transition:all .3s ease-in-out;width:80px;z-index:1000}.cart-button:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.cart-button.has-items{animation:pulse 2s infinite;background:var(--color-secondary)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.cart-icon{font-size:1.5rem;margin-bottom:2px}.cart-count{align-items:center;background:var(--color-secondary);border:2px solid var(--color-white);border-radius:50%;color:var(--color-white);display:flex;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px}.cart-count,.cart-total{font-size:.75rem;font-weight:600}.cart-total{margin-top:2px}.cart-overlay{animation:fadeIn .3s ease-in-out;background:#00000080;bottom:0;left:0;z-index:998}.cart-overlay,.cart-sidebar{position:fixed;right:0;top:0}.cart-sidebar{background:var(--color-white);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:100vh;transform:translateX(100%);transition:transform .3s ease-in-out;width:400px;z-index:999}.cart-sidebar.open{transform:translateX(0)}.cart-header{align-items:center;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding:var(--spacing-xl)}.cart-header h2{color:var(--color-gray-800);font-size:1.5rem;font-weight:600;margin:0}.cart-close{background:none;border:none;border-radius:var(--border-radius-md);color:var(--color-gray-500);cursor:pointer;font-size:1.5rem;padding:var(--spacing-sm);transition:all .3s ease-in-out}.cart-close:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.cart-content{overflow:hidden}.cart-content,.cart-empty{display:flex;flex:1 1;flex-direction:column}.cart-empty{align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center}.cart-empty h3{color:var(--color-gray-700);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.cart-empty p{color:var(--color-gray-500);line-height:1.6;margin:0}.cart-items{flex:1 1;overflow-y:auto}.cart-item,.cart-items{padding:var(--spacing-lg)}.cart-item{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);transition:all .3s ease-in-out}.cart-item:hover{box-shadow:var(--shadow-md)}.item-image{height:60px;width:60px}.placeholder-image{background:var(--color-gray-100);font-size:1.5rem}.item-name{font-size:1rem;line-height:1.3}.item-name,.item-price{margin:0 0 var(--spacing-xs) 0}.item-notes{color:var(--color-gray-600);font-size:.75rem;margin:0}.item-controls{flex-direction:column}.item-controls,.quantity-controls{align-items:center;display:flex;gap:var(--spacing-sm)}.quantity-controls{background:var(--color-gray-100);border-radius:var(--border-radius-md);padding:var(--spacing-xs)}.quantity-btn{height:28px;width:28px}.quantity{color:var(--color-gray-800);font-weight:600;min-width:20px;text-align:center}.remove-btn{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--color-error);cursor:pointer;font-size:1rem;padding:var(--spacing-xs);transition:all .3s ease-in-out}.remove-btn:hover{background:var(--color-error);color:var(--color-white)}.cart-summary{background:var(--color-gray-50)}.cart-actions,.cart-summary{border-top:1px solid var(--color-gray-200);padding:var(--spacing-lg)}.cart-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.clear-cart-btn{font-size:.875rem;padding:var(--spacing-sm)}.checkout-btn{font-size:1rem;padding:var(--spacing-md)}@media (max-width:768px){.cart-button{bottom:1rem;height:70px;right:1rem;width:70px}.cart-sidebar{width:100vw}.cart-item{padding:var(--spacing-md)}.item-image{height:50px;width:50px}.item-name{font-size:.875rem}.item-price{font-size:.75rem}}@media (max-width:480px){.cart-button{bottom:.5rem;height:60px;right:.5rem;width:60px}.cart-icon{font-size:1.25rem}.cart-total{font-size:.625rem}}.home{min-height:100vh}.hero{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:var(--color-white);overflow:hidden;padding:var(--spacing-3xl) 0;position:relative}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.hero-content{grid-gap:var(--spacing-3xl);align-items:center;display:grid;gap:var(--spacing-3xl);grid-template-columns:1fr 1fr;position:relative;z-index:1}.hero-text{max-width:600px}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:var(--spacing-lg)}.text-primary{color:var(--color-secondary)}.hero-subtitle{font-size:1.25rem;line-height:1.6;margin-bottom:var(--spacing-2xl);opacity:.9}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.cta-actions .btn-outline,.hero-actions .btn-outline{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-white);font-weight:600;transition:all .3s ease-in-out}.cta-actions .btn-outline:hover,.hero-actions .btn-outline:hover{background:var(--color-secondary-dark);border-color:var(--color-secondary-dark);box-shadow:0 4px 12px #e000004d;transform:translateY(-2px)}.hero-image{align-items:center;display:flex;justify-content:center}.hero-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-2xl);text-align:center}.hero-card-content h3{font-size:1.5rem;margin-bottom:var(--spacing-md)}.hero-card-content p{line-height:1.6;opacity:.9}.features{background-color:var(--color-gray-50);padding:var(--spacing-3xl) 0}.section-title{color:var(--color-gray-800);font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-3xl);text-align:center}.features-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-2xl);text-align:center;transition:all .3s ease-in-out}.feature-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.feature-card h3{color:var(--color-gray-800);font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-md)}.feature-card p{color:var(--color-gray-600);line-height:1.6}.categories{background:var(--color-white);padding:var(--spacing-3xl) 0}.categories-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.category-card{background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);color:var(--color-gray-700);padding:var(--spacing-xl);text-align:center;text-decoration:none;transition:all .3s ease-in-out}.category-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-primary);transform:translateY(-3px)}.category-icon{font-size:2.5rem;margin-bottom:var(--spacing-md)}.category-card h3{font-size:1.125rem;font-weight:600}.cta{background:linear-gradient(135deg,var(--color-secondary) 0,var(--color-secondary-dark) 100%);color:var(--color-white);padding:var(--spacing-3xl) 0;text-align:center}.cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-lg)}.cta-content p{font-size:1.25rem;margin-bottom:var(--spacing-2xl);opacity:.9}.cta-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:center}@media (max-width:768px){.hero-content{gap:var(--spacing-2xl);grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.125rem}.hero-actions{justify-content:center}.features-grid{grid-template-columns:1fr}.categories-grid{grid-template-columns:repeat(2,1fr)}.cta-content h2{font-size:2rem}.cta-actions{align-items:center;flex-direction:column}.btn-lg{max-width:300px;width:100%}}@media (max-width:480px){.hero{padding:var(--spacing-2xl) 0}.hero-title,.section-title{font-size:2rem}.categories-grid{grid-template-columns:1fr}.cta-content h2{font-size:1.75rem}}.auth-container{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--spacing-lg);position:relative}.auth-container:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-white);border:1px solid #fff3;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);max-width:500px;padding:var(--spacing-3xl);position:relative;width:100%;z-index:1}.auth-header{margin-bottom:var(--spacing-2xl);text-align:center}.auth-logo{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);height:80px;margin-bottom:var(--spacing-lg);object-fit:cover;transition:transform .3s ease-in-out;width:80px}.auth-logo:hover{transform:scale(1.05)}.auth-header h1{color:var(--color-gray-800);font-size:2rem;font-weight:700;margin-bottom:var(--spacing-sm)}.auth-header p{color:var(--color-gray-600);font-size:1.125rem}.redirect-message{background:var(--color-secondary);border:2px solid var(--color-secondary-dark);border-radius:var(--border-radius-md);box-shadow:0 2px 8px #e0000033;color:var(--color-white);margin-top:var(--spacing-md);padding:var(--spacing-md);text-align:center}.redirect-message p{font-size:.875rem;font-weight:500;margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-label{letter-spacing:.5px;text-transform:uppercase}.form-input{background-color:var(--color-white)}.form-input:focus{transform:translateY(-1px)}.btn-full{align-items:center;display:flex;font-size:1.125rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-lg);padding:var(--spacing-lg);width:100%}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.error-message{animation:shake .5s ease-in-out;background-color:var(--color-secondary);margin-bottom:var(--spacing-md)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.form-info{background-color:var(--color-gray-50);border-left:4px solid var(--color-primary);border-radius:var(--border-radius-md);margin:var(--spacing-lg) 0;padding:var(--spacing-lg)}.form-info p{color:var(--color-gray-700);font-weight:600;margin-bottom:var(--spacing-sm)}.form-info ul{list-style:none;margin:0;padding:0}.form-info li{color:var(--color-gray-600);margin-bottom:var(--spacing-xs);padding-left:var(--spacing-md);position:relative}.form-info li:before{background-color:var(--color-primary);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.auth-links{border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);text-align:center}.auth-links p{color:var(--color-gray-600);margin-bottom:var(--spacing-md)}.auth-link{color:var(--color-primary);font-weight:600;text-decoration:none;transition:color .3s ease-in-out}.auth-link:hover{color:var(--color-primary-dark);text-decoration:underline}.auth-link-back{color:var(--color-gray-500);font-size:.875rem;text-decoration:none;transition:color .3s ease-in-out}.auth-link-back:hover{color:var(--color-gray-700)}.auth-card{animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.auth-container{padding:var(--spacing-md)}.auth-card{margin:var(--spacing-md);padding:var(--spacing-xl)}.auth-header h1{font-size:1.75rem}.auth-logo{height:60px;width:60px}.form-row{grid-template-columns:1fr}.btn-full{padding:var(--spacing-md)}}@media (max-width:480px){.auth-card{padding:var(--spacing-lg)}.auth-header h1{font-size:1.5rem}.form-input{padding:var(--spacing-sm)}}.modal-overlay{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.add-to-cart-modal{animation:slideIn .3s ease-in-out;background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:var(--color-gray-50)}.modal-header h3{color:var(--color-gray-800);font-size:1.5rem;font-weight:600;margin:0}.modal-close{transition:all .3s ease-in-out}.modal-close:hover{background:var(--color-gray-200)}.modal-content{padding:var(--spacing-xl)}.product-preview{background:var(--color-gray-50);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.product-image,.product-preview{border-radius:var(--border-radius-md)}.product-image{flex-shrink:0;height:80px;width:80px}.placeholder-icon{font-size:2rem}.product-info{min-width:0}.product-description{margin:0 0 var(--spacing-sm) 0}.add-to-cart-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{gap:var(--spacing-sm)}.form-label{font-size:.875rem}.quantity-selector{align-items:center;background:var(--color-gray-100);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);width:-webkit-fit-content;width:fit-content}.quantity-btn{align-items:center;background:var(--color-white);border:none;border-radius:var(--border-radius-sm);color:var(--color-gray-700);cursor:pointer;display:flex;font-size:1.125rem;font-weight:600;height:36px;justify-content:center;transition:all .3s ease-in-out;width:36px}.quantity-btn:hover{background:var(--color-primary);color:var(--color-white)}.quantity-input{background:var(--color-white);border:none;border-radius:var(--border-radius-sm);color:var(--color-gray-800);font-size:1rem;font-weight:600;height:36px;text-align:center;width:60px}.quantity-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.notes-input{border:2px solid var(--color-gray-300);border-radius:var(--border-radius-md);font-family:inherit;font-size:.875rem;line-height:1.5;min-height:80px;padding:var(--spacing-md);resize:vertical;transition:border-color .3s ease-in-out}.notes-input:focus{border-color:var(--color-primary);outline:none}.notes-input::placeholder{color:var(--color-gray-400)}.modal-summary{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.summary-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:var(--spacing-sm)}.summary-row:last-child{margin-bottom:0}.summary-row.total{border-top:1px solid var(--color-gray-300);color:var(--color-gray-800);font-size:1.125rem;font-weight:600;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.modal-actions .btn{flex:1 1;font-weight:600;padding:var(--spacing-md)}@media (max-width:768px){.add-to-cart-modal{margin:var(--spacing-md);width:95%}.modal-content,.modal-header{padding:var(--spacing-lg)}.product-preview{flex-direction:column;gap:var(--spacing-md);text-align:center}.product-image{align-self:center}.modal-actions{flex-direction:column}.modal-actions .btn{flex:none}}@media (max-width:480px){.add-to-cart-modal{border-radius:0;height:100vh;max-height:none;width:100%}.modal-header h3{font-size:1.25rem}.product-name,.product-price{font-size:1.125rem}}.menu-page{margin:0 auto;max-width:1200px;padding:var(--spacing-xl);padding-bottom:120px}.menu-header{margin-bottom:var(--spacing-3xl);text-align:center}.menu-header h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0}.menu-header p{color:var(--color-gray-600);font-size:1.125rem;margin:0}.menu-error,.menu-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-3xl);text-align:center}.menu-error h3{color:var(--color-error);margin:0 0 var(--spacing-md) 0}.category-filters{margin-bottom:var(--spacing-3xl)}.filters-container{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-lg)}.category-filter,.filters-container{background:var(--color-white);display:flex;justify-content:center}.category-filter{align-items:center;border:2px solid var(--color-gray-300);border-radius:var(--border-radius-lg);color:var(--color-gray-700);cursor:pointer;font-weight:500;gap:var(--spacing-sm);min-width:120px;padding:var(--spacing-md) var(--spacing-lg);transition:all .3s ease-in-out}.category-filter:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-2px)}.category-filter.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-white)}.category-icon{font-size:1.25rem}.category-label{font-size:.875rem;font-weight:600}.products-section{margin-bottom:var(--spacing-3xl)}.products-header{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.products-header h2{color:var(--color-gray-800);font-size:1.5rem;font-weight:600;margin:0}.products-count{background:var(--color-gray-100);border-radius:var(--border-radius-md);color:var(--color-gray-600);font-weight:500;padding:var(--spacing-sm) var(--spacing-md)}.products-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.product-card{display:flex;flex-direction:column;min-height:400px;position:relative}.product-card:hover{transform:translateY(-4px)}.product-image img{transition:transform .3s ease-in-out}.product-card:hover .product-image img{transform:scale(1.05)}.placeholder-image{background:linear-gradient(135deg,var(--color-gray-100),var(--color-gray-200))}.placeholder-icon{color:var(--color-gray-400);font-size:3rem}.unavailable-overlay{align-items:center;background:#000000b3;bottom:0;color:var(--color-white);display:flex;font-size:1.125rem;font-weight:600;justify-content:center;left:0;position:absolute;right:0;top:0}.product-name{font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 var(--spacing-sm) 0}.product-price{color:var(--color-primary);font-size:1.5rem;margin:0 0 var(--spacing-lg) 0}.product-actions{padding:0 var(--spacing-lg) var(--spacing-lg)}.add-to-cart{border:none;border-radius:var(--border-radius-md);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:var(--spacing-md);transition:all .3s ease-in-out;width:100%}.add-to-cart:disabled{background:var(--color-gray-300)!important;box-shadow:none!important;color:var(--color-gray-500)!important;cursor:not-allowed!important;transform:none!important}.add-to-cart:not(:disabled):hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.no-products{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);grid-column:1/-1;padding:var(--spacing-3xl);text-align:center}.no-products-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.no-products h3{color:var(--color-gray-700);font-size:1.5rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.no-products p{color:var(--color-gray-500);line-height:1.6;margin:0}@media (max-width:768px){.menu-page{padding:var(--spacing-md)}.menu-header h1{font-size:2rem}.filters-container{align-items:stretch;flex-direction:column}.category-filter{justify-content:flex-start;min-width:auto}.products-header{flex-direction:column;gap:var(--spacing-md);text-align:center}.products-grid{grid-template-columns:1fr}}@media (max-width:480px){.menu-header h1{font-size:1.75rem}.products-grid{gap:var(--spacing-lg)}.product-card{margin:0 var(--spacing-sm)}}.checkout-page{background:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl) 0}.checkout-container{margin:0 auto;max-width:1200px;padding:0 var(--spacing-xl)}.checkout-header{margin-bottom:var(--spacing-3xl);text-align:center}.checkout-header h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0}.checkout-header p{color:var(--color-gray-600);font-size:1.125rem;margin:0}.checkout-content{grid-gap:var(--spacing-3xl);align-items:start;display:grid;gap:var(--spacing-3xl);grid-template-columns:2fr 1fr}.empty-cart{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-3xl);text-align:center}.empty-cart h2{color:var(--color-gray-700);font-size:1.5rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.empty-cart p{color:var(--color-gray-500);line-height:1.6;margin:0 0 var(--spacing-xl) 0}.checkout-main{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-3xl)}.checkout-form{gap:var(--spacing-3xl)}.checkout-form,.form-section{display:flex;flex-direction:column}.form-section{gap:var(--spacing-lg)}.form-section h3{border-bottom:2px solid var(--color-gray-200);color:var(--color-gray-800);font-size:1.25rem;font-weight:600;margin:0;padding-bottom:var(--spacing-sm)}.date-selector{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.date-option{cursor:pointer;position:relative}.date-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.date-label{align-items:center;background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--border-radius-md);display:flex;flex-direction:column;padding:var(--spacing-lg);text-align:center;transition:all .3s ease-in-out}.date-option input[type=radio]:checked+.date-label{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.date-option:hover .date-label{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.date-day{font-size:1.5rem;font-weight:700;line-height:1}.date-month{font-size:.875rem;font-weight:500;text-transform:uppercase}.date-weekday{font-size:.75rem;opacity:.8}.slot-selector{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.slot-option{cursor:pointer;position:relative}.slot-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.slot-label{align-items:center;background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xl);text-align:center;transition:all .3s ease-in-out}.slot-option input[type=radio]:checked+.slot-label{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.slot-option:hover .slot-label{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.slot-icon{font-size:2rem}.slot-time{font-size:1.125rem;font-weight:600}.slot-hours{font-size:.875rem;opacity:.8}.time-selector{border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.time-label{color:var(--color-gray-700);display:block;font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md)}.time-select{background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--border-radius-md);color:var(--color-gray-800);cursor:pointer;font-family:inherit;font-size:1rem;padding:var(--spacing-md);transition:border-color .3s ease-in-out;width:100%}.time-select:focus{outline:none}.time-select:focus,.time-select:hover{border-color:var(--color-primary)}.notes-textarea{border:2px solid var(--color-gray-300);border-radius:var(--border-radius-md);font-family:inherit;font-size:.875rem;line-height:1.5;padding:var(--spacing-lg);resize:vertical;transition:border-color .3s ease-in-out;width:100%}.notes-textarea:focus{border-color:var(--color-primary);outline:none}.notes-textarea::placeholder{color:var(--color-gray-400)}.notes-counter{color:var(--color-gray-500);font-size:.75rem;text-align:right}.form-actions{align-items:center;border-top:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-lg);justify-content:space-between;padding-top:var(--spacing-lg)}.checkout-btn{flex:1 1;font-size:1.125rem;font-weight:600;padding:var(--spacing-lg)}.error-message{font-weight:500}.checkout-summary{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-3xl);position:-webkit-sticky;position:sticky;top:var(--spacing-xl)}.checkout-summary h3{color:var(--color-gray-800);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-xl) 0;text-align:center}.summary-items{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.summary-item{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.item-image{border-radius:var(--border-radius-sm);height:50px;width:50px}.placeholder-image{font-size:1.25rem}.item-details{flex:1 1;min-width:0}.item-details h4{color:var(--color-gray-800);font-size:.875rem;font-weight:600;line-height:1.3;margin:0 0 var(--spacing-xs) 0}.item-details p{color:var(--color-gray-600);font-size:.75rem;margin:0}.item-price{font-size:.875rem}.summary-total{border-top:1px solid var(--color-gray-200);margin-bottom:var(--spacing-xl);padding-top:var(--spacing-lg)}.total-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:var(--spacing-sm)}.total-row.final{border-top:1px solid var(--color-gray-300);color:var(--color-gray-800);font-size:1.125rem;font-weight:600;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.delivery-info{background:var(--color-gray-50);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.delivery-info h4{color:var(--color-gray-800);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.delivery-info p{color:var(--color-gray-600);font-size:.875rem;margin:0 0 var(--spacing-sm) 0}.delivery-info p:last-child{margin-bottom:0}@media (max-width:1024px){.checkout-content{gap:var(--spacing-xl);grid-template-columns:1fr}.checkout-summary{position:static}}@media (max-width:768px){.checkout-container{padding:0 var(--spacing-md)}.checkout-header h1{font-size:2rem}.checkout-main,.checkout-summary{padding:var(--spacing-xl)}.date-selector{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.slot-selector{grid-template-columns:1fr}.form-actions{flex-direction:column}.checkout-btn{flex:none;width:100%}}@media (max-width:480px){.checkout-page{padding:var(--spacing-md) 0}.date-selector{grid-template-columns:repeat(2,1fr)}.summary-item{flex-direction:column;gap:var(--spacing-sm);text-align:center}.item-image{align-self:center}}.order-confirmation-page{background:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl) 0}.confirmation-container{margin:0 auto;max-width:800px;padding:0 var(--spacing-xl)}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.error-icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.error-container h2{color:var(--color-error);margin:0 0 var(--spacing-md) 0}.confirmation-header{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-3xl);padding:var(--spacing-3xl);text-align:center}.success-icon{animation:bounce 1s ease-in-out;font-size:4rem;margin-bottom:var(--spacing-lg)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.confirmation-header h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0}.confirmation-header p{color:var(--color-gray-600);font-size:1.125rem;margin:0 0 var(--spacing-lg) 0}.order-number{background:var(--color-primary);border-radius:var(--border-radius-lg);color:var(--color-white);display:inline-block;font-size:1.125rem;font-weight:600;padding:var(--spacing-md) var(--spacing-xl)}.confirmation-content{display:flex;flex-direction:column;gap:var(--spacing-3xl)}.order-details{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr}.detail-card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.detail-card h3{border-bottom:2px solid var(--color-gray-200);color:var(--color-gray-800);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-sm)}.detail-item{align-items:center;border-bottom:1px solid var(--color-gray-100);justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0}.detail-item:last-child{border-bottom:none;margin-bottom:0}.detail-item .label{color:var(--color-gray-600);font-weight:500}.detail-item .value{color:var(--color-gray-800);font-weight:600}.detail-item .value.price{color:var(--color-primary);font-size:1.125rem}.detail-item .value.status{font-weight:700}.order-items{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.order-items h3{border-bottom:2px solid var(--color-gray-200);color:var(--color-gray-800);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-xl) 0;padding-bottom:var(--spacing-sm);text-align:center}.items-list,.order-item{gap:var(--spacing-lg)}.order-item{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-gray-200);display:flex;padding:var(--spacing-lg)}.item-image,.order-item{border-radius:var(--border-radius-md)}.item-image{flex-shrink:0;height:80px;overflow:hidden;width:80px}.item-image img{height:100%;object-fit:cover;width:100%}.placeholder-image{align-items:center;background:var(--color-gray-200);color:var(--color-gray-400);display:flex;font-size:2rem;height:100%;justify-content:center;width:100%}.item-info{min-width:0}.item-info h4{color:var(--color-gray-800);font-size:1.125rem;font-weight:600;line-height:1.3;margin:0 0 var(--spacing-sm) 0}.item-info p{color:var(--color-gray-600);font-size:.875rem;margin:0 0 var(--spacing-xs) 0}.item-info p:last-child{margin-bottom:0}.item-total{color:var(--color-primary);font-size:1.125rem;font-weight:700}.confirmation-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:center}.confirmation-actions .btn{font-weight:600;min-width:180px;padding:var(--spacing-md) var(--spacing-xl)}.confirmation-info{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr}.info-card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);text-align:center}.info-card h4{color:var(--color-gray-800);font-size:1.125rem;font-weight:600;margin:0 0 var(--spacing-lg) 0}.info-card p{color:var(--color-gray-600);line-height:1.6;margin:0 0 var(--spacing-sm) 0}.info-card p:last-child{margin-bottom:0}@media (max-width:768px){.confirmation-container{padding:0 var(--spacing-md)}.confirmation-header{padding:var(--spacing-xl)}.confirmation-header h1{font-size:2rem}.order-details{grid-template-columns:1fr}.detail-card,.order-items{padding:var(--spacing-lg)}.order-item{flex-direction:column;gap:var(--spacing-md);text-align:center}.item-image{align-self:center}.confirmation-actions{align-items:center;flex-direction:column}.confirmation-actions .btn{max-width:300px;width:100%}.confirmation-info{grid-template-columns:1fr}}@media (max-width:480px){.confirmation-header{padding:var(--spacing-lg)}.success-icon{font-size:3rem}.confirmation-header h1{font-size:1.75rem}.order-number{font-size:1rem;padding:var(--spacing-sm) var(--spacing-lg)}.detail-card,.info-card,.order-items{padding:var(--spacing-md)}}.orders-page{background:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl) 0}.orders-container{margin:0 auto;max-width:1000px;padding:0 var(--spacing-xl)}.orders-header{margin-bottom:var(--spacing-3xl);text-align:center}.orders-header h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0}.orders-header p{color:var(--color-gray-600);font-size:1.125rem;margin:0}.order-header{align-items:center}.order-date{margin:0}.order-actions .btn-danger{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-white);font-weight:600;transition:all .3s ease-in-out}.order-actions .btn-danger:hover{background:var(--color-secondary-dark);border-color:var(--color-secondary-dark);box-shadow:0 4px 12px #e000004d;transform:translateY(-1px)}.order-actions .btn-danger:active{box-shadow:0 2px 8px #e000004d;transform:translateY(0)}.empty-orders p{margin:0 0 var(--spacing-xl) 0}@media (max-width:768px){.orders-container{padding:0 var(--spacing-md)}.orders-header h1{font-size:2rem}.orders-filters{gap:var(--spacing-lg);grid-template-columns:1fr;padding:var(--spacing-lg)}.order-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.order-status{align-self:flex-end}.order-actions,.order-details,.order-items{padding:var(--spacing-lg)}.detail-row{gap:var(--spacing-xs)}.detail-row,.item-row{align-items:flex-start;flex-direction:column}.item-row{gap:var(--spacing-sm)}.order-actions{flex-direction:column}.order-actions .btn{width:100%}}@media (max-width:480px){.orders-page{padding:var(--spacing-md) 0}.orders-header h1{font-size:1.75rem}.order-actions,.order-details,.order-header,.order-items{padding:var(--spacing-md)}.status-badge{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm)}}.bookings-page{margin:0 auto;max-width:1200px;padding:var(--spacing-xl)}.bookings-header{margin-bottom:var(--spacing-3xl);text-align:center}.bookings-header h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0}.bookings-header p{color:var(--color-gray-600);font-size:1.125rem;margin:0}.bookings-content{align-items:center;display:flex;justify-content:center;min-height:400px}.coming-soon{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);max-width:500px;padding:var(--spacing-3xl);text-align:center}.coming-soon-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.coming-soon h2{color:var(--color-gray-800);font-size:1.5rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.coming-soon p{color:var(--color-gray-600);line-height:1.6;margin:0 0 var(--spacing-md) 0}.coming-soon p:last-child{margin-bottom:0}@media (max-width:768px){.bookings-page{padding:var(--spacing-md)}.bookings-header h1{font-size:2rem}.coming-soon{padding:var(--spacing-xl)}}.admin-dashboard{background-color:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl)}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;min-height:50vh}.dashboard-header{margin-bottom:var(--spacing-2xl);text-align:center}.dashboard-header h1{color:var(--color-gray-800);font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.dashboard-header p{color:var(--color-gray-600);font-size:1.125rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--spacing-2xl)}.stat-card{align-items:center;border-left:4px solid;display:flex;gap:var(--spacing-lg)}.stat-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px)}.stat-primary{border-left-color:var(--color-primary)}.stat-secondary{border-left-color:var(--color-secondary)}.stat-success{border-left-color:var(--color-success)}.stat-warning{border-left-color:var(--color-warning)}.stat-info{border-left-color:var(--color-info)}.stat-danger{border-left-color:var(--color-error)}.stat-icon{align-items:center;background:var(--color-gray-50);border-radius:var(--border-radius-full);display:flex;height:60px;justify-content:center;width:60px}.stat-content h3{color:var(--color-gray-800);font-size:2rem;font-weight:700;margin:0}.stat-content p{color:var(--color-gray-600);font-weight:500;margin:0}.dashboard-content{grid-gap:var(--spacing-2xl);display:grid;gap:var(--spacing-2xl);grid-template-columns:2fr 1fr}.dashboard-section{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.section-header{border-bottom:2px solid var(--color-gray-100);padding-bottom:var(--spacing-md)}.section-header h2{color:var(--color-gray-800);font-weight:600}.orders-table td,.orders-table th{padding:var(--spacing-md)}.orders-table th{background-color:var(--color-gray-50);letter-spacing:.5px;text-transform:uppercase}.orders-table td{color:var(--color-gray-700)}.orders-table tr:hover{background-color:var(--color-gray-50)}.status-badge{border-radius:var(--border-radius-full)}.status-pending{background-color:#fef3c7;color:#92400e}.status-confirmed{background-color:#dbeafe;color:#1e40af}.status-preparing{background-color:#fde68a;color:#b45309}.status-ready{background-color:#d1fae5;color:#065f46}.status-delivered{background-color:#dcfce7;color:#166534}.status-cancelled{background-color:#fee2e2;color:#dc2626}.quick-actions{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-action-btn{align-items:center;background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--border-radius-lg);color:var(--color-gray-700);cursor:pointer;display:flex;flex-direction:column;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-xl);text-decoration:none;transition:all .3s ease-in-out}.quick-action-btn:hover{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-lg);color:var(--color-white);transform:translateY(-2px)}.action-icon{font-size:2rem;margin-bottom:var(--spacing-xs)}.empty-state{color:var(--color-gray-500);padding:var(--spacing-3xl);text-align:center}.empty-state p{font-size:1.125rem;margin:0}@media (max-width:1024px){.dashboard-content{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.admin-dashboard{padding:var(--spacing-md)}.dashboard-header h1{font-size:2rem}.stats-grid{grid-template-columns:1fr}.stat-card{padding:var(--spacing-lg)}.stat-content h3{font-size:1.5rem}.quick-actions{grid-template-columns:1fr}.orders-table{font-size:.875rem}.orders-table td,.orders-table th{padding:var(--spacing-sm)}}@media (max-width:480px){.dashboard-header h1{font-size:1.75rem}.stat-card{flex-direction:column;text-align:center}.section-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}}.admin-products{background-color:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl)}.products-loading{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;min-height:50vh}.products-header{align-items:center;border-bottom:2px solid var(--color-gray-200);display:flex;justify-content:space-between;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg)}.products-header h1{color:var(--color-gray-800);font-size:2rem;font-weight:700;margin:0}.filters-bar{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.filters-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.filter-label{color:var(--color-gray-700);font-size:.875rem;font-weight:600}.filter-input,.filter-select{font-size:1rem;transition:all .3s ease-in-out}.filter-input:focus,.filter-select:focus{box-shadow:0 0 0 3px #0066331a}.filter-input::placeholder{color:var(--color-gray-400)}.filter-clear{align-self:flex-end;margin-top:var(--spacing-lg)}.filter-results{align-items:center;border-top:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding-top:var(--spacing-lg)}.results-count{color:var(--color-gray-600);font-weight:500}.no-results{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);grid-column:1/-1;padding:var(--spacing-3xl);text-align:center}.no-results-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.no-results h3{color:var(--color-gray-700);font-size:1.5rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.no-results p{color:var(--color-gray-500);line-height:1.6;margin:0 0 var(--spacing-xl) 0}.products-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.product-card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all .3s ease-in-out}.product-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px)}.product-image{height:200px;overflow:hidden;position:relative}.product-image img{height:100%;object-fit:cover;width:100%}.product-placeholder{align-items:center;background:linear-gradient(135deg,var(--color-gray-100) 0,var(--color-gray-200) 100%);display:flex;font-size:4rem;height:100%;justify-content:center;width:100%}.product-status{border-radius:var(--border-radius-full);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);position:absolute;right:var(--spacing-sm);text-transform:uppercase;top:var(--spacing-sm)}.product-status.available{background-color:var(--color-success);color:var(--color-white)}.product-status.unavailable{background-color:var(--color-error);color:var(--color-white)}.product-info{padding:var(--spacing-lg)}.product-info h3{color:var(--color-gray-800);font-size:1.25rem}.product-category,.product-info h3{font-weight:600;margin:0 0 var(--spacing-sm) 0}.product-category{color:var(--color-primary);font-size:.875rem}.product-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-gray-600);display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0 0 var(--spacing-md) 0;overflow:hidden}.product-price{color:var(--color-secondary);font-size:1.25rem;font-weight:700;margin:0}.product-actions{border-top:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg)}.product-actions .btn{flex:1 1}.modal-overlay{background-color:#00000080}.modal-content{background:var(--color-white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-xl)}.modal-header h2{color:var(--color-gray-800);font-weight:600}.modal-close{background:none;border:none;border-radius:var(--border-radius-md);color:var(--color-gray-500);cursor:pointer;font-size:1.5rem;padding:var(--spacing-sm);transition:all .2s ease-in-out}.modal-close:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.product-form{padding:var(--spacing-xl)}.form-row{grid-gap:var(--spacing-lg);gap:var(--spacing-lg)}.form-label{color:var(--color-gray-700);display:block;font-weight:600;margin-bottom:var(--spacing-sm)}.form-input{border:2px solid var(--color-gray-300);border-radius:var(--border-radius-md);font-size:1rem;padding:var(--spacing-md);transition:all .3s ease-in-out;width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0066331a;outline:none}.form-input::placeholder{color:var(--color-gray-400)}.checkbox-label{color:var(--color-gray-700);font-weight:500;gap:var(--spacing-sm)}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary);height:18px;width:18px}.modal-actions{border-top:1px solid var(--color-gray-200);gap:var(--spacing-lg)}.btn-danger{background-color:var(--color-error)}.btn-danger:hover{background-color:#dc2626}@media (max-width:768px){.admin-products{padding:var(--spacing-md)}.products-header{align-items:stretch;flex-direction:column;gap:var(--spacing-lg)}.products-header h1{font-size:1.75rem;text-align:center}.filters-grid{grid-template-columns:1fr}.filter-results{flex-direction:column;gap:var(--spacing-md);text-align:center}.form-row,.products-grid{grid-template-columns:1fr}.modal-overlay{padding:var(--spacing-md)}.modal-content{max-height:95vh}.modal-header,.product-form{padding:var(--spacing-lg)}.modal-actions{flex-direction:column}}@media (max-width:480px){.product-actions{flex-direction:column}.products-header h1{font-size:1.5rem}}.terrace-availability-page{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.availabilities-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:var(--spacing-xl)}.availability-card{background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.availability-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.availability-card.unavailable{background:#fef2f2;border-color:var(--color-error);opacity:.7}.availability-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.availability-header h3{font-size:1.2rem}.status-badge.available{background:var(--color-success);color:var(--color-white)}.status-badge.unavailable{background:var(--color-error);color:var(--color-white)}.availability-details{margin-bottom:var(--spacing-lg)}.capacity-info,.notes-info,.spots-info,.time-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) 0}.capacity-label,.notes-label,.spots-label,.time-label{color:var(--color-text);font-weight:600}.capacity-value,.notes-value,.spots-value,.time-value{color:var(--color-text-secondary)}.spots-value.full{color:var(--color-error);font-weight:600}.notes-value{word-wrap:break-word;font-style:italic;max-width:200px;text-align:right}.availability-actions{flex-wrap:wrap;gap:var(--spacing-sm)}.availability-actions .btn{flex:1 1;font-size:.875rem;min-width:100px;padding:var(--spacing-sm)}.no-data{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);grid-column:1/-1;padding:var(--spacing-xl);text-align:center}.no-data p{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-lg)}.checkbox-label{align-items:center;cursor:pointer;display:flex}.checkbox-label input[type=checkbox]{margin-right:var(--spacing-sm);transform:scale(1.2)}.checkbox-text{color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{border:2px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;padding:var(--spacing-sm);transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}@media (max-width:768px){.terrace-availability-page{padding:var(--spacing-md)}.availabilities-grid{gap:var(--spacing-md);grid-template-columns:1fr}.availability-actions{flex-direction:column}.availability-actions .btn{flex:none}.form-row{grid-template-columns:1fr}.modal{margin:var(--spacing-md);width:95%}.modal-actions{flex-direction:column}}@media (max-width:480px){.page-header h1{font-size:2rem}.availability-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.capacity-info,.notes-info,.spots-info,.time-info{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}}.terrace-reservations-page{margin:0 auto;max-width:1400px;padding:var(--spacing-lg)}.filters-section{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.filters-row{align-items:end;display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.filter-group{gap:var(--spacing-xs);min-width:200px}.filter-group label{color:var(--color-text)}.filter-input,.filter-select{border:2px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);transition:border-color .2s ease}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{transition:all .3s ease}.stat-number{color:var(--color-primary);font-size:2.5rem;margin-bottom:var(--spacing-sm)}.stat-label{color:var(--color-text-secondary);letter-spacing:.5px}.reservations-section{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.reservations-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.reservation-card{border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.reservation-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.reservation-header{align-items:flex-start;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.reservation-info h3{color:var(--color-primary);font-size:1.2rem;margin:0 0 var(--spacing-xs) 0}.user-email{color:var(--color-text-secondary);font-size:.875rem;margin:0}.status-badge{white-space:nowrap}.reservation-details{margin-bottom:var(--spacing-lg)}.date-time{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-md)}.admin-notes,.created-info,.date-info,.guests-info,.requests-info,.time-info,.updated-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.admin-notes,.requests-info{grid-column:1/-1}.label{color:var(--color-text);font-weight:600}.label,.value{font-size:.875rem}.value{word-wrap:break-word;color:var(--color-text-secondary)}.dates-info{grid-gap:var(--spacing-md);border-top:1px solid var(--color-border);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr;margin-top:var(--spacing-md);padding-top:var(--spacing-sm)}.modal{max-width:600px}.reservation-summary{background:var(--color-background);border-left:4px solid var(--color-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.reservation-summary h3{color:var(--color-primary);margin:0 0 var(--spacing-sm) 0}.reservation-summary p{color:var(--color-text-secondary);margin:var(--spacing-xs) 0}.status-form{gap:var(--spacing-lg)}.form-group,.status-form{display:flex;flex-direction:column}.form-group{gap:var(--spacing-xs)}.form-select,.form-textarea{border:2px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;padding:var(--spacing-sm);transition:border-color .2s ease}.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none}.form-textarea{min-height:80px;resize:vertical}@media (max-width:768px){.terrace-reservations-page{padding:var(--spacing-md)}.filters-row{align-items:stretch;flex-direction:column}.filter-group{min-width:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}.date-time,.dates-info,.reservations-grid{grid-template-columns:1fr}.modal{margin:var(--spacing-md);width:95%}.modal-actions{flex-direction:column}}@media (max-width:480px){.page-header h1{font-size:2rem}.stats-grid{grid-template-columns:1fr}.reservation-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.reservation-actions{justify-content:stretch}.reservation-actions .btn{width:100%}}.admin-orders-page{background:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl) 0}.admin-orders-container{margin:0 auto;max-width:1400px;padding:0 var(--spacing-xl)}.admin-orders-header{margin-bottom:var(--spacing-3xl);text-align:center}.admin-orders-header h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0}.admin-orders-header p{color:var(--color-gray-600);font-size:1.125rem;margin:0}.error-message{color:var(--color-white)}.orders-stats{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--spacing-xl)}.stat-card.stat-pending{border-top-color:#ffc107}.stat-card.stat-preparing{border-top-color:#17a2b8}.stat-card.stat-ready{border-top-color:#007bff}.stat-card.stat-delivered{border-top-color:#28a745}.stat-card.stat-cancelled{border-top-color:#dc3545}.orders-filters{grid-gap:var(--spacing-xl);background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.status-select{background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--border-radius-md);cursor:pointer;font-family:inherit;font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .3s ease-in-out}.status-select:focus{border-color:var(--color-primary);outline:none}.orders-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.order-card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all .3s ease-in-out}.order-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.order-header{align-items:flex-start;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;padding:var(--spacing-xl)}.order-info h3{color:var(--color-gray-800);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.order-date{color:var(--color-gray-600);font-size:.875rem;margin:var(--spacing-xs) 0}.order-customer{color:var(--color-gray-700);font-size:.875rem;margin:var(--spacing-xs) 0 0 0}.order-customer strong{color:var(--color-primary)}.status-badge{align-items:center;border-radius:var(--border-radius-lg);color:var(--color-white);display:inline-flex;font-size:.875rem;gap:var(--spacing-xs);letter-spacing:.5px;padding:var(--spacing-sm) var(--spacing-md);text-transform:uppercase}.order-details{border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-xl)}.detail-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0}.detail-row:last-child{margin-bottom:0}.detail-label{font-weight:500}.detail-value{font-weight:600}.order-items{border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-xl)}.order-items h4{color:var(--color-gray-800);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-lg) 0}.items-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.item-row{align-items:center;background:var(--color-gray-50);border-radius:var(--border-radius-md);display:flex;justify-content:space-between;padding:var(--spacing-md)}.item-info{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.item-name{color:var(--color-gray-800);font-weight:600}.item-quantity{color:var(--color-gray-600);font-size:.875rem}.item-notes{color:var(--color-gray-500);font-size:.875rem;font-style:italic}.item-price{color:var(--color-primary);font-weight:600}.order-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-xl)}.empty-orders{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-3xl);text-align:center}.empty-orders h3{color:var(--color-gray-700);font-size:1.5rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.empty-orders p{color:var(--color-gray-500);line-height:1.6;margin:0}@media (max-width:768px){.admin-orders-container{padding:0 var(--spacing-md)}.admin-orders-header h1{font-size:2rem}.orders-stats{grid-template-columns:repeat(2,1fr)}.orders-filters{gap:var(--spacing-lg);grid-template-columns:1fr;padding:var(--spacing-lg)}.order-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.order-status{align-self:flex-end}.order-actions,.order-details,.order-items{padding:var(--spacing-lg)}.detail-row{gap:var(--spacing-xs)}.detail-row,.item-row{align-items:flex-start;flex-direction:column}.item-row{gap:var(--spacing-sm)}.order-actions{flex-direction:column}.order-actions .btn{width:100%}}@media (max-width:480px){.admin-orders-page{padding:var(--spacing-md) 0}.admin-orders-header h1{font-size:1.75rem}.orders-stats{grid-template-columns:1fr}.order-actions,.order-details,.order-header,.order-items{padding:var(--spacing-md)}.status-badge{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm)}}.customers-page{background:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl) 0}.customers-container{margin:0 auto;max-width:1400px;padding:0 var(--spacing-xl)}.customers-header{margin-bottom:var(--spacing-3xl);text-align:center}.customers-header h1{color:var(--color-primary);font-size:2.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0}.customers-header p{color:var(--color-gray-600);font-size:1.125rem;margin:0}.loading-spinner{border-top:4px solid var(--color-gray-300);border:4px solid var(--color-gray-300);border-top-color:var(--color-primary);height:50px;width:50px}.retry-btn{border-radius:var(--border-radius-sm)}.retry-btn:hover{background:var(--color-gray-100)}.customers-stats{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-xl)}.stat-card{border-radius:var(--border-radius-lg);border-top:4px solid var(--color-primary);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:all .3s ease-in-out}.stat-card:hover{transform:translateY(-2px)}.stat-card.stat-revenue{border-top-color:#28a745}.stat-card.stat-orders{border-top-color:#007bff}.stat-card.stat-points{border-top-color:#ffc107}.stat-number{color:var(--color-gray-800);font-size:2rem;font-weight:700;margin-bottom:var(--spacing-xs)}.stat-label{font-weight:500}.customers-filters{grid-gap:var(--spacing-xl);background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.filter-input,.filter-select{border:2px solid var(--color-gray-300);border-radius:var(--border-radius-md);font-family:inherit;font-size:.875rem;padding:var(--spacing-md);transition:border-color .3s ease-in-out}.filter-input:focus,.filter-select:focus{border-color:var(--color-primary);outline:none}.filter-input:hover,.filter-select:hover{border-color:var(--color-gray-400)}.customers-list{margin-bottom:var(--spacing-xl)}.customers-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.customer-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);transition:all .3s ease-in-out}.customer-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.customer-header{align-items:center;border-bottom:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.customer-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--border-radius-full);color:var(--color-white);display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;width:60px}.customer-info{flex:1 1;min-width:0}.customer-info h3{color:var(--color-gray-800);font-size:1.25rem;font-weight:600}.customer-email,.customer-info h3{margin:0 0 var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-email,.customer-phone{color:var(--color-gray-600);font-size:.875rem}.customer-phone{margin:0}.customer-stats-inline{grid-gap:var(--spacing-md);background:var(--color-gray-50);border-radius:var(--border-radius-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-item .stat-label{color:var(--color-gray-600);font-size:.75rem;margin-bottom:var(--spacing-xs)}.stat-item .stat-value{color:var(--color-primary);font-size:1.125rem;font-weight:700}.customer-meta{margin-bottom:var(--spacing-lg)}.customer-date{color:var(--color-gray-500);font-size:.875rem;margin:0;text-align:center}.customer-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.customer-actions .btn{flex:1 1;min-width:100px}.empty-customers{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);grid-column:1/-1;padding:var(--spacing-3xl);text-align:center}.empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-customers h3{color:var(--color-gray-700);font-size:1.5rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.empty-customers p{color:var(--color-gray-500);line-height:1.6;margin:0}.modal-overlay{padding:var(--spacing-lg)}.modal{max-width:800px}.modal-header{background:var(--color-white);position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header h2{font-size:1.5rem}.close-btn{align-items:center;display:flex;height:32px;justify-content:center;width:32px}.modal-content{padding:var(--spacing-lg)}.customer-detail-section{margin-bottom:var(--spacing-xl)}.customer-detail-section h3{border-bottom:2px solid var(--color-primary);color:var(--color-primary);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-sm)}.detail-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{background:var(--color-gray-50);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md)}.detail-label{color:var(--color-gray-600);font-size:.875rem;font-weight:600}.detail-value{color:var(--color-gray-800);font-size:1rem;font-weight:500}.orders-table{margin-top:var(--spacing-md);overflow-x:auto}.orders-table table{border-collapse:collapse;width:100%}.orders-table td,.orders-table th{border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-sm) var(--spacing-md);text-align:left}.orders-table th{background:var(--color-gray-50);color:var(--color-gray-700);font-weight:600}.orders-table td,.orders-table th{font-size:.875rem}.status-badge{background:var(--color-gray-200);color:var(--color-gray-700);display:inline-block}.btn-sm{font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm)}.modal-actions{background:var(--color-white);bottom:0;padding:var(--spacing-lg);position:-webkit-sticky;position:sticky}.btn-danger{background:var(--color-error);border:none;color:var(--color-white);font-weight:600}.btn-danger:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}@media (max-width:768px){.customers-container{padding:0 var(--spacing-md)}.customers-header h1{font-size:2rem}.customers-stats{grid-template-columns:repeat(2,1fr)}.customers-filters{gap:var(--spacing-lg);padding:var(--spacing-lg)}.customers-filters,.customers-grid{grid-template-columns:1fr}.customer-header{flex-direction:column;text-align:center}.customer-stats-inline{gap:var(--spacing-sm);grid-template-columns:1fr}.customer-actions{flex-direction:column}.customer-actions .btn{width:100%}.detail-grid{grid-template-columns:1fr}.modal{margin:var(--spacing-md);width:95%}.modal-actions{flex-direction:column}}@media (max-width:480px){.customers-page{padding:var(--spacing-md) 0}.customers-header h1{font-size:1.75rem}.customers-stats{grid-template-columns:1fr}.customer-card{padding:var(--spacing-md)}}.statistics-page{background:var(--color-gray-50);min-height:100vh;padding:var(--spacing-xl) 0}.statistics-container{margin:0 auto;max-width:1600px;padding:0 var(--spacing-xl)}.statistics-header{margin-bottom:var(--spacing-3xl);padding:var(--spacing-2xl) 0;text-align:center}.statistics-header h1{color:var(--color-primary);font-size:3rem;font-weight:800;letter-spacing:-1px;margin:0 0 var(--spacing-md) 0}.statistics-header p{color:var(--color-gray-600);font-size:1.25rem;font-weight:500;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #0066331a;border-radius:50%;border-top:5px solid var(--color-primary);height:60px;margin-bottom:var(--spacing-lg);width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;border-radius:16px;box-shadow:0 10px 30px #dc35454d;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.retry-btn{background:var(--color-white);border:none;border-radius:8px;box-shadow:0 4px 15px #0000001a;color:var(--color-error);cursor:pointer;font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease-in-out}.retry-btn:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.statistics-nav{background:var(--color-white);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-md);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-md)}.nav-tab{align-items:center;background:#0000;border:2px solid #0000;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:var(--spacing-xs);min-width:120px;overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.nav-tab:before{background:#0066331a;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease-in-out}.nav-tab:hover:before{opacity:1}.nav-tab:hover{box-shadow:var(--shadow-md)}.nav-tab.active,.nav-tab:hover{border-color:var(--color-primary);transform:translateY(-4px)}.nav-tab.active{background:var(--color-primary);box-shadow:var(--shadow-lg)}.nav-tab.active:before{opacity:0}.tab-icon{font-size:1.5rem;position:relative;transition:transform .3s ease-in-out;z-index:1}.nav-tab:hover .tab-icon{transform:scale(1.2)}.nav-tab.active .tab-icon{filter:drop-shadow(0 2px 5px rgba(0,0,0,.2))}.tab-label{color:var(--color-gray-700);font-size:.875rem;font-weight:600;letter-spacing:.5px;position:relative;text-transform:uppercase;transition:color .3s ease-in-out;z-index:1}.nav-tab.active .tab-label{color:var(--color-white);text-shadow:0 1px 3px #0003}.nav-tab:hover .tab-label{color:var(--color-primary)}.nav-tab.active:hover .tab-label{color:var(--color-white)}.date-filters{align-items:flex-end;background:var(--color-white);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-md);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm);min-width:150px}.filter-group label{color:var(--color-gray-700);font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.date-input{background:var(--color-gray-50);border:2px solid var(--color-border);border-radius:12px;font-family:inherit;font-size:.875rem;padding:var(--spacing-md);transition:all .3s ease-in-out}.date-input:focus{background:var(--color-white);border-color:var(--color-primary);box-shadow:0 0 0 4px #0066331a;outline:none}.stats-section{background:var(--color-white);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-2xl);transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.stats-section:hover{box-shadow:0 20px 60px #0000001f;transform:translateY(-4px)}.stats-section h2{align-items:center;border-bottom:3px solid var(--color-primary);color:var(--color-primary);display:flex;font-size:2rem;font-weight:700;gap:var(--spacing-sm);margin:0 0 var(--spacing-xl) 0;padding-bottom:var(--spacing-md)}.stats-grid{grid-gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stats-cards,.stats-grid{display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stats-cards{grid-gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{background:var(--color-white);border:2px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden;padding:var(--spacing-xl);position:relative;text-align:center;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.stat-card:before{background:var(--color-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease-in-out}.stat-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-8px) scale(1.02)}.stat-card:hover:before{transform:scaleX(1)}.stat-card.stat-revenue{background:var(--color-primary);color:var(--color-white)}.stat-card.stat-revenue:before{background:#ffffff4d}.stat-card.stat-today{background:var(--color-secondary);color:var(--color-white)}.stat-card.stat-pending{background:var(--color-warning);color:var(--color-white)}.stat-card.stat-preparing{background:var(--color-info);color:var(--color-white)}.stat-card.stat-ready{background:var(--color-primary-light);color:var(--color-white)}.stat-card.stat-delivered{background:var(--color-success);color:var(--color-white)}.stat-card.stat-cancelled{background:var(--color-error);color:var(--color-white)}.stat-card.stat-completed,.stat-card.stat-confirmed{background:var(--color-success);color:var(--color-white)}.stat-card.stat-new{background:var(--color-info);color:var(--color-white)}.stat-card.stat-active{background:var(--color-primary);color:var(--color-white)}.stat-card.stat-average{background:var(--color-secondary);color:var(--color-white)}.stat-card.stat-available{background:var(--color-success);color:var(--color-white)}.stat-card.stat-unavailable{background:var(--color-error);color:var(--color-white)}.stat-icon{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:2.5rem;margin-bottom:var(--spacing-md)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.stat-value{color:var(--color-gray-800);font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:var(--spacing-xs)}.stat-card.stat-active .stat-value,.stat-card.stat-available .stat-value,.stat-card.stat-average .stat-value,.stat-card.stat-cancelled .stat-value,.stat-card.stat-completed .stat-value,.stat-card.stat-confirmed .stat-value,.stat-card.stat-delivered .stat-value,.stat-card.stat-new .stat-value,.stat-card.stat-pending .stat-value,.stat-card.stat-preparing .stat-value,.stat-card.stat-ready .stat-value,.stat-card.stat-revenue .stat-value,.stat-card.stat-today .stat-value,.stat-card.stat-unavailable .stat-value{color:var(--color-white);text-shadow:0 2px 10px #0003}.stat-value-large{color:var(--color-primary);font-size:4rem;font-weight:900;line-height:1.2;margin:var(--spacing-md) 0}.stat-label{color:var(--color-gray-600);font-size:.875rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.stat-card.stat-active .stat-label,.stat-card.stat-available .stat-label,.stat-card.stat-average .stat-label,.stat-card.stat-cancelled .stat-label,.stat-card.stat-completed .stat-label,.stat-card.stat-confirmed .stat-label,.stat-card.stat-delivered .stat-label,.stat-card.stat-new .stat-label,.stat-card.stat-pending .stat-label,.stat-card.stat-preparing .stat-label,.stat-card.stat-ready .stat-label,.stat-card.stat-revenue .stat-label,.stat-card.stat-today .stat-label,.stat-card.stat-unavailable .stat-label{color:#ffffffe6}.stat-subtitle{color:var(--color-gray-600);font-size:1.125rem;font-weight:500;margin-top:var(--spacing-sm)}.stat-card-large{background:var(--color-primary);border-radius:24px;box-shadow:var(--shadow-lg);color:var(--color-white);overflow:hidden;padding:var(--spacing-2xl);position:relative;text-align:center}.stat-card-large:before{animation:rotate 20s linear infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.stat-card-large h3{font-size:1.5rem;font-weight:700;margin:0 0 var(--spacing-md) 0;position:relative;z-index:1}.stat-card-large .stat-value-large{-webkit-text-fill-color:var(--color-white);color:var(--color-white);position:relative;text-shadow:0 4px 20px #0003;z-index:1}.stat-card-large .stat-subtitle{color:#ffffffe6;position:relative;z-index:1}.chart-container{border-top:2px solid #e0e7ff;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl)}.chart-container h3{align-items:center;color:var(--color-gray-800);display:flex;font-size:1.5rem;font-weight:700;gap:var(--spacing-sm);margin:0 0 var(--spacing-lg) 0}.chart-container h3:before{background:var(--color-primary);border-radius:2px;content:"";height:24px;width:4px}.bar-chart{align-items:flex-end;background:var(--color-gray-50);border-radius:20px;box-shadow:inset 0 2px 10px #0000000d;display:flex;gap:var(--spacing-xs);height:350px;overflow-x:auto;padding:var(--spacing-lg)}.bar-item{align-items:center;flex:1 1;flex-direction:column;min-width:50px}.bar-item,.bar-wrapper{display:flex;height:100%}.bar-wrapper{align-items:flex-end}.bar,.bar-wrapper{position:relative;width:100%}.bar{align-items:flex-start;background:linear-gradient(to top,var(--color-primary-dark) 0,var(--color-primary) 100%);border-radius:12px 12px 0 0;box-shadow:0 4px 15px #0066334d;display:flex;justify-content:center;min-height:30px;padding-top:var(--spacing-xs);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.bar:hover{box-shadow:0 8px 25px #0636;transform:scaleY(1.1)}.bar.bar-orders{background:linear-gradient(to top,var(--color-info) 0,var(--color-primary-light) 100%);box-shadow:0 4px 15px #17a2b84d}.bar.bar-reservations{background:linear-gradient(to top,var(--color-secondary-dark) 0,var(--color-secondary) 100%);box-shadow:0 4px 15px #ce11264d}.bar-value{color:var(--color-white);font-size:.75rem;font-weight:700;text-shadow:0 2px 5px #0000004d}.bar-label{color:var(--color-gray-600);font-size:.75rem;font-weight:600;margin-top:var(--spacing-xs);text-align:center}.products-list{flex-direction:column}.product-item,.products-list{display:flex;gap:var(--spacing-md)}.product-item{align-items:center;background:var(--color-gray-50);border:2px solid var(--color-border);border-radius:16px;padding:var(--spacing-lg);transition:all .3s ease-in-out}.product-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateX(8px)}.product-rank{color:var(--color-primary);font-size:2rem;font-weight:900;min-width:50px;text-align:center}.product-info{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.product-name{color:var(--color-gray-800);font-size:1.125rem;font-weight:700}.product-bar{background:var(--color-gray-200);border-radius:16px;box-shadow:inset 0 2px 5px #0000001a;height:32px;overflow:hidden;position:relative;width:100%}.product-bar-fill{align-items:center;background:linear-gradient(90deg,var(--color-primary-dark) 0,var(--color-primary) 100%);border-radius:16px;box-shadow:0 2px 10px #0636;display:flex;height:100%;padding:0 var(--spacing-md);transition:width .6s cubic-bezier(.175,.885,.32,1.275)}.product-quantity{color:var(--color-white);font-size:.875rem;font-weight:700;text-shadow:0 1px 3px #0000004d}.product-revenue{color:var(--color-primary);font-size:1.125rem;font-weight:700;min-width:120px;text-align:right}.category-list{flex-direction:column}.category-item,.category-list{display:flex;gap:var(--spacing-md)}.category-item{align-items:center;background:var(--color-gray-50);border:2px solid var(--color-border);border-radius:16px;padding:var(--spacing-lg);transition:all .3s ease-in-out}.category-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateX(8px)}.category-name{color:var(--color-gray-800);font-size:1.125rem;font-weight:700;min-width:180px}.category-bar{background:var(--color-gray-200);border-radius:16px;box-shadow:inset 0 2px 5px #0000001a;flex:1 1;height:32px;overflow:hidden;position:relative}.category-bar-fill{align-items:center;background:linear-gradient(90deg,var(--color-primary-light) 0,var(--color-primary) 100%);border-radius:16px;box-shadow:0 2px 10px #0636;display:flex;height:100%;padding:0 var(--spacing-md);transition:width .6s cubic-bezier(.175,.885,.32,1.275)}.category-count{color:var(--color-white);font-size:.875rem;font-weight:700;text-shadow:0 1px 3px #0000004d}.category-percentage{color:var(--color-gray-700);font-size:1.125rem;font-weight:700;min-width:70px;text-align:right}.btn{border:none;border-radius:12px;cursor:pointer;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:var(--spacing-md) var(--spacing-xl);text-transform:uppercase;transition:all .3s ease-in-out}.btn-primary{background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{background:var(--color-white);border:2px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-gray-700)}.btn-secondary:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-2px)}@media (max-width:768px){.statistics-container{padding:0 var(--spacing-md)}.statistics-header h1{font-size:2rem}.statistics-nav{gap:var(--spacing-sm);padding:var(--spacing-sm)}.nav-tab{min-width:100px;padding:var(--spacing-sm) var(--spacing-md)}.tab-icon{font-size:1.25rem}.tab-label{font-size:.75rem}.stats-cards,.stats-grid{grid-template-columns:repeat(2,1fr)}.date-filters{align-items:stretch;flex-direction:column}.bar-chart{height:250px}.bar-label{font-size:.625rem}.category-item,.product-item{align-items:stretch;flex-direction:column}.category-name,.product-rank{min-width:auto}.category-percentage,.product-revenue{text-align:left}}@media (max-width:480px){.statistics-page{padding:var(--spacing-md) 0}.statistics-header h1{font-size:1.75rem}.statistics-nav{flex-direction:column;gap:var(--spacing-xs)}.nav-tab{flex-direction:row;justify-content:flex-start;min-width:auto;padding:var(--spacing-md);width:100%}.tab-icon{font-size:1.5rem}.tab-label{font-size:.875rem}.stats-cards,.stats-grid{grid-template-columns:1fr}.stat-value-large{font-size:2.5rem}.stats-section{padding:var(--spacing-lg)}}.terrace-reservation-page{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.page-header{margin-bottom:var(--spacing-xl);text-align:center}.page-header h1{color:var(--color-primary);font-size:2.5rem;margin-bottom:var(--spacing-sm)}.page-header p{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-lg)}.instructions-box{background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);color:var(--color-white);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.instructions-box h3{color:var(--color-white);font-size:1.5rem;margin:0 0 var(--spacing-md) 0}.instructions-box ol{line-height:1.8;margin:0;padding-left:var(--spacing-lg)}.instructions-box li{font-size:1rem;margin-bottom:var(--spacing-sm)}.instructions-box strong{font-weight:700;text-decoration:underline}.not-authenticated{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin:var(--spacing-xl) 0;padding:var(--spacing-xl);text-align:center}.not-authenticated h2{color:var(--color-primary);margin-bottom:var(--spacing-md)}.not-authenticated p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.error-message{background:var(--color-error);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);text-align:center}.error-message,.error-message p{color:var(--color-white)!important}.error-message p{font-weight:600;margin:0}.error-message button{background:var(--color-white);border:none;border-radius:var(--border-radius-sm);color:var(--color-error);cursor:pointer;font-weight:600;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.reservation-sections{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-xl)}.section-header{align-items:center;border-bottom:2px solid var(--color-primary);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.section-header h2{color:var(--color-primary);font-size:1.5rem;margin:0}.date-selector{display:flex;flex-direction:column;gap:var(--spacing-xs)}.date-selector label{color:var(--color-text);font-size:.875rem;font-weight:600}.date-selector input{border:2px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:.875rem;padding:var(--spacing-sm)}.my-reservations{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.no-reservations{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.no-reservations .hint-text{color:var(--color-text-secondary);font-size:.9rem;font-style:italic;margin-top:var(--spacing-md)}.reservations-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.reservation-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);transition:all .3s ease}.reservation-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.reservation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.reservation-header h3{color:var(--color-primary);font-size:1.1rem;margin:0}.status-badge{border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.status-pending{background:#fef3c7;color:#d97706}.status-confirmed{background:var(--color-success);color:var(--color-white)}.status-cancelled{background:var(--color-error);color:var(--color-white)}.status-completed{background:var(--color-primary);color:var(--color-white)}.reservation-details{margin-bottom:var(--spacing-md)}.admin-notes,.guests-info,.requests-info,.time-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) 0}.admin-notes-label,.guests-label,.requests-label,.time-label{color:var(--color-text);font-size:.875rem;font-weight:600}.admin-notes-value,.guests-value,.requests-value,.time-value{word-wrap:break-word;color:var(--color-text-secondary);font-size:.875rem;max-width:200px;text-align:right}.admin-notes{background:#f0f9ff;border-left:3px solid var(--color-primary);border-radius:var(--border-radius-sm);padding:var(--spacing-sm)}.reservation-actions{display:flex;justify-content:flex-end}.availabilities{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.no-availabilities{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.availabilities-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.availability-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);transition:all .3s ease}.availability-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.availability-card.full{background:#fef2f2;border-color:var(--color-error);opacity:.6}.availability-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.availability-header h3{color:var(--color-primary);font-size:1.1rem;margin:0}.capacity-badge{background:var(--color-primary);border-radius:var(--border-radius-sm);color:var(--color-white);font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.availability-details{margin-bottom:var(--spacing-md)}.notes-info,.time-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) 0}.notes-label,.time-label{color:var(--color-text);font-size:.875rem;font-weight:600}.notes-value,.time-value{word-wrap:break-word;color:var(--color-text-secondary);font-size:.875rem;max-width:200px;text-align:right}.availability-actions{display:flex;justify-content:flex-end}.btn-disabled{background:var(--color-text-secondary);color:var(--color-white);cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{color:var(--color-primary);margin:0}.close-btn{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:1.5rem;padding:var(--spacing-xs);transition:all .2s ease}.close-btn:hover{background:var(--color-background);color:var(--color-text)}.modal-form{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.form-group label{color:var(--color-text);display:block;font-weight:600;margin-bottom:var(--spacing-xs)}.form-group input,.form-group textarea{border:2px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;padding:var(--spacing-sm);transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}@media (max-width:768px){.terrace-reservation-page{padding:var(--spacing-md)}.reservation-sections{gap:var(--spacing-lg);grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.date-selector{width:100%}.form-row{grid-template-columns:1fr}.modal{margin:var(--spacing-md);width:95%}.modal-actions{flex-direction:column}}@media (max-width:480px){.page-header h1{font-size:2rem}.availability-header,.reservation-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.admin-notes,.guests-info,.notes-info,.requests-info,.time-info{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.admin-notes-value,.guests-value,.notes-value,.requests-value,.time-value{text-align:left}}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;min-height:calc(100vh - 200px)}.loading-screen{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;min-height:100vh}.loading-screen p{color:var(--color-gray-600);font-size:1.125rem}.footer{background-color:var(--color-gray-800);color:var(--color-white);margin-top:auto;padding:var(--spacing-3xl) 0 var(--spacing-lg)}.footer-content{grid-gap:var(--spacing-2xl);display:grid;gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--spacing-2xl)}.footer-section h3{color:var(--color-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-md)}.footer-section h4{color:var(--color-white);font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-md)}.footer-section p{color:var(--color-gray-300);line-height:1.6;margin-bottom:var(--spacing-sm)}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:var(--spacing-sm)}.footer-section ul li a{color:var(--color-gray-300);text-decoration:none;transition:color .2s ease-in-out}.footer-section ul li a:hover{color:var(--color-primary)}.footer-bottom{border-top:1px solid var(--color-gray-700);padding-top:var(--spacing-lg);text-align:center}.footer-bottom p{color:var(--color-gray-400);font-size:.875rem}@media (max-width:768px){.footer-content{grid-template-columns:1fr;text-align:center}}
/*# sourceMappingURL=main.b9604db9.css.map*/