.toast{position:fixed;top:100px;right:20px;background:#fff;padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:16px;z-index:1000;animation:slideIn .3s ease;min-width:300px;max-width:400px}.toast-success{border-left:4px solid var(--success-color)}.toast-error{border-left:4px solid var(--error-color)}.toast-info{border-left:4px solid var(--primary-color)}.toast-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-left:auto}.toast-close:hover{color:var(--dark-color)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.toast{right:10px;left:10px;min-width:auto;max-width:none}}.notification-bell-container{position:relative;display:inline-block}.notification-bell-btn{background:transparent;border:none;font-size:24px;cursor:pointer;position:relative;padding:8px;border-radius:50%;transition:background .3s}.notification-bell-btn:hover{background:#0000000d}.notification-badge{position:absolute;top:0;right:0;background:var(--primary-color);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid white}.notification-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:350px;max-height:500px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.notification-header{padding:16px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background:#f9f9f9}.notification-header h3{margin:0;font-size:18px;color:var(--dark-color)}.mark-all-read-btn{background:transparent;border:none;color:var(--primary-color);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .3s}.mark-all-read-btn:hover{background:#ff6b351a}.notification-list{overflow-y:auto;max-height:400px}.notification-item{padding:12px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;transition:all .2s;position:relative}.notification-item:hover{background:#f9f9f9;transform:translate(4px)}.notification-item:hover{background:#f9f9f9}.notification-item.unread{background:#f0f8ff;border-left:3px solid var(--primary-color)}.notification-item.read{opacity:.7}.notification-icon{font-size:24px;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;color:var(--dark-color);margin-bottom:4px;font-size:14px}.notification-message{color:#666;font-size:13px;margin-bottom:4px;line-height:1.4}.notification-time{color:#999;font-size:11px}.unread-dot{width:8px;height:8px;background:var(--primary-color);border-radius:50%;flex-shrink:0;margin-top:8px}.no-notifications{padding:40px 20px;text-align:center;color:#999}.notification-footer{padding:12px;text-align:center;border-top:1px solid #eee;background:#f9f9f9;font-size:12px;color:#666}@media (max-width: 768px){.notification-dropdown{width:300px;right:-50px}}.header{background:linear-gradient(135deg,#ff6b35,#f7b801);color:#fff;padding:20px 0;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;color:#fff;display:flex;align-items:center}.logo-image{height:150px;width:auto;object-fit:contain}@media (max-width: 768px){.logo-image{height:120px}}.logo-text{font-size:24px;font-weight:700;letter-spacing:2px}.nav{display:flex;gap:24px;align-items:center}.nav-link{color:#fff;text-decoration:none;font-weight:500;transition:opacity .3s ease;position:relative}.nav-link:hover{opacity:.8}.btn-register{background-color:#fff3;padding:8px 16px;border-radius:8px}.btn-register:hover{background-color:#ffffff4d}.user-menu{display:flex;align-items:center;gap:12px}.user-name{font-size:14px;opacity:.9}.logout-btn{background:#fff3;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s ease}.logout-btn:hover{background:#ffffff4d}.cart-link{display:flex;align-items:center;gap:8px}.cart-badge{background-color:#fff;color:#ff6b35;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}@media (max-width: 768px){.header-container{flex-direction:column;gap:16px}.nav{flex-wrap:wrap;justify-content:center;gap:16px}.logo-image{height:100px}.logo-text{font-size:20px}}.home{padding:20px 0}.hero{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#ff6b35,#f7b801);border-radius:16px;color:#fff;margin-bottom:40px}.hero h1{font-size:48px;margin-bottom:16px}.hero p{font-size:20px;margin-bottom:24px;opacity:.9}.dishes-section{margin-bottom:60px}.dishes-section h2{font-size:32px;margin-bottom:20px;color:var(--dark-color)}.dishes-count{margin-bottom:16px;font-size:14px;color:#666}.load-more-wrap{text-align:center;margin-top:28px;margin-bottom:16px}.load-more-btn{padding:12px 24px;min-width:180px}.load-more-btn:disabled{opacity:.7;cursor:not-allowed}.dishes-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:12px}.dishes-filters .search-input{flex:1;min-width:180px;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:1rem}.dishes-filters .filter-select{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:1rem;background:#fff}.dishes-filters .radius-select{min-width:90px}.dishes-filters .proximity-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.dishes-filters .page-size-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333}.dishes-filters .page-size-select{min-width:100px}.dishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.dish-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.dish-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.dish-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.dish-info{padding:16px;flex:1;display:flex;flex-direction:column}.dish-info h3{font-size:18px;margin-bottom:6px;color:var(--dark-color)}.dish-description{color:#666;font-size:14px;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dish-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px}.dish-price{color:var(--primary-color);font-weight:700}.dish-cuisine{background:#f0f0f0;padding:4px 8px;border-radius:6px;font-size:12px;color:#555}.dish-restaurant{color:#666;font-size:13px}.dish-distance{display:block;margin-top:4px;font-size:12px;color:var(--accent-color);font-weight:600}.no-results{text-align:center;padding:40px 20px;color:#666}.no-results-hint{font-size:14px;margin-top:8px;opacity:.9}.no-results .btn-primary{display:inline-block;margin-top:16px}.no-results-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.features{margin-top:60px}.features h2{text-align:center;font-size:32px;margin-bottom:40px;color:var(--dark-color)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.feature-card{background:#fff;padding:32px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000001a}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h3{font-size:20px;margin-bottom:12px;color:var(--dark-color)}.feature-card p{color:#666;line-height:1.6}@media (max-width: 768px){.hero h1{font-size:32px}.hero p{font-size:18px}.dishes-filters{flex-direction:column;align-items:stretch}.dishes-filters .search-input{min-width:0}.dishes-grid,.features-grid{grid-template-columns:1fr}}.restaurants-page{padding:20px 0}.restaurants-page h1{font-size:36px;margin-bottom:32px;color:var(--dark-color)}.filters{display:flex;gap:16px;margin-bottom:32px;flex-wrap:wrap}.search-input,.city-select,.cuisine-select{flex:1;min-width:200px;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px}.proximity-filter{display:flex;align-items:center;padding:12px;border:2px solid #ddd;border-radius:8px;background:#fff;min-width:200px}.proximity-filter label{white-space:nowrap}.restaurants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.restaurant-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column}.restaurant-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.restaurant-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.restaurant-info{padding:20px;flex:1;display:flex;flex-direction:column}.restaurant-info h3{font-size:20px;margin-bottom:8px;color:var(--dark-color)}.restaurant-description{color:#666;margin-bottom:12px;flex:1}.restaurant-details{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:14px}.rating{color:var(--accent-color);font-weight:600}.delivery-fee,.minimum-order{color:#666}.city{color:var(--primary-color);font-weight:600;font-size:14px;margin-top:8px}.no-results{text-align:center;padding:60px;color:#666}@media (max-width: 768px){.restaurants-grid{grid-template-columns:1fr}.filters{flex-direction:column}.search-input,.city-select,.cuisine-select{width:100%}.proximity-filter{width:100%;flex-direction:column;align-items:flex-start}}.tracking-map-container{position:relative;width:100%}.tracking-map-container :global(.leaflet-container){width:100%;height:100%;border-radius:8px}.tracking-map-container :global(.leaflet-popup-content-wrapper){border-radius:6px}.tracking-map-container :global(.custom-marker){background:transparent;border:none;text-align:center;line-height:30px;font-size:30px;display:flex;align-items:center;justify-content:center}.tracking-map-container :global(.custom-marker div){font-size:30px;line-height:30px;text-align:center;display:block}.tracking-map-loading,.tracking-map-error{width:100%}.location-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.location-modal{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.location-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border-radius:12px 12px 0 0}.location-modal-header h2{margin:0;font-size:24px;font-weight:600}.close-btn{background:#fff3;border:none;color:#fff;font-size:28px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-btn:hover{background:#ffffff4d}.location-modal-content{padding:24px}.location-info-section{margin-bottom:20px;padding:16px;background:#f9f9f9;border-radius:8px;border-left:4px solid #FF6B35}.location-info-section p{margin:8px 0;font-size:14px;line-height:1.6}.location-address{font-size:16px!important;color:#333}.location-coordinates{color:#666;font-family:monospace}.location-distance{color:#ff6b35;font-weight:600;font-size:16px!important}.location-error{color:#e74c3c;font-size:14px}.location-loading{color:#666;font-style:italic}.location-map-container{margin:20px 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.location-legend{display:flex;gap:20px;margin-top:12px;padding:12px;background:#f9f9f9;border-radius:6px;justify-content:center}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.legend-icon{font-size:18px}.location-no-coordinates{padding:40px;text-align:center;color:#666;background:#f9f9f9;border-radius:8px}.location-modal-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid #eee}.btn-primary{background:#ff6b35;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#f7931e}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#5a6268}@media (max-width: 768px){.location-modal{max-width:95%;max-height:95vh}.location-modal-header h2{font-size:20px}.location-modal-actions{flex-direction:column;gap:10px}.location-modal-actions button,.location-modal-actions a{width:100%;text-align:center}}.restaurant-detail{padding:20px 0}.back-button{background:#f0f0f0;color:var(--dark-color);margin-bottom:24px;padding:8px 16px}.back-button:hover{background:#e0e0e0}.restaurant-header{background:#fff;border-radius:12px;margin-bottom:32px;box-shadow:0 2px 8px #0000001a;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:0}.restaurant-header-image{width:100%;height:100%;min-height:280px;aspect-ratio:4 / 3;overflow:hidden}.restaurant-header-image img{width:100%;height:100%;object-fit:cover}.restaurant-header-info{padding:32px;display:flex;flex-direction:column;justify-content:center}.restaurant-header h1{font-size:32px;margin-bottom:12px;color:var(--dark-color)}.restaurant-description{color:#666;margin-bottom:20px;font-size:18px}.restaurant-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.restaurant-info p{color:#666;font-size:14px}.restaurant-content{display:grid;grid-template-columns:1fr 350px;gap:32px}.dishes-section h2{font-size:24px;margin-bottom:24px;color:var(--dark-color)}.dishes-grid{display:grid;gap:16px}.dish-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.dish-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.dish-card-highlight{animation:dish-highlight 2.5s ease-out;box-shadow:0 0 0 3px var(--primary-color, #FF6B35)}@keyframes dish-highlight{0%{box-shadow:0 0 0 4px var(--primary-color, #FF6B35)}70%{box-shadow:0 0 0 4px var(--primary-color, #FF6B35)}to{box-shadow:0 2px 8px #0000001a}}.dish-image{width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#f0f0f0}.dish-image img{width:100%;height:100%;object-fit:cover}.dish-card .dish-info{padding:20px;flex:1;display:flex;flex-direction:column}.dish-card .dish-meta{margin-top:auto;padding-top:12px}.dish-info{flex:1}.dish-info h3{font-size:18px;margin-bottom:8px;color:var(--dark-color)}.dish-description{color:#666;margin-bottom:12px;font-size:14px}.dish-meta{display:flex;gap:16px;align-items:center}.dish-price{font-size:20px;font-weight:700;color:var(--primary-color)}.prep-time{color:#666;font-size:14px}.add-to-cart-btn{margin:0 20px 20px;padding:12px;width:calc(100% - 40px)}.dish-in-cart-badge{position:absolute;top:8px;right:8px;background:var(--success-color);color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600}.dish-image{position:relative}.dish-quantity-controls{margin:0 20px 20px;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;background:#f0f0f0;border-radius:8px}.quantity-btn-small{width:32px;height:32px;padding:0;border-radius:50%;background:#fff;color:var(--dark-color);display:flex;align-items:center;justify-content:center;font-size:18px;border:2px solid #ddd;cursor:pointer;transition:all .3s ease}.quantity-btn-small:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.quantity-display{font-weight:600;min-width:30px;text-align:center;font-size:16px}.cart-sidebar{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto}.cart-sidebar h3{font-size:20px;margin-bottom:20px;color:var(--dark-color)}.cart-items{margin-bottom:20px}.cart-item{padding:12px 0;border-bottom:1px solid #eee}.cart-item-info{display:flex;justify-content:space-between;margin-bottom:8px}.cart-item-name{font-weight:600;color:var(--dark-color)}.cart-item-price{color:var(--primary-color);font-weight:600}.cart-item-controls{display:flex;align-items:center;gap:12px}.quantity-btn{width:32px;height:32px;padding:0;border-radius:50%;background:#f0f0f0;color:var(--dark-color);display:flex;align-items:center;justify-content:center}.quantity{font-weight:600;min-width:30px;text-align:center}.cart-total{padding:20px 0;border-top:2px solid #eee;border-bottom:2px solid #eee;margin-bottom:20px}.cart-total p{display:flex;justify-content:space-between;margin-bottom:8px;color:#666}.total-amount{font-size:20px;font-weight:700;color:var(--dark-color);margin-top:12px}.checkout-btn{width:100%;padding:16px;font-size:18px}.loading,.error{text-align:center;padding:60px;font-size:20px}.error{color:var(--error-color)}.reviews-section{margin-top:48px;padding-top:32px;border-top:2px solid #eee}.reviews-list{display:flex;flex-direction:column;gap:16px}.review-card{background:#f9f9f9;padding:20px;border-radius:8px;border-left:4px solid var(--primary-color)}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:12px}.review-header strong{display:block;color:var(--dark-color);margin-bottom:4px}.review-date{font-size:12px;color:#999}.review-ratings{display:flex;gap:16px;font-size:14px;color:#666}.review-comment{color:#555;line-height:1.6;margin-top:12px;font-style:italic}.reviews-preview{margin-top:16px}@media (max-width: 968px){.restaurant-header{grid-template-columns:1fr}.restaurant-header-image{min-height:200px}.restaurant-content{grid-template-columns:1fr}.cart-sidebar{position:relative;top:0;max-height:none}.review-header{flex-direction:column}.review-ratings{flex-direction:column;gap:8px}}.supplements-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.supplements-modal{background:#fff;border-radius:16px;max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.supplements-modal h2{margin:0;padding:20px 20px 8px;font-size:20px;color:var(--dark-color)}.supplements-modal-hint{margin:0 20px 16px;font-size:14px;color:#666}.supplements-modal-no{margin:0 20px 20px;font-size:14px;color:#666}.supplements-modal-list{overflow-y:auto;padding:0 20px 16px;flex:1}.supplements-modal-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.supplements-modal-row:last-child{border-bottom:none}.supplements-modal-name{flex:1;font-weight:600;color:var(--dark-color)}.supplements-modal-price{font-size:14px;color:#666}.supplements-modal-qty{display:flex;align-items:center;gap:8px}.supplements-modal-qty button{width:32px;height:32px;border-radius:8px;background:#f0f0f0;border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}.supplements-modal-qty button:hover{background:#e0e0e0}.supplements-modal-qty span{min-width:24px;text-align:center;font-weight:600}.supplements-modal-actions{display:flex;flex-wrap:wrap;gap:10px;padding:16px 20px 20px;border-top:2px solid #eee}.supplements-modal-actions .btn-primary{flex:1;min-width:140px}.supplements-modal-actions .btn-secondary{min-width:100px}.dish-detail-page{padding:20px 0;max-width:900px;margin:0 auto}.dish-detail-page .back-button{background:#f0f0f0;color:var(--dark-color);margin-bottom:24px;padding:8px 16px}.dish-detail-page .back-button:hover{background:#e0e0e0}.dish-detail-error{text-align:center;padding:48px 24px}.dish-detail-error .btn-primary{margin-top:16px}.dish-detail-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000001a;display:grid;grid-template-columns:1fr 1fr;gap:0}@media (max-width: 768px){.dish-detail-card{grid-template-columns:1fr}}.dish-detail-image{width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#f0f0f0}.dish-detail-image img{width:100%;height:100%;object-fit:cover}.dish-detail-content{padding:32px;display:flex;flex-direction:column}.dish-detail-title{font-size:28px;margin-bottom:16px;color:var(--dark-color);line-height:1.3}.dish-detail-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.dish-detail-badge{padding:6px 12px;border-radius:8px;font-size:14px;font-weight:500}.dish-detail-category{background:#e8f4fd;color:#0d47a1}.dish-detail-cuisine{background:#fff3e0;color:#e65100}.dish-detail-prep{font-size:14px;color:#666}.dish-detail-description-block{margin-bottom:20px;flex:1}.dish-detail-section-title{font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.dish-detail-description{color:#555;font-size:16px;line-height:1.6;margin:0}.dish-detail-restaurant{margin-bottom:20px;font-size:15px}.dish-detail-restaurant .label{color:#666;margin-right:6px}.dish-detail-restaurant .restaurant-link{color:var(--primary-color);font-weight:600;text-decoration:none}.dish-detail-restaurant .restaurant-link:hover{text-decoration:underline}.dish-detail-restaurant .restaurant-city{color:#666}.dish-detail-price{font-size:24px;font-weight:700;color:var(--primary-color);margin-bottom:24px}.dish-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.dish-detail-actions .quantity-selector{display:flex;align-items:center;gap:8px}.dish-detail-actions .quantity-selector label{font-size:14px;color:#555}.dish-detail-actions .quantity-selector select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:16px}.btn-add-to-cart{padding:14px 28px;font-size:16px}.quantity-controls{display:flex;align-items:center;gap:12px}.quantity-controls .qty-btn{width:40px;height:40px;border:1px solid #ddd;background:#fff;border-radius:8px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.quantity-controls .qty-btn:hover{background:#f5f5f5;border-color:var(--primary-color);color:var(--primary-color)}.quantity-controls .qty-value{font-size:18px;font-weight:600;min-width:28px;text-align:center}.quantity-controls .in-cart-label{font-size:14px;color:#666}.cart-page{padding:20px 0}.cart-promo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.cart-promo-modal{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:90vh;overflow:hidden;position:relative;box-shadow:0 8px 32px #0003}.cart-promo-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;background:#00000080;color:#fff;font-size:24px;line-height:1;border-radius:50%;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;padding:0}.cart-promo-modal-close:hover{background:#000000b3}.cart-promo-modal-content{padding:12px;display:flex;flex-direction:column;align-items:center;gap:12px}.cart-promo-modal-content img{max-width:100%;max-height:60vh;object-fit:contain;border-radius:8px}.cart-promo-modal-link{display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;color:inherit}.cart-promo-modal-link:hover{opacity:.95}.cart-promo-modal-title{font-size:18px;font-weight:600;color:var(--dark-color);text-align:center}.cart-promo-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;background:#0006;color:#fff;font-size:28px;line-height:1;border-radius:50%;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;padding:0}.cart-promo-modal-nav:hover{background:#0009}.cart-promo-modal-prev{left:12px}.cart-promo-modal-next{right:12px}.cart-promo-modal-dots{display:flex;justify-content:center;gap:8px;padding:12px 16px 16px}.cart-promo-dot{width:10px;height:10px;border-radius:50%;border:2px solid #ccc;background:transparent;cursor:pointer;padding:0}.cart-promo-dot.active{background:var(--primary-color);border-color:var(--primary-color)}.cart-page h1{font-size:32px;margin-bottom:32px;color:var(--dark-color)}.empty-cart{text-align:center;padding:60px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-cart p{font-size:18px;color:#666;margin-bottom:24px}.cart-content{display:grid;grid-template-columns:1fr 350px;gap:32px}.cart-items-section{display:flex;flex-direction:column;gap:24px}.restaurant-group{background:#f9f9f9;padding:20px;border-radius:12px;border:2px solid #eee}.restaurant-group-header{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #ddd;display:flex;justify-content:space-between;align-items:center}.restaurant-group-header h2{font-size:20px;color:var(--primary-color);margin:0}.view-restaurant-link{color:var(--primary-color);text-decoration:none;font-size:14px;font-weight:600;transition:opacity .3s ease}.view-restaurant-link:hover{opacity:.8;text-decoration:underline}.restaurant-group-summary{margin-top:16px;padding-top:16px;border-top:2px solid #ddd;font-size:14px}.restaurant-group-summary p{margin:8px 0;color:#666}.restaurant-total{margin-top:12px;padding-top:12px;border-top:2px solid #ddd;font-size:16px;color:var(--dark-color)}.cart-item-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.cart-item-info{margin-bottom:16px}.cart-item-info h3{font-size:18px;margin-bottom:8px;color:var(--dark-color)}.cart-item-price{color:#666;font-size:14px}.cart-item-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px}.quantity-btn{width:36px;height:36px;padding:0;border-radius:8px;background:#f0f0f0;color:var(--dark-color);display:flex;align-items:center;justify-content:center;font-size:18px}.quantity-btn:hover{background:#e0e0e0}.quantity{font-weight:600;min-width:40px;text-align:center}.remove-btn{background:#fee;color:var(--error-color);padding:8px 16px;font-size:14px;margin-left:auto}.remove-btn:hover{background:#fdd}.cart-item-total{font-weight:600;color:var(--primary-color);font-size:16px}.cart-summary{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;position:sticky;top:100px;max-height:calc(100vh - 120px)}.cart-summary h2{font-size:20px;margin-bottom:20px;color:var(--dark-color)}.summary-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:2px solid #eee;border-bottom:2px solid #eee;margin-bottom:20px;font-size:20px}.total-amount{font-weight:700;color:var(--primary-color);font-size:24px}.checkout-btn,.continue-shopping-btn{width:100%;padding:16px;font-size:16px;margin-bottom:12px}@media (max-width: 968px){.cart-content{grid-template-columns:1fr}.cart-summary{position:relative;top:0;max-height:none}}.map-selector-container{width:100%;margin:20px 0}.map-controls{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.btn-locate{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;align-self:flex-start}.btn-locate:hover:not(:disabled){background:#e55a2b;transform:translateY(-2px)}.btn-locate:disabled{background:#ccc;cursor:not-allowed}.map-instructions{font-size:13px;color:#666;margin:0;font-style:italic}.map-container{width:100%;border-radius:8px;overflow:hidden;border:2px solid #ddd;position:relative;background:#f0f0f0}.map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#666;z-index:1000}.map-error{padding:40px;text-align:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.map-container :global(.leaflet-container){height:100%;width:100%;z-index:1}.map-container :global(.leaflet-popup-content-wrapper){border-radius:8px}.map-container :global(.leaflet-marker-icon){cursor:move}@media (max-width: 768px){.map-container{height:300px!important}}.checkout-page{padding:20px 0}.default-address-info{background:#f0f8ff;padding:12px;border-radius:6px;border-left:3px solid var(--primary-color);margin-bottom:16px}.default-address-info p{margin:4px 0;font-size:14px}.checkout-page h1{font-size:32px;margin-bottom:24px;color:var(--dark-color)}.multi-restaurant-notice{background:#e3f2fd;border-left:4px solid var(--primary-color);padding:16px;border-radius:8px;margin-bottom:32px}.multi-restaurant-notice strong{display:block;margin-bottom:8px;color:var(--dark-color);font-size:16px}.multi-restaurant-notice p{margin:0;color:#666;font-size:14px;line-height:1.6}.checkout-content{display:grid;grid-template-columns:1fr 400px;gap:32px}.checkout-form{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-section{margin-bottom:32px}.form-section h2{font-size:20px;margin-bottom:20px;color:var(--dark-color)}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark-color)}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px;font-family:inherit}.payment-methods{display:flex;flex-direction:column;gap:12px}.payment-option{display:flex;align-items:center;padding:16px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .3s ease}.payment-option:hover{border-color:var(--primary-color);background-color:#fff5f0}.payment-option input[type=radio]{margin-right:12px;width:auto}.payment-option-content{display:flex;align-items:center;gap:12px;flex:1}.payment-icon{font-size:24px}.payment-option-content strong{display:block;margin-bottom:4px;color:var(--dark-color)}.payment-option-content p{font-size:14px;color:#666;margin:0}.payment-option input[type=radio]:checked+.payment-option-content{color:var(--primary-color)}.payment-option:has(input[type=radio]:checked){border-color:var(--primary-color);background-color:#fff5f0}.error-message{background-color:#fee;color:var(--error-color);padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid var(--error-color)}.submit-button{width:100%;padding:16px;font-size:18px;margin-top:20px}.order-summary{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto}.summary-restaurant-group{margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid #eee}.summary-restaurant-group:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.order-summary h2{font-size:20px;margin-bottom:20px;color:var(--dark-color)}.summary-restaurant{padding:12px;background:#f5f5f5;border-radius:8px;margin-bottom:20px;text-align:center}.summary-items{margin-bottom:20px}.summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee;font-size:14px}.summary-totals{padding-top:20px;border-top:2px solid #eee}.summary-line{display:flex;justify-content:space-between;margin-bottom:12px;font-size:16px}.summary-line.restaurant-total{font-size:16px;font-weight:600;color:var(--primary-color);margin-top:8px;padding-top:8px;border-top:1px solid #eee}.summary-totals.final-total{margin-top:20px;padding-top:20px;border-top:3px solid var(--primary-color)}.summary-line.total{font-size:24px;font-weight:700;color:var(--dark-color);margin-top:12px;padding-top:12px}@media (max-width: 968px){.checkout-content{grid-template-columns:1fr}.order-summary{position:relative;top:0;max-height:none}}.review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.review-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #eee}.review-modal-header h2{margin:0;color:var(--dark-color);font-size:24px}.close-btn{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#f0f0f0;color:#333}.review-modal-content,.review-form{padding:24px}.review-restaurant-info{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #eee}.review-restaurant-info p{margin:8px 0;font-size:18px}.review-help-text{color:#666;font-size:14px;font-style:italic}.star-rating-group{margin-bottom:32px}.star-rating-label{display:block;font-weight:600;margin-bottom:12px;color:var(--dark-color);font-size:16px}.star-rating{display:flex;align-items:center;gap:8px}.star{background:none;border:none;font-size:32px;cursor:pointer;padding:4px;transition:all .2s;filter:grayscale(100%);opacity:.4;line-height:1;display:inline-flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.star:hover{transform:scale(1.2);filter:grayscale(0%);opacity:1}.star:active{transform:scale(1.1)}.star.filled{filter:grayscale(0%);opacity:1;transform:scale(1.1)}.rating-value{margin-left:12px;font-weight:600;color:var(--primary-color);font-size:16px}.form-group-review{margin-bottom:24px}.form-group-review label{display:block;font-weight:600;margin-bottom:8px;color:var(--dark-color)}.form-group-review textarea{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .3s}.form-group-review textarea:focus{outline:none;border-color:var(--primary-color)}.form-group-review small{display:block;margin-top:4px;color:#999;font-size:12px}.error-message-review{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid #fcc}.review-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:2px solid #eee}.review-modal-actions button{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;border:none}.review-modal-actions .btn-primary{background:var(--primary-color);color:#fff}.review-modal-actions .btn-primary:hover:not(:disabled){background:#e55a2b}.review-modal-actions .btn-primary:disabled{background:#ccc;cursor:not-allowed}.review-modal-actions .btn-secondary{background:#f0f0f0;color:#333}.review-modal-actions .btn-secondary:hover:not(:disabled){background:#e0e0e0}@media (max-width: 768px){.review-modal{max-width:100%;margin:0;border-radius:0;max-height:100vh}.star{font-size:28px}}.messaging-container{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.messaging-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #eee}.messaging-header h3{margin:0;font-size:18px;color:#333}.messaging-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.messaging-close-btn:hover{background:#f0f0f0}.messaging-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.messaging-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.messaging-message{display:flex;margin-bottom:8px}.messaging-message.own{justify-content:flex-end}.messaging-message.other{justify-content:flex-start}.message-content{max-width:70%;padding:10px 14px;border-radius:12px;word-wrap:break-word}.messaging-message.own .message-content{background:#2196f3;color:#fff;border-bottom-right-radius:4px}.messaging-message.other .message-content{background:#f0f0f0;color:#333;border-bottom-left-radius:4px}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:11px;opacity:.8}.message-sender{font-weight:600}.message-time{margin-left:8px}.message-text{font-size:14px;line-height:1.4}.messaging-input-form{display:flex;padding:12px;border-top:1px solid #eee;gap:8px}.messaging-input{flex:1;padding:10px 14px;border:1px solid #ddd;border-radius:20px;font-size:14px;outline:none}.messaging-input:focus{border-color:#2196f3}.messaging-send-btn{padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:16px;transition:background .2s}.messaging-send-btn:hover:not(:disabled){background:#1976d2}.messaging-send-btn:disabled{opacity:.5;cursor:not-allowed}.messaging-loading{display:flex;align-items:center;justify-content:center;height:200px;color:#666}.orders-page{padding:20px 0}.orders-page h1{font-size:32px;margin-bottom:32px;color:var(--dark-color)}.success-message{background-color:#d4edda;color:#155724;padding:16px;border-radius:8px;margin-bottom:24px;border:1px solid #c3e6cb;text-align:center;font-weight:600}.no-orders{text-align:center;padding:60px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.no-orders p{font-size:18px;color:#666;margin-bottom:24px}.orders-list{display:flex;flex-direction:column;gap:24px}.order-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid #eee}.order-info h3{font-size:20px;margin-bottom:8px;color:var(--dark-color)}.order-restaurant{font-size:16px;font-weight:600;color:var(--primary-color);margin:4px 0;display:flex;align-items:center;gap:6px}.order-status{padding:8px 16px;border-radius:20px;color:#fff;font-weight:600;font-size:14px;white-space:nowrap}.order-details{display:grid;grid-template-columns:1fr 1fr;gap:24px}.order-items h4{font-size:16px;margin-bottom:12px;color:var(--dark-color)}.order-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eee;font-size:14px}.order-item-details{display:flex;flex-direction:column;gap:4px;flex:1}.order-item-name{font-weight:600;color:var(--dark-color)}.order-item-description{font-size:12px;color:#666;font-style:italic}.order-item-quantity{font-size:12px;color:#999;margin-top:4px}.order-item-price{font-weight:600;color:var(--primary-color);white-space:nowrap}.order-meta{display:flex;flex-direction:column;gap:12px}.order-meta p{font-size:14px;color:#666}.order-meta strong{color:var(--dark-color)}.paid{color:var(--success-color);font-weight:600}.pending{color:var(--accent-color);font-weight:600}.order-total{grid-column:1 / -1;padding-top:20px;border-top:2px solid #eee;text-align:right;font-size:20px;color:var(--primary-color)}.order-review-action{grid-column:1 / -1;margin-top:16px;padding-top:16px;border-top:1px solid #eee;text-align:center}@media (max-width: 768px){.order-header{flex-direction:column;gap:12px}.order-details{grid-template-columns:1fr}.order-total{text-align:left}}.login-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.login-container{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:450px}.login-container h1{font-size:32px;margin-bottom:8px;color:var(--dark-color);text-align:center}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-color)}.toggle-input-type{margin-top:8px;background:none;border:none;color:var(--primary-color);font-size:14px;cursor:pointer;text-align:left;padding:0;text-decoration:underline}.toggle-input-type:hover{opacity:.8}.login-button{width:100%;padding:16px;font-size:18px;margin-top:8px}.register-link{text-align:center;margin-top:24px;color:#666}.register-link a{color:var(--primary-color);text-decoration:none;font-weight:600}.register-link a:hover{text-decoration:underline}@media (max-width: 768px){.login-container{padding:24px}.login-container h1{font-size:24px}}.register-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.register-container{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.register-container h1{font-size:32px;margin-bottom:8px;color:var(--dark-color);text-align:center}.subtitle{text-align:center;color:#666;margin-bottom:32px;font-size:16px}.register-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:600;color:var(--dark-color)}.form-group input,.form-group select{padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.help-text{margin-top:4px;font-size:12px;color:#666}.register-button{width:100%;padding:16px;font-size:18px;margin-top:8px}.error-message{background-color:#fee;color:var(--error-color);padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid var(--error-color);text-align:center}.login-link{text-align:center;margin-top:24px;color:#666}.login-link a{color:var(--primary-color);text-decoration:none;font-weight:600}.login-link a:hover{text-decoration:underline}@media (max-width: 768px){.register-container{padding:24px;max-height:95vh}.register-container h1{font-size:24px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.order-acceptance-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #eee}.modal-header h2{margin:0;font-size:24px;color:var(--dark-color)}.close-btn{background:transparent;border:none;font-size:32px;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#f0f0f0;color:var(--dark-color)}.modal-content{padding:24px}.order-summary{background:#f9f9f9;padding:16px;border-radius:8px;margin-bottom:24px}.order-summary h3{margin:0 0 12px;color:var(--dark-color);font-size:20px}.order-summary p{margin:8px 0;color:#666}.order-items-summary{margin-top:12px}.order-items-summary ul{margin:8px 0 0 20px;padding:0;color:#666}.order-items-summary li{margin:4px 0}.cooking-time-form{margin-top:24px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark-color);font-size:16px}.cooking-time-input{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:18px;font-weight:600;text-align:center;color:var(--primary-color)}.cooking-time-input:focus{outline:none;border-color:var(--primary-color)}.form-hint{display:block;margin-top:8px;font-size:13px;color:#666;font-style:italic}.btn-cancel,.btn-accept{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel{background:#f0f0f0;color:#666}.btn-accept{background:linear-gradient(135deg,var(--primary-color),#F7931E);color:#fff}.btn-accept:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}@media (max-width: 768px){.order-acceptance-modal{width:95%;margin:20px}.modal-actions{flex-direction:column}.btn-cancel,.btn-accept{width:100%}}.restaurant-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #eee}.commission-info{background:#fff5f0;padding:12px 24px;border-radius:8px;color:var(--primary-color);font-weight:600}.restaurant-info-form{max-width:800px}.restaurant-info-form .form-group{margin-bottom:20px}.restaurant-info-form label{display:block;margin-bottom:8px;font-weight:600;color:#333}.restaurant-info-form input,.restaurant-info-form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.restaurant-info-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.restaurant-info-form .form-actions{margin-top:24px}.dishes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.dish-card-admin{background:#fff;border:2px solid #eee;border-radius:12px;overflow:hidden;transition:all .3s ease}.dish-card-admin:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.dish-card-admin img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#f0f0f0}.dish-card-content{padding:20px}.dish-card-content h3{font-size:20px;margin-bottom:8px;color:var(--dark-color)}.dish-card-content p{color:#666;margin-bottom:12px;font-size:14px}.dish-details{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;font-size:14px}.dish-details span{color:#666}.dish-details .available{color:var(--success-color);font-weight:600}.dish-details .unavailable{color:var(--error-color);font-weight:600}.dish-actions{display:flex;gap:8px}.btn-danger{background-color:var(--error-color);color:#fff;padding:8px 16px;border-radius:6px;font-size:14px}.btn-danger:hover{background-color:#c0392b}.dish-form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dish-form{background:#fff;padding:32px;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.dish-form h3{margin-bottom:24px;color:var(--dark-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.order-card-admin{background:#f9f9f9;padding:20px;border-radius:8px;border-left:4px solid var(--primary-color)}.order-header-admin{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.order-status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;white-space:nowrap}.order-status-badge[data-status=pending]{background:#fff3cd;color:#856404}.order-status-badge[data-status=confirmed]{background:#d1ecf1;color:#0c5460}.order-status-badge[data-status=preparing]{background:#3498db;color:#fff}.order-status-badge[data-status=ready]{background:#9b59b6;color:#fff}.order-status-badge[data-status=delivering]{background:#e67e22;color:#fff}.order-status-badge[data-status=delivered]{background:#d4edda;color:#155724}.order-status-badge[data-status=cancelled]{background:#e74c3c;color:#fff}.order-details-admin{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;font-size:14px;color:#666}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);padding:32px;border-radius:12px;color:#fff;text-align:center}.stat-card.highlight{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card h3{font-size:16px;margin-bottom:16px;opacity:.9}.stat-value.negative{color:gold}.reviews-list-restaurant{display:flex;flex-direction:column;gap:16px;margin-top:24px}.review-card-restaurant{background:#f9f9f9;padding:20px;border-radius:8px;border-left:4px solid var(--primary-color)}.review-header-restaurant{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;gap:12px}.review-header-restaurant strong{display:block;color:var(--dark-color);margin-bottom:4px;font-size:16px}.review-date-restaurant{font-size:12px;color:#999;display:block}.review-ratings-restaurant{display:flex;gap:16px;font-size:14px;color:#666;flex-wrap:wrap}.review-ratings-restaurant span{padding:4px 8px;background:#fff;border-radius:4px}.review-average{font-weight:600;color:var(--primary-color)!important}.review-comment-restaurant{color:#555;line-height:1.6;margin-top:12px;font-style:italic;padding:12px;background:#fff;border-radius:6px;border-left:3px solid var(--primary-color)}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.form-row,.dishes-grid{grid-template-columns:1fr}.image-preview{max-width:100%}.review-header-restaurant{flex-direction:column}.review-ratings-restaurant{flex-direction:column;gap:8px}}.admin-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-tabs{display:flex;gap:12px;margin-bottom:32px;border-bottom:2px solid #eee}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.content-header h2{margin:0}.create-restaurant-form{background:#f9f9f9;padding:24px;border-radius:8px;margin-bottom:24px}.create-restaurant-form h3{margin-top:0;margin-bottom:20px;color:var(--primary-color)}.create-restaurant-form .form-group{margin-bottom:16px}.create-restaurant-form label{display:block;margin-bottom:8px;font-weight:600;color:#333}.create-restaurant-form input,.create-restaurant-form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.create-restaurant-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.create-restaurant-form small{display:block;margin-top:4px;color:#666;font-size:12px}.form-actions{display:flex;gap:12px;margin-top:24px}.restaurants-table table{width:100%;border-collapse:collapse}.restaurants-table th,.restaurants-table td{padding:16px;text-align:left;border-bottom:1px solid #eee}.restaurants-table th{background:#f5f5f5;font-weight:600;color:var(--dark-color)}.commission-value{display:flex;align-items:center;gap:8px}.btn-edit{background:none;border:none;cursor:pointer;font-size:14px;padding:4px}.commission-edit{display:flex;align-items:center;gap:8px}.commission-input{width:80px;padding:6px;border:2px solid #ddd;border-radius:6px}.btn-small{padding:6px 12px;font-size:12px}.status-active{color:var(--success-color);font-weight:600}.status-inactive{color:var(--error-color);font-weight:600}.stat-card-admin{background:linear-gradient(135deg,#667eea,#764ba2);padding:32px;border-radius:12px;color:#fff;text-align:center}.stat-card-admin.highlight{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card-admin h3{font-size:16px;margin-bottom:16px;opacity:.9}.revenue-by-restaurant{margin-top:32px}.revenue-by-restaurant table{width:100%;border-collapse:collapse}.revenue-by-restaurant th,.revenue-by-restaurant td{padding:16px;text-align:left;border-bottom:1px solid #eee}.revenue-by-restaurant th{background:#f5f5f5;font-weight:600;color:var(--dark-color)}.commission-cell{color:var(--primary-color);font-weight:600}.net-revenue{color:var(--success-color);font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.restaurant-details-modal{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #eee;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{margin:0;color:var(--primary-color)}.modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:var(--error-color)}.modal-body{padding:24px}.details-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #eee}.details-section:last-child{border-bottom:none}.details-section h3{margin-top:0;margin-bottom:16px;color:var(--dark-color);font-size:20px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item strong{color:#666;font-size:14px;font-weight:600}.detail-item span{color:var(--dark-color);font-size:16px}.detail-item small{color:#999;font-size:12px}.not-assigned{color:#999;font-style:italic}.restaurant-edit-form{display:flex;flex-direction:column;gap:16px}.restaurant-edit-form .form-group{display:flex;flex-direction:column;gap:8px}.restaurant-edit-form label{font-weight:600;color:#333;font-size:14px}.restaurant-edit-form input,.restaurant-edit-form textarea,.restaurant-edit-form select{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit}.restaurant-edit-form input:focus,.restaurant-edit-form textarea:focus,.restaurant-edit-form select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff98001a}.restaurant-edit-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.restaurant-edit-form .form-row{grid-template-columns:1fr}}.stats-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-mini{background:#f9f9f9;padding:16px;border-radius:8px;display:flex;flex-direction:column;gap:8px}.stat-mini strong{color:#666;font-size:14px}.stat-mini span{color:var(--primary-color);font-size:20px;font-weight:700}.dishes-list-mini{display:flex;flex-direction:column;gap:12px}.dish-item-mini{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9f9f9;border-radius:6px}.dish-item-mini>div{display:flex;flex-direction:column;gap:4px}.dish-price-mini{color:var(--primary-color);font-weight:600;font-size:14px}.orders-list-mini{display:flex;flex-direction:column;gap:12px}.order-item-mini{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9f9f9;border-radius:6px}.order-item-mini>div{display:flex;flex-direction:column;gap:4px}.order-item-mini>div:last-child{align-items:flex-end}.order-status-mini{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.order-status-mini.status-pending{background:#fff3cd;color:#856404}.order-status-mini.status-confirmed{background:#d1ecf1;color:#0c5460}.order-status-mini.status-preparing{background:#3498db;color:#fff}.order-status-mini.status-ready{background:#9b59b6;color:#fff}.order-status-mini.status-delivering{background:#e67e22;color:#fff}.order-status-mini.status-delivered{background:#d4edda;color:#155724}.order-status-mini.status-cancelled{background:#e74c3c;color:#fff}.no-data{color:#999;font-style:italic;text-align:center;padding:20px}.modal-footer{padding:24px;border-top:2px solid #eee;display:flex;justify-content:flex-end;position:sticky;bottom:0;background:#fff}.image-upload-container{margin-top:8px}.image-preview{margin-bottom:16px;border-radius:8px;overflow:hidden;border:2px solid #eee;max-width:300px}.image-preview img{width:100%;height:auto;display:block;max-height:200px;object-fit:cover}.image-upload-controls{display:flex;gap:10px;align-items:center}.image-upload-controls label{cursor:pointer;display:inline-block;padding:10px 20px;background:var(--primary-color);color:#fff;border-radius:6px;font-size:14px;font-weight:600;transition:all .3s ease}.image-upload-controls label:hover{background:#e55a2b}.image-upload-controls input[type=file]{display:none}.loyalty-config-form{max-width:800px}.config-section{margin-bottom:24px}.config-section h3{color:var(--primary-color);margin-bottom:16px;font-size:20px}.loyalty-config-form .form-group{margin-bottom:20px}.loyalty-config-form label{display:block;margin-bottom:8px;font-weight:600;color:#333}.loyalty-config-form input[type=number],.loyalty-config-form input[type=checkbox]{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.loyalty-config-form input[type=number]{width:100%;max-width:300px}.loyalty-config-form input[type=checkbox]{width:auto;cursor:pointer}.loyalty-config-form small{display:block;margin-top:4px;color:#666;font-size:12px;line-height:1.5}.config-preview{border-left:4px solid var(--primary-color)}.config-preview h4{color:var(--dark-color);margin-bottom:12px}.config-preview p{margin:8px 0;line-height:1.6}@media (max-width: 768px){.restaurants-table,.revenue-by-restaurant{overflow-x:auto}.stats-overview{grid-template-columns:1fr}.restaurant-details-modal{max-height:95vh}.details-grid,.stats-mini{grid-template-columns:1fr}.image-preview{max-width:100%}.loyalty-config-form .form-row{grid-template-columns:1fr}}.delivery-acceptance-modal{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:24px;color:#333}.close-btn{background:none;border:none;font-size:32px;cursor:pointer;color:#666;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#333}.modal-content{padding:20px}.delivery-summary{background:#f9f9f9;padding:16px;border-radius:8px;margin-bottom:20px}.delivery-summary h3{margin:0 0 12px;color:#333}.summary-row{display:flex;justify-content:space-between;margin:8px 0;font-size:14px}.summary-row strong{color:#666}.delivery-map-container{margin-bottom:20px}.delivery-map-container h4{margin:0 0 12px;color:#333}.map-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.location-marker{padding:8px 12px;border-radius:6px;font-size:14px}.location-marker.restaurant{background:#fff3e0;border-left:4px solid #ff9800}.location-marker.client{background:#e3f2fd;border-left:4px solid #2196f3}.location-marker small{display:block;color:#666;font-size:12px;margin-top:4px}.map-preview{border:2px dashed #ddd}.travel-time-form{margin-top:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.travel-time-input{width:100%;padding:12px;border:2px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box}.travel-time-input:focus{outline:none;border-color:#ff6b35}.form-hint{display:block;margin-top:6px;font-size:12px;color:#666}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel,.btn-accept{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-accept{background:#ff6b35;color:#fff}.btn-accept:hover:not(:disabled){background:#e55a2b}.btn-cancel:disabled,.btn-accept:disabled{opacity:.6;cursor:not-allowed}.pin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.pin-modal{background-color:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 4px 20px #0000004d}.pin-modal input[type=text]{transition:border-color .2s}.pin-modal input[type=text]:focus{border-color:#ff6b35}.delivery-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header h1{font-size:32px;color:var(--dark-color)}.dashboard-tabs{display:flex;gap:12px;margin-bottom:32px;border-bottom:2px solid #eee;flex-wrap:wrap}.dashboard-tabs button{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:16px;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease}.dashboard-content{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.deliveries-list{display:flex;flex-direction:column;gap:20px}.delivery-card{background:#f9f9f9;padding:24px;border-radius:12px;border-left:4px solid var(--primary-color);transition:all .3s ease}.delivery-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.delivery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid #eee}.delivery-header h3{font-size:20px;margin-bottom:8px;color:var(--dark-color)}.delivery-status{display:inline-block;padding:6px 12px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase}.delivery-amount{text-align:right}.delivery-amount strong{font-size:24px;color:var(--primary-color)}.delivery-details{display:grid;gap:12px;margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;font-size:14px}.detail-row span:first-child{font-weight:600;color:var(--dark-color);min-width:150px}.detail-row span:last-child{color:#666;text-align:right;flex:1}.accept-btn{width:100%;margin-top:16px}.delivery-actions{display:flex;gap:12px;margin-top:16px}.delivery-actions button{flex:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card-delivery{background:linear-gradient(135deg,#667eea,#764ba2);padding:32px;border-radius:12px;color:#fff;text-align:center}.stat-card-delivery.highlight{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card-delivery.stat-card-rating{background:linear-gradient(135deg,#c9a227,#a67c00)}.stat-card-delivery .stat-rating-subtitle{font-size:14px;font-weight:400;color:#fffffff2;display:block;margin-top:4px}.stat-card-delivery h3{font-size:16px;margin-bottom:16px;opacity:.9}.stat-value{font-size:32px;font-weight:700}.deliveries-by-status{margin-top:32px}.deliveries-by-status h3{margin-bottom:20px;color:var(--dark-color)}.status-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.status-item{background:#f5f5f5;padding:16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.status-label{font-weight:600;color:var(--dark-color)}.status-count{background:var(--primary-color);color:#fff;padding:4px 12px;border-radius:20px;font-weight:600}@media (max-width: 768px){.delivery-header{flex-direction:column;gap:12px}.detail-row{flex-direction:column;gap:4px}.detail-row span:last-child{text-align:left}}.client-dashboard{padding:20px;max-width:1200px;margin:0 auto}.dashboard-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #eee;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card-client{background:linear-gradient(135deg,#667eea,#764ba2);padding:32px;border-radius:12px;color:#fff;display:flex;align-items:center;gap:20px;transition:transform .3s ease}.stat-card-client:hover{transform:translateY(-4px)}.stat-card-client.highlight{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-icon{font-size:48px;opacity:.9}.stat-info h3{font-size:16px;margin-bottom:8px;opacity:.9}.stat-value{font-size:32px;font-weight:700;margin:0}.stat-subtitle{font-size:14px;opacity:.8;margin-top:4px}.dashboard-content{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:32px}.dashboard-content h2{margin-bottom:24px;color:var(--dark-color)}.orders-list{display:flex;flex-direction:column;gap:16px}.order-card-client{background:#f9f9f9;padding:24px;border-radius:12px;border-left:4px solid var(--primary-color);transition:all .3s ease}.order-card-client:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.order-header-client{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid #eee}.order-header-client h3{font-size:20px;margin-bottom:8px;color:var(--dark-color)}.order-restaurant{color:var(--primary-color);font-weight:600;margin-bottom:4px}.order-date{color:#666;font-size:14px}.order-status-badge-client{padding:8px 16px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;white-space:nowrap}.order-details-client{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.order-amount{font-size:18px;color:var(--dark-color)}.order-payment{font-size:14px;color:#666}.order-payment .paid{color:var(--success-color);font-weight:600}.order-payment .pending{color:var(--accent-color);font-weight:600}.order-review-action{width:100%;margin-top:16px;padding-top:16px;border-top:1px solid #eee}.btn-review{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px}.btn-review:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}.btn-review:disabled{cursor:not-allowed;opacity:.6}.btn-review-reviewed{background:#666!important;background-image:none!important;filter:grayscale(100%);color:#fff!important}.btn-review-reviewed:hover{transform:none!important;box-shadow:none!important}.empty-state{text-align:center;padding:60px;color:#666}.empty-state p{margin-bottom:24px;font-size:18px}.loyalty-info{background:linear-gradient(135deg,#fff5f0,#ffe0d6);padding:24px;border-radius:12px;border-left:4px solid var(--primary-color)}.loyalty-info h3{color:var(--dark-color);margin-bottom:12px}.loyalty-info p{color:#666;margin-bottom:8px;line-height:1.6}.points-value{margin-top:16px;padding-top:16px;border-top:2px solid #ddd;font-size:18px;color:var(--primary-color)}@media (max-width: 768px){.stats-overview{grid-template-columns:1fr}.order-header-client{flex-direction:column;gap:12px}.order-details-client{flex-direction:column;align-items:flex-start}}.address-settings-page{padding:20px;max-width:1200px;margin:0 auto}.address-settings-page h1{font-size:32px;color:var(--dark-color);margin-bottom:12px}.page-description{color:#666;font-size:16px;line-height:1.6;margin-bottom:32px;padding:16px;background:#f9f9f9;border-radius:8px;border-left:4px solid var(--primary-color)}.address-settings-content{display:grid;grid-template-columns:1fr 400px;gap:32px;margin-bottom:32px}.map-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.map-section h2{font-size:20px;color:var(--dark-color);margin-bottom:16px}.address-info{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a;position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto}.address-info h3{font-size:18px;color:var(--dark-color);margin-bottom:16px}.address-details{background:#f9f9f9;padding:16px;border-radius:8px;margin-bottom:24px}.address-details p{margin:8px 0;font-size:14px}.coordinates{font-family:monospace;color:#666;font-size:12px}.address-text{color:var(--dark-color);font-weight:500;line-height:1.5}.address-form .form-group{margin-bottom:20px}.address-form label{display:block;margin-bottom:8px;font-weight:600;color:#333}.address-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.address-form .btn-primary{width:100%;padding:14px;font-size:16px}.profile-whatsapp-section{background:#f0f9f0;padding:20px;border-radius:8px;border-left:4px solid #25D366;margin-top:32px}.profile-whatsapp-section h3{color:var(--dark-color);margin-bottom:8px}.profile-whatsapp-section .page-description{margin-bottom:16px;color:#666;font-size:14px}.profile-whatsapp-section .form-group{margin-bottom:12px}.profile-whatsapp-section input{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:16px}.current-address-info{background:#fff5f0;padding:20px;border-radius:8px;border-left:4px solid var(--primary-color);margin-top:32px}.current-address-info h3{color:var(--dark-color);margin-bottom:12px}.current-address-info p{margin:8px 0;color:#666}@media (max-width: 968px){.address-settings-content{grid-template-columns:1fr}.address-info{position:relative;top:0;max-height:none}}.manager-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #eee}.dashboard-header h1{font-size:32px;color:var(--dark-color);margin-bottom:8px}.welcome-message{font-size:18px;color:#666}.dashboard-tabs{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap;border-bottom:2px solid #eee}.dashboard-tabs button{padding:12px 24px;border:none;background:transparent;font-size:16px;font-weight:600;color:#666;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s}.dashboard-tabs button:hover{color:var(--primary-color)}.dashboard-tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.dashboard-content{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.dashboard-content h2{font-size:24px;color:var(--dark-color);margin-bottom:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:linear-gradient(135deg,var(--primary-color),#e55a2b);color:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.stat-card h3{font-size:16px;margin-bottom:12px;opacity:.9}.stat-value{font-size:36px;font-weight:700;margin:0}.stats-section{margin-bottom:32px}.stats-section h3{font-size:20px;color:var(--dark-color);margin-bottom:16px}.status-list,.restaurant-list,.client-list{display:grid;gap:12px}.status-item{display:flex;justify-content:space-between;padding:12px;background:#f9f9f9;border-radius:8px;border-left:4px solid var(--primary-color)}.restaurant-item,.client-item{padding:16px;background:#f9f9f9;border-radius:8px;border-left:4px solid var(--primary-color)}.restaurant-item p,.client-item p{margin:4px 0;color:#666;font-size:14px}.filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.filters select,.filters input{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.orders-list{display:grid;gap:16px}.order-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000000d}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #eee}.order-status-badge{padding:6px 12px;border-radius:6px;color:#fff;font-size:12px;font-weight:600}.order-details{margin-bottom:16px}.order-details p{margin:8px 0;color:#666;font-size:14px}.order-actions select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer}.restaurants-list,.clients-list,.delivery-persons-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.restaurant-card,.client-card,.delivery-person-card{background:#f9f9f9;padding:20px;border-radius:8px;border-left:4px solid var(--primary-color)}.restaurant-card h3,.client-card h3,.delivery-person-card h3{font-size:18px;color:var(--dark-color);margin-bottom:12px}.restaurant-card p,.client-card p,.delivery-person-card p{margin:6px 0;color:#666;font-size:14px}.loading{text-align:center;padding:60px;font-size:20px;color:#666}@media (max-width: 768px){.dashboard-tabs{flex-direction:column}.stats-grid{grid-template-columns:1fr}.filters{flex-direction:column}.restaurants-list,.clients-list,.delivery-persons-list{grid-template-columns:1fr}}.tracking-container{max-width:1200px;margin:0 auto;padding:20px}.tracking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.tracking-header h1{margin:0;color:#333}.tracking-status-badge{padding:8px 16px;border-radius:20px;color:#fff;font-weight:700;font-size:14px}.tracking-content{display:grid;grid-template-columns:1fr;gap:20px}.tracking-info-card,.tracking-map-card,.tracking-confirm-card,.tracking-confirmed-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.tracking-info-card h2,.tracking-map-card h2,.tracking-confirm-card h2,.tracking-confirmed-card h2{margin-top:0;color:#333;border-bottom:2px solid #f0f0f0;padding-bottom:10px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:#666}.info-value{color:#333;text-align:right}.map-placeholder{text-align:center}.coordinates{font-family:monospace;font-size:14px;color:#666;margin:10px 0}.last-update{font-size:12px;color:#999;margin-bottom:20px}.map-container{margin-top:20px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.progress-section{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.progress-bar-container{width:100%;height:24px;background:#e0e0e0;border-radius:12px;overflow:hidden;margin-bottom:10px}.progress-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .5s ease;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px}.progress-text{font-size:14px;font-weight:600;color:#333;margin:0;text-align:center}.eta-text{font-size:14px;color:#666;margin:8px 0 0;text-align:center}.tracking-confirm-card{background:#fff3cd;border:2px solid #ffc107}.tracking-confirmed-card{background:#d4edda;border:2px solid #28a745}.btn-confirm-delivery{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;margin-top:15px;transition:background .3s}.btn-confirm-delivery:hover{background:#218838}.tracking-loading,.tracking-error{text-align:center;padding:40px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.tracking-error h2{color:#f44336}@media (min-width: 768px){.tracking-content{grid-template-columns:1fr 1fr}.tracking-map-card{grid-column:1 / -1}}.messaging-center{padding:24px;max-width:1400px;margin:0 auto}.messaging-center-header{margin-bottom:24px}.messaging-center-header h1{margin:0 0 8px;color:#333}.messaging-center-header p{margin:0;color:#666}.messaging-center-content{display:flex;gap:24px;height:calc(100vh - 200px)}.messaging-center-sidebar{width:300px;background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000001a;overflow-y:auto}.messaging-center-sidebar h3{margin:0 0 12px;font-size:16px;color:#333;border-bottom:2px solid #2196f3;padding-bottom:8px}.whatsapp-message-field{margin-bottom:16px;padding:12px;background:#f0f9f0;border-radius:8px;border:1px solid #c8e6c9}.whatsapp-message-field label{display:block;font-weight:600;font-size:13px;margin-bottom:6px;color:#333}.whatsapp-message-field textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:13px;resize:vertical;min-height:48px}.whatsapp-message-field small{display:block;margin-top:6px;font-size:11px;color:#666}.contacts-list,.users-list,.deliveries-list{display:flex;flex-direction:column;gap:8px}.contact-item{display:flex;align-items:center;justify-content:space-between;padding:10px;background:#f9f9f9;border-radius:6px;border-left:3px solid #4caf50;gap:8px}.contact-name{font-weight:600;font-size:14px;flex:1;min-width:0}.btn-whatsapp,.btn-whatsapp-small{display:inline-flex;align-items:center;padding:6px 12px;background:#25d366;color:#fff;text-decoration:none;border-radius:6px;font-size:13px;white-space:nowrap;flex-shrink:0}.btn-whatsapp:hover,.btn-whatsapp-small:hover{background:#20bd5a;color:#fff}.btn-whatsapp-small{padding:4px 8px;font-size:11px;margin-top:6px}.messaging-conversation-header{padding:16px;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.messaging-conversation-header h3{margin:0;flex:1;min-width:200px}.messaging-call-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-whatsapp-inline{display:inline-flex;align-items:center;padding:6px 12px;background:#25d366;color:#fff;text-decoration:none;border-radius:6px;font-size:13px}.btn-whatsapp-inline:hover{background:#20bd5a;color:#fff}.btn-close-conversation{padding:6px 12px;background:#f44336;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-close-conversation:hover{background:#d32f2f}.user-item{padding:10px;background:#f9f9f9;border-radius:6px;border-left:3px solid #2196f3}.user-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.user-name{font-weight:600;font-size:14px}.user-role{font-size:11px;color:#666;background:#e0e0e0;padding:2px 6px;border-radius:4px}.user-presence{font-size:11px}.presence-online{color:#4caf50;font-weight:600}.presence-offline{color:#999}.delivery-item{padding:12px;background:#f9f9f9;border-radius:6px;cursor:pointer;transition:background .2s;border-left:3px solid #ff9800}.delivery-item:hover{background:#f0f0f0}.delivery-item.active{background:#e3f2fd;border-left-color:#2196f3}.delivery-status{font-size:11px;color:#666;background:#e0e0e0;padding:2px 6px;border-radius:4px;display:inline-block;margin-top:4px}.messaging-center-main{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.messaging-center-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:18px}.messaging-center-loading,.messaging-center-error{display:flex;align-items:center;justify-content:center;height:400px;color:#666}.messaging-center-error{color:#e74c3c}.connection-status{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;z-index:1000;box-shadow:0 4px 12px #00000026;animation:slideDown .3s ease}.connection-status.offline{background-color:#e74c3c;color:#fff}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.App{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:20px;max-width:1200px;margin:0 auto;width:100%}@media (max-width: 768px){.main-content{padding:10px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #FF6B35;--secondary-color: #4ECDC4;--accent-color: #F7B801;--dark-color: #2C3E50;--light-color: #ECF0F1;--success-color: #27AE60;--error-color: #E74C3C;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--img-aspect-ratio: 4 / 3;--img-card-height-mobile: 180px;--img-card-height-desktop: 220px;--img-header-min-height: 280px}body{font-family:var(--font-primary);background-color:var(--light-color);color:var(--dark-color);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}img{max-width:100%;height:auto;display:block;object-fit:cover}.img-card,.dish-card img,.restaurant-card img,.dish-card-admin img{width:100%;aspect-ratio:var(--img-aspect-ratio);object-fit:cover}button{font-family:inherit;cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s ease}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:#e55a2b;transform:translateY(-2px)}.btn-secondary{background-color:var(--secondary-color);color:#fff}.btn-secondary:hover:not(:disabled){background-color:#3ab5ae}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px}input,select,textarea{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px;font-family:inherit;transition:border-color .3s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color)}.connection-status{position:fixed;top:10px;right:10px;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;z-index:1000}.connection-status.online{background-color:var(--success-color);color:#fff}.connection-status.offline{background-color:var(--error-color);color:#fff}.toast-container{position:fixed;top:80px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:12px}
