:root{--food-orange: #FF6B35;--food-orange-light: #FF8C5A;--food-orange-dark: #E55A2B;--food-red: #E63946;--food-red-light: #FF6B7A;--food-yellow: #FFB627;--food-yellow-light: #FFC947;--food-brown: #8B4513;--food-brown-light: #A0522D;--food-cream: #FFF8F0;--food-cream-dark: #FFF5E6;--food-green: #4A7C59;--food-green-dark: #2D5016;--food-white: #FFFFFF;--food-gray-light: #F5F5F5;--food-gray: #E0E0E0;--food-gray-dark: #757575;--food-text: #2C2C2C;--food-text-light: #666666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:var(--food-text);background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}a{font-weight:500;color:var(--food-orange);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--food-orange-dark)}body{margin:0;width:100%;min-width:320px;min-height:100vh;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%)}#root{width:100%;min-height:100vh}h1,h2,h3{font-weight:700;margin:0 0 1rem;color:var(--food-text)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}button{border-radius:12px;border:none;padding:.75em 1.5em;font-size:1em;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);will-change:transform,box-shadow;transform:translateZ(0);backface-visibility:hidden}button:hover{transform:translateY(-2px)}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:3px solid var(--food-orange-light);outline-offset:2px}.card{width:100%;max-width:480px;padding:40px;border-radius:24px;background:linear-gradient(145deg,var(--food-white),var(--food-cream));box-shadow:0 10px 40px #ff6b3526,0 4px 12px #00000014;color:var(--food-text);transition:transform var(--transition-normal),box-shadow var(--transition-normal);will-change:transform,box-shadow}.card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #ff6b3533,0 8px 16px #0000001a}input[type=text],input[type=email],input[type=password],input[type=url]{width:100%;padding:14px 16px;margin-top:8px;border-radius:12px;border:2px solid var(--food-gray);background-color:var(--food-white);color:var(--food-text);font-size:15px;transition:all var(--transition-fast);will-change:border-color,box-shadow}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=url]:focus{border-color:var(--food-orange);outline:none;background-color:var(--food-white);box-shadow:0 0 0 4px #ff6b351a}label{font-weight:600;font-size:14px;color:var(--food-text);display:block;margin-bottom:4px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--food-orange);cursor:pointer;transition:transform var(--transition-fast)}input[type=checkbox]:hover{transform:scale(1.1)}.card button.primary{flex:1;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);font-weight:600;font-size:16px;box-shadow:0 4px 16px #ff6b3566;padding:14px 24px}.card button.primary:hover{background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));box-shadow:0 6px 20px #ff6b3580}.card button.primary:disabled{background:var(--food-gray);cursor:not-allowed;transform:none;box-shadow:none}.card button.secondary{flex:1;border:2px solid var(--food-gray);background:var(--food-white);color:var(--food-text);padding:14px 24px}.card button.secondary:hover{background:var(--food-gray-light);border-color:var(--food-orange-light);color:var(--food-orange)}.form-group{margin-bottom:24px}.form-row{display:flex;align-items:center;gap:12px;margin-bottom:24px}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.auth-card{width:100%;max-width:450px;margin:60px auto;padding:48px 40px;border-radius:28px;background:linear-gradient(145deg,var(--food-white),var(--food-cream));box-shadow:0 12px 48px #ff6b3533,0 4px 16px #0000001a;color:var(--food-text);font-family:inherit;animation:fadeInScale .5s ease-out;border:1px solid rgba(255,107,53,.1)}.auth-card h2{text-align:center;margin-bottom:36px;font-weight:800;font-size:2.2rem;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.auth-card .form-group{margin-bottom:24px}.auth-card label{display:block;font-weight:600;font-size:14px;margin-bottom:8px;color:var(--food-text)}.auth-card input[type=email],.auth-card input[type=password]{width:100%;padding:14px 16px;border-radius:12px;border:2px solid var(--food-gray);background-color:var(--food-white);color:var(--food-text);font-size:15px;transition:all var(--transition-fast);will-change:border-color,box-shadow}.auth-card input[type=email]:focus,.auth-card input[type=password]:focus{border-color:var(--food-orange);outline:none;background-color:var(--food-white);box-shadow:0 0 0 4px #ff6b351a}.auth-card .button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.auth-card button{flex:1;padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);will-change:transform,box-shadow;transform:translateZ(0)}.auth-card button.primary{background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);border:none;box-shadow:0 4px 16px #ff6b3566}.auth-card button.primary:hover{background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));box-shadow:0 6px 20px #ff6b3580;transform:translateY(-2px)}.auth-card button.primary:disabled{background:var(--food-gray);cursor:not-allowed;transform:none;box-shadow:none}.auth-card button.secondary{background:var(--food-white);border:2px solid var(--food-gray);color:var(--food-text)}.auth-card button.secondary:hover{background:var(--food-gray-light);border-color:var(--food-orange-light);color:var(--food-orange);transform:translateY(-2px)}.auth-card .session-info{margin-top:24px;padding:16px;font-size:14px;color:var(--food-text-light);background:var(--food-gray-light);border-radius:12px;text-align:center;font-weight:500}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--food-white);border-top:2px solid rgba(255,107,53,.1);box-shadow:0 -4px 20px #00000014;padding:12px 20px;display:flex;justify-content:center;gap:24px;z-index:9999;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);width:100%}.bottom-nav a{padding:12px 24px;border-radius:12px;font-weight:600;color:var(--food-text);transition:all var(--transition-fast);position:relative;will-change:transform,background-color;transform:translateZ(0)}.bottom-nav a:hover{background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));color:var(--food-white);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b354d}.bottom-nav a:active{transform:translateY(0)}.account-page-wrapper{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);padding:40px 20px 120px;animation:fadeIn .4s ease-in-out;position:relative;overflow-x:hidden}.account-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);padding:20px}.account-card{background:linear-gradient(145deg,var(--food-white),var(--food-cream));border-radius:28px;box-shadow:0 12px 48px #ff6b3533,0 4px 16px #0000001a;padding:48px 40px;width:100%;max-width:500px;transition:transform var(--transition-normal),box-shadow var(--transition-normal);will-change:transform,box-shadow;border:1px solid rgba(255,107,53,.1);animation:fadeInScale .5s ease-out}.account-card:hover{transform:translateY(-4px);box-shadow:0 16px 56px #ff6b3540,0 8px 20px #0000001f}.account-title{text-align:center;margin-bottom:32px;color:var(--food-text);font-family:inherit;font-size:2.2rem;font-weight:800;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.account-field{display:flex;flex-direction:column;margin-bottom:24px}.account-field label{margin-bottom:8px;font-weight:600;color:var(--food-text);font-size:14px}.account-field input{padding:14px 16px;border:2px solid var(--food-gray);border-radius:12px;outline:none;font-size:15px;background:var(--food-white);color:var(--food-text);transition:all var(--transition-fast);will-change:border-color,box-shadow}.account-field input:focus{border-color:var(--food-orange);box-shadow:0 0 0 4px #ff6b351a}.account-field input:disabled{background:var(--food-gray-light);cursor:not-allowed}.account-checkbox{display:flex;align-items:center;gap:12px;margin-bottom:32px;font-weight:600;color:var(--food-text);font-size:15px}.account-buttons{display:flex;gap:12px;flex-wrap:wrap}.account-buttons button{flex:1;padding:14px 24px;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);will-change:transform,box-shadow;font-size:16px}.account-buttons button:disabled{background:var(--food-gray);cursor:not-allowed;transform:none}.account-buttons button:first-child{background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);box-shadow:0 4px 16px #ff6b3566}.account-buttons button:first-child:hover:not(:disabled){background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));box-shadow:0 6px 20px #ff6b3580;transform:translateY(-2px)}.account-buttons button:last-child{background:var(--food-white);border:2px solid var(--food-gray);color:var(--food-text)}.account-buttons button:last-child:hover{background:var(--food-gray-light);border-color:var(--food-orange-light);color:var(--food-orange);transform:translateY(-2px)}.account-card>div:last-child{margin-top:24px;text-align:center}.account-card>div:last-child a{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,var(--food-green),var(--food-green-dark));color:var(--food-white);border-radius:12px;font-weight:600;transition:all var(--transition-fast);box-shadow:0 4px 12px #4a7c594d}.account-card>div:last-child a:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4a7c5966}.restaurant-page{min-height:100vh;padding:2rem;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);font-family:inherit;animation:fadeIn .4s ease-in-out}.restaurant-page h2{font-size:2.5rem;font-weight:800;color:var(--food-text);margin-bottom:2rem;text-align:center;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;animation:slideUp .6s ease-out}.restaurant-card{display:block;border-radius:24px;overflow:hidden;background-color:var(--food-white);box-shadow:0 8px 24px #ff6b3526,0 4px 12px #00000014;transition:all var(--transition-normal);cursor:pointer;will-change:transform,box-shadow;transform:translateZ(0);backface-visibility:hidden;border:1px solid rgba(255,107,53,.1)}.restaurant-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 16px 40px #ff6b354d,0 8px 20px #0000001f}.restaurant-card img{width:100%;height:220px;object-fit:cover;display:block;transition:transform var(--transition-slow);will-change:transform}.restaurant-card:hover img{transform:scale(1.1)}.restaurant-card .no-image{width:100%;height:220px;background:linear-gradient(135deg,var(--food-gray-light),var(--food-gray));display:flex;align-items:center;justify-content:center;color:var(--food-text-light);font-size:14px;font-weight:500}.restaurant-card .card-content{padding:20px;background:linear-gradient(to bottom,var(--food-white),var(--food-cream))}.restaurant-card h3{font-size:1.3rem;font-weight:700;color:var(--food-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.restaurant-page .loading{text-align:center;font-size:1.1rem;color:var(--food-text-light);margin-top:3rem;font-weight:500}.food-item-card-wrapper{padding:0 8px}.food-item-loading{text-align:center;font-size:16px;color:var(--food-text-light);margin:40px 0;font-weight:500}.food-item-card{background:var(--food-white);border-radius:20px;overflow:hidden;box-shadow:0 6px 20px #ff6b351f,0 2px 8px #0000000f;transition:all var(--transition-normal);cursor:pointer;display:flex;flex-direction:column;will-change:transform,box-shadow;transform:translateZ(0);backface-visibility:hidden;border:1px solid rgba(255,107,53,.1)}.food-item-info{padding:20px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(to bottom,var(--food-white),var(--food-cream))}.food-item-info h3{font-size:1.25rem;font-weight:700;margin:0;color:var(--food-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}.food-item-info p.description{font-size:.95rem;color:var(--food-text-light);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.food-item-info p.cost{font-size:1.5rem;font-weight:700;color:var(--food-orange);margin:4px 0 0}.food-item-info a{margin-top:12px;padding:12px 20px;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));border-radius:12px;color:var(--food-white);font-weight:600;text-align:center;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px #ff6b354d;display:inline-block;will-change:transform,box-shadow}.food-item-info a:hover{background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));box-shadow:0 6px 16px #ff6b3566;transform:translateY(-2px)}.menu-container{display:inline-grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;width:100%;padding:0}.menu-container h1{font-size:2rem;font-weight:700;color:var(--food-text);margin-bottom:1.5rem;grid-column:1 / -1}.menu-wrapper{display:flex;justify-content:center;width:100%;padding:0;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.restaurant-page{min-height:100vh;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);font-family:inherit;animation:fadeIn .4s ease-in-out}.restaurant-hero{position:relative;width:100%;height:400px;overflow:hidden;border-bottom-left-radius:32px;border-bottom-right-radius:32px;box-shadow:0 8px 32px #00000026}.restaurant-hero img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.9) saturate(1.1);transition:transform var(--transition-slow);will-change:transform}.restaurant-hero:hover img{transform:scale(1.05)}.restaurant-hero .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:40px 32px}.restaurant-hero h1{color:var(--food-white);font-size:3rem;font-weight:800;margin-bottom:8px;text-shadow:0 4px 12px rgba(0,0,0,.5);letter-spacing:-.02em}.restaurant-hero p{color:#fffffff2;font-size:1.2rem;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.4)}.restaurant-content{max-width:1400px;margin:0 auto;padding:3rem 2rem}.restaurant-content h2{font-size:2.5rem;font-weight:800;margin-bottom:2rem;color:var(--food-text);background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;animation:slideUp .6s ease-out}.restaurant-page>a[href="/cart"]{position:fixed;top:20px;right:20px;z-index:100;padding:12px 24px;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);border-radius:50px;font-weight:600;box-shadow:0 4px 16px #ff6b3566;transition:all var(--transition-fast);will-change:transform,box-shadow}.restaurant-page>a[href="/cart"]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3580}.restaurant-item-page{min-height:100vh;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);padding:2rem;padding-bottom:120px;animation:fadeIn .4s ease-in-out;position:relative}.cart-button-top{position:fixed;top:20px;right:20px;z-index:100;padding:12px 24px;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);border-radius:50px;font-weight:600;font-size:1rem;box-shadow:0 4px 16px #ff6b3566;transition:all var(--transition-fast);will-change:transform,box-shadow;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.cart-button-top:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3580;background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange))}.restaurant-item-page>a{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;padding:10px 20px;background:var(--food-gray-light);border-radius:12px;color:var(--food-text);font-weight:600;transition:all var(--transition-fast);will-change:transform}.restaurant-item-page>a:hover{background:var(--food-orange);color:var(--food-white);transform:translate(-4px)}.restaurant-item-card{max-width:600px;margin:0 auto;background:linear-gradient(145deg,var(--food-white),var(--food-cream));border-radius:28px;box-shadow:0 12px 48px #ff6b3533,0 4px 16px #0000001a;overflow:hidden;border:1px solid rgba(255,107,53,.1);animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.restaurant-item-card img{width:100%;height:400px;object-fit:cover;display:block;transition:transform var(--transition-slow);will-change:transform}.restaurant-item-card:hover img{transform:scale(1.05)}.restaurant-item-content{padding:32px;display:flex;flex-direction:column;gap:20px}.restaurant-item-content h2{font-size:2.5rem;font-weight:800;color:var(--food-text);margin:0;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.restaurant-item-content p.description{font-size:1.1rem;color:var(--food-text-light);line-height:1.6;margin:0}.restaurant-item-content p.price{font-size:2rem;font-weight:800;color:var(--food-orange);margin:0}.quantity-selector{display:flex;align-items:center;gap:20px;padding:16px;background:var(--food-gray-light);border-radius:16px;justify-content:center}.quantity-selector button{width:48px;height:48px;border-radius:12px;background:var(--food-white);border:2px solid var(--food-gray);font-size:1.5rem;font-weight:700;color:var(--food-text);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);will-change:transform,background-color}.quantity-selector button:hover{background:var(--food-orange);border-color:var(--food-orange);color:var(--food-white);transform:scale(1.1)}.quantity-selector button:active{transform:scale(.95)}.quantity-selector span{font-size:1.5rem;font-weight:700;color:var(--food-text);min-width:40px;text-align:center}.add-to-cart-button{width:100%;padding:18px 24px;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);border:none;border-radius:16px;font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #ff6b3566;transition:all var(--transition-fast);will-change:transform,box-shadow;margin-top:8px}.add-to-cart-button:hover{background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));box-shadow:0 8px 24px #ff6b3580;transform:translateY(-2px)}.add-to-cart-button:active{transform:translateY(0)}.loading-item{text-align:center;padding:60px 20px;font-size:1.2rem;color:var(--food-text-light);font-weight:500}.cart-page{max-width:700px;margin:40px auto 120px;padding:32px;background:linear-gradient(145deg,var(--food-white),var(--food-cream));border-radius:24px;box-shadow:0 10px 40px #ff6b3526,0 4px 12px #00000014;animation:fadeIn .4s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cart-page>a{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;padding:10px 20px;background:var(--food-gray-light);border-radius:12px;color:var(--food-text);font-weight:600;transition:all var(--transition-fast);will-change:transform}.cart-page>a:hover{background:var(--food-orange);color:var(--food-white);transform:translate(-4px)}.cart-page h2{font-size:2.5rem;font-weight:800;margin-bottom:32px;color:var(--food-text);background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.cart-page>p{text-align:center;font-size:1.2rem;color:var(--food-text-light);padding:60px 20px;font-weight:500}.cart-items{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--food-white);border-radius:16px;box-shadow:0 2px 8px #0000000d;transition:all var(--transition-fast);border:1px solid rgba(255,107,53,.1);animation:slideIn .3s ease-out;animation-fill-mode:both}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.cart-item:nth-child(1){animation-delay:.05s}.cart-item:nth-child(2){animation-delay:.1s}.cart-item:nth-child(3){animation-delay:.15s}.cart-item:nth-child(4){animation-delay:.2s}.cart-item:nth-child(5){animation-delay:.25s}.cart-item:hover{transform:translate(4px);box-shadow:0 4px 12px #ff6b3526}.cart-item-name{font-size:1.1rem;font-weight:600;color:var(--food-text);flex:1}.cart-item-price{font-size:1.2rem;font-weight:700;color:var(--food-orange)}.cart-summary{margin-top:32px;padding:24px;background:linear-gradient(135deg,var(--food-white),var(--food-cream));border-radius:16px;border:2px solid rgba(255,107,53,.2)}.cart-summary-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 0;border-bottom:1px solid var(--food-gray);font-size:1.1rem}.cart-summary-row.points-discount{background:#ff6b351a;border-radius:8px;padding:12px 16px;margin:8px 0;border-bottom:none}.cart-summary-row.points-discount .cart-summary-label{color:var(--food-orange);font-size:.95rem}.cart-summary-row.points-discount .cart-summary-value.discount{color:var(--food-green);font-weight:700}.cart-summary-row.total-row{border-bottom:none;margin-top:16px;padding-top:16px;border-top:2px solid rgba(255,107,53,.2);font-size:1.3rem;font-weight:700}.cart-summary-row.total-row .cart-summary-label{color:var(--food-text);font-size:1.3rem}.cart-summary-row.total-row .cart-summary-value.total{color:var(--food-orange);font-size:1.8rem}.cart-summary-label{font-weight:600;color:var(--food-text)}.cart-summary-value{font-weight:700;color:var(--food-text)}.points-info{margin-top:16px;padding:12px;background:#ff6b350d;border-radius:8px;text-align:center;border:1px solid rgba(255,107,53,.1)}.points-info small{font-size:.9rem;color:var(--food-text-light);font-weight:500}.cart-loading{margin-top:16px;font-size:14px;color:var(--food-text-light);text-align:center;font-weight:500}.checkout-button{width:100%;margin-top:24px;padding:18px 24px;background:linear-gradient(135deg,var(--food-green),var(--food-green-dark));color:var(--food-white);border:none;border-radius:16px;font-size:1.3rem;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #4a7c5966;transition:all var(--transition-fast);will-change:transform,box-shadow}.checkout-button:hover:not(:disabled){background:linear-gradient(135deg,var(--food-green-dark),var(--food-green));box-shadow:0 8px 24px #4a7c5980;transform:translateY(-2px)}.checkout-button:active:not(:disabled){transform:translateY(0)}.checkout-button:disabled{background:var(--food-gray);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.restaurant-form{display:grid;gap:20px;max-width:500px;padding:32px;background:linear-gradient(145deg,var(--food-white),var(--food-cream));border-radius:24px;box-shadow:0 8px 24px #ff6b3526,0 4px 12px #00000014;border:1px solid rgba(255,107,53,.1);animation:fadeInScale .5s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.restaurant-form label{display:flex;flex-direction:column;gap:8px;font-weight:600;color:var(--food-text);font-size:14px}.restaurant-form input{padding:14px 16px;border:2px solid var(--food-gray);border-radius:12px;outline:none;font-size:15px;background:var(--food-white);color:var(--food-text);transition:all var(--transition-fast);will-change:border-color,box-shadow;font-family:inherit}.restaurant-form input:focus{border-color:var(--food-orange);box-shadow:0 0 0 4px #ff6b351a}.restaurant-form button{padding:16px 24px;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #ff6b3566;transition:all var(--transition-fast);will-change:transform,box-shadow;margin-top:8px}.restaurant-form button:hover:not(:disabled){background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));box-shadow:0 6px 20px #ff6b3580;transform:translateY(-2px)}.restaurant-form button:disabled{background:var(--food-gray);cursor:not-allowed;transform:none;box-shadow:none}.restaurant-form button:active:not(:disabled){transform:translateY(0)}.user-restaurants-page{min-height:100vh;padding:2rem;padding-bottom:120px;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);animation:fadeIn .4s ease-in-out}.user-restaurants-page h2{font-size:2.5rem;font-weight:800;color:var(--food-text);margin-bottom:2rem;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.user-restaurants-page>p{text-align:center;font-size:1.2rem;color:var(--food-text-light);padding:60px 20px;font-weight:500}.restaurants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-bottom:3rem;animation:slideUp .6s ease-out}.restaurant-card-item{background:linear-gradient(145deg,var(--food-white),var(--food-cream));border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 24px #ff6b3526,0 4px 12px #00000014;transition:all var(--transition-normal);will-change:transform,box-shadow;border:1px solid rgba(255,107,53,.1);animation:fadeInScale .4s ease-out;animation-fill-mode:both}.restaurant-card-item:nth-child(1){animation-delay:.05s}.restaurant-card-item:nth-child(2){animation-delay:.1s}.restaurant-card-item:nth-child(3){animation-delay:.15s}.restaurant-card-item:nth-child(4){animation-delay:.2s}.restaurant-card-item:nth-child(5){animation-delay:.25s}.restaurant-card-item:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px #ff6b3540,0 8px 20px #0000001f}.restaurant-card-item img{width:100%;height:200px;object-fit:cover;border-radius:16px;display:block;transition:transform var(--transition-slow);will-change:transform}.restaurant-card-item:hover img{transform:scale(1.05)}.restaurant-card-item .no-photo{width:100%;height:200px;border-radius:16px;background:linear-gradient(135deg,var(--food-gray-light),var(--food-gray));display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--food-text-light);font-weight:500}.restaurant-card-item h3{font-size:1.3rem;font-weight:700;margin:0;color:var(--food-text);letter-spacing:-.01em}.restaurant-card-item p{margin:0;color:var(--food-text-light);font-size:.95rem}.restaurant-card-item small{color:var(--food-text-light);font-size:.85rem;opacity:.7}.manage-food-items-btn{display:inline-block;margin-top:12px;padding:12px 24px;background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));color:var(--food-white);border-radius:12px;font-weight:600;text-align:center;text-decoration:none;transition:all var(--transition-fast);box-shadow:0 4px 12px #ff6b354d;will-change:transform,box-shadow;width:100%}.manage-food-items-btn:hover{background:linear-gradient(135deg,var(--food-orange-light),var(--food-orange));box-shadow:0 6px 16px #ff6b3566;transform:translateY(-2px)}.loading-restaurants,.error-restaurants{text-align:center;padding:60px 20px;font-size:1.2rem;color:var(--food-text-light);font-weight:500}.error-restaurants{color:var(--food-red)}.restaurant-food-items-page{min-height:100vh;padding:2rem;padding-bottom:120px;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);animation:fadeIn .4s ease-in-out;max-width:1400px;margin:0 auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;padding:10px 20px;background:var(--food-gray-light);border-radius:12px;color:var(--food-text);font-weight:600;transition:all var(--transition-fast);will-change:transform;text-decoration:none}.back-link:hover{background:var(--food-orange);color:var(--food-white);transform:translate(-4px)}.restaurant-food-items-page h2{font-size:2.5rem;font-weight:800;margin-bottom:8px;color:var(--food-text);background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.restaurant-address{font-size:1.1rem;color:var(--food-text-light);margin-bottom:32px;font-weight:500}.food-items-section{margin-bottom:48px}.food-items-section h3{font-size:2rem;font-weight:700;margin-bottom:24px;color:var(--food-text)}.no-items{text-align:center;padding:40px 20px;font-size:1.1rem;color:var(--food-text-light);background:var(--food-white);border-radius:16px;border:2px dashed var(--food-gray)}.food-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.food-item-card{background:linear-gradient(145deg,var(--food-white),var(--food-cream));border-radius:20px;overflow:hidden;box-shadow:0 6px 20px #ff6b351f,0 2px 8px #0000000f;transition:all var(--transition-normal);will-change:transform,box-shadow;transform:translateZ(0);backface-visibility:hidden;border:1px solid rgba(255,107,53,.1);animation:fadeInScale .4s ease-out;animation-fill-mode:both}.food-item-card:nth-child(1){animation-delay:.05s}.food-item-card:nth-child(2){animation-delay:.1s}.food-item-card:nth-child(3){animation-delay:.15s}.food-item-card:nth-child(4){animation-delay:.2s}.food-item-card:nth-child(5){animation-delay:.25s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.food-item-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 32px #ff6b3540,0 6px 16px #0000001a}.food-item-card img{width:100%;height:200px;object-fit:cover;display:block;transition:transform var(--transition-slow);will-change:transform}.food-item-card:hover img{transform:scale(1.1)}.food-item-card .no-photo{width:100%;height:200px;background:linear-gradient(135deg,var(--food-gray-light),var(--food-gray));display:flex;align-items:center;justify-content:center;color:var(--food-text-light);font-size:14px;font-weight:500}.food-item-info{padding:20px;display:flex;flex-direction:column;gap:8px}.food-item-info h4{font-size:1.25rem;font-weight:700;margin:0;color:var(--food-text);letter-spacing:-.02em}.food-item-info .description{font-size:.95rem;color:var(--food-text-light);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.food-item-info .cost{font-size:1.5rem;font-weight:700;color:var(--food-orange);margin:4px 0 0}.add-item-section{margin-top:48px;padding:32px;background:linear-gradient(145deg,var(--food-white),var(--food-cream));border-radius:24px;box-shadow:0 8px 24px #ff6b3526,0 4px 12px #00000014;border:1px solid rgba(255,107,53,.1)}.add-item-section h3{font-size:2rem;font-weight:700;margin-bottom:24px;color:var(--food-text);background:linear-gradient(135deg,var(--food-orange),var(--food-orange-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.loading-food-items,.error-food-items{text-align:center;padding:60px 20px;font-size:1.2rem;color:var(--food-text-light);font-weight:500;min-height:100vh;display:flex;align-items:center;justify-content:center}.error-food-items{color:var(--food-red)}.app-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--food-cream) 0%,var(--food-cream-dark) 100%);font-size:1.2rem;color:var(--food-text-light);font-weight:500;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
