*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}.App-header{background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:2rem;text-align:center}.App-header h1{color:#667eea;font-size:3rem;margin-bottom:.5rem}.App-header p{color:#666;font-size:1.2rem}.nav-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem}.logout-btn,.nav-links a{background:#667eea;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1.5rem;text-decoration:none;transition:all .3s}.logout-btn:hover,.nav-links a:hover{background:#764ba2;transform:translateY(-2px)}.App-main{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.App-footer{background:#ffffffe6;color:#666;padding:1rem;text-align:center}.spin-wheel-container{gap:2rem}.wheel-section{align-items:center;display:flex;flex-direction:column}.wheel-wrapper{margin-bottom:2rem;position:relative}.wheel-pointer{color:#ff6b6b;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2rem;left:50%;position:absolute;top:-30px;z-index:10}.wheel-canvas{border-radius:50%;box-shadow:0 10px 30px #0000004d}.spin-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:none;border-radius:50px;box-shadow:0 5px 15px #ff6b6b66;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;padding:1rem 3rem;transition:all .3s}.spin-button:hover:not(:disabled){box-shadow:0 8px 20px #ff6b6b99;transform:scale(1.05)}.spin-button:disabled{cursor:not-allowed;opacity:.6}.result-section{animation:slideIn .5s;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:2rem;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.food-name{color:#667eea;font-size:2rem}.result-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.find-shops-btn,.spin-again-btn{border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:700;padding:.8rem 2rem;transition:all .3s}.find-shops-btn{background:#4ecdc4;color:#fff}.spin-again-btn{background:#ffd93d;color:#333}.find-shops-btn:hover,.spin-again-btn:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.auth-container{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;margin:2rem auto;max-width:400px;padding:2rem}.auth-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.auth-form input{border:2px solid #ddd;border-radius:10px;font-size:1rem;padding:.8rem}.auth-form button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.8rem}.toggle-auth{margin-top:1rem;text-align:center}.toggle-auth button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:700;margin-left:.5rem}.food-list-container{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:2rem}.food-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:2rem}.food-card{background:linear-gradient(135deg,#ff6b6b,#ff8b94);border-radius:15px;box-shadow:0 5px 15px #0000001a;color:#fff;padding:1.5rem;text-align:center;transition:transform .3s}.food-card:hover{transform:translateY(-5px)}.food-emoji{display:block;margin-bottom:.5rem}.food-count{color:#666;font-size:1.1rem;margin-top:2rem}.admin-container{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:2rem}.admin-tabs{display:flex;gap:1rem;margin:2rem 0}.admin-tabs button{background:#ddd;border:none;border-radius:10px;cursor:pointer;font-size:1rem;padding:.8rem 2rem;transition:all .3s}.admin-tabs button.active{background:#667eea;color:#fff}.admin-food-card{align-items:center;background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;display:flex;justify-content:space-between;margin:1rem 0;padding:1rem}.admin-food-card.pending{border-left-color:#ffd93d}.admin-actions{display:flex;gap:.5rem}.approve-btn,.reject-btn{border:none;border-radius:5px;cursor:pointer;font-weight:700;padding:.5rem 1.5rem}.approve-btn{background:#4ecdc4;color:#fff}.reject-btn{background:#ff6b6b;color:#fff}.admin-table{border-collapse:collapse;margin-top:2rem;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}.admin-table th{background:#667eea;color:#fff}.nearby-shops-container{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:2rem}.shops-filter-info{background:#f0f0f0;border-radius:10px;margin:1.5rem 0;padding:1rem}.shops-filter-info ul{margin-left:2rem;margin-top:.5rem}.shop-card{background:#f8f9fa;border-left:4px solid #4ecdc4;border-radius:15px;margin:1rem 0;padding:1.5rem}.shop-details p{margin:.5rem 0}.maps-link{background:#667eea;border-radius:5px;color:#fff;display:inline-block;margin-top:1rem;padding:.5rem 1.5rem;text-decoration:none}.error{background:#ffe0e0;color:#ff6b6b}.error,.message{border-radius:10px;padding:1rem}.message{background:#e0ffe0;color:#333;margin-top:1rem}.add-food{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;margin:2rem auto;max-width:500px;padding:2rem}.add-food form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.add-food input{border:2px solid #ddd;border-radius:10px;font-size:1rem;padding:.8rem}.add-food button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.8rem}.login-prompt{background:#fff3cd;border-radius:10px;margin-top:2rem;padding:1rem;text-align:center}.login-prompt a{color:#667eea;font-weight:700;text-decoration:none}@media (max-width:768px){.App-header h1{font-size:2rem}.wheel-canvas{height:300px!important;width:300px!important}.nav-links{align-items:center}.nav-links,.result-actions{flex-direction:column}}.shops-filters{background:#f8f9fa;border-radius:15px;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0;padding:1.5rem}.filter-group,.shops-filters{align-items:center;display:flex}.filter-group{gap:.5rem}.filter-group label{color:#333;font-weight:600}.filter-group select{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;padding:.5rem 1rem}.filter-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.search-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.6rem 2rem;transition:all .3s}.search-btn:hover{background:#764ba2;transform:translateY(-2px)}.halal-badge{background:#4ecdc4;border-radius:15px;color:#fff;display:inline-block;font-size:.85rem;font-weight:700;margin-left:.5rem;padding:.3rem .8rem}.faq-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-top:3rem;padding:2.5rem}.faq-section h2{color:#667eea;font-size:2rem;margin-bottom:2rem;text-align:center}.faq-item{background:#f8f9fa;border-left:4px solid #ffd93d;border-radius:15px;margin:2rem 0;padding:1.5rem}.faq-item h3{color:#333;font-size:1.3rem;margin-bottom:1rem}.faq-item p{color:#666;font-size:1.05rem;line-height:1.8}.location-page{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;padding:2rem}.location-header{border-bottom:2px solid #f0f0f0;margin-bottom:2.5rem;padding-bottom:2rem;text-align:center}.location-header h1{color:#667eea;font-size:2.5rem;margin-bottom:.5rem}.location-header p{color:#666;font-size:1.2rem}.location-content{display:flex;flex-direction:column;gap:2.5rem}.location-info{background:#f8f9fa;border-radius:15px;padding:1.5rem}.location-info h2{color:#333;margin-bottom:1rem}.location-info p{color:#666;font-size:1.05rem;line-height:1.8}.nearby-food-list h2{color:#333;margin-bottom:1.5rem}.location-cta{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;padding:2.5rem;text-align:center}.location-cta h2{font-size:2rem;margin-bottom:1rem}.location-cta p{font-size:1.2rem;margin-bottom:1.5rem;opacity:.9}.cta-button{background:#fff;border-radius:50px;box-shadow:0 5px 15px #0003;color:#667eea;display:inline-block;font-size:1.2rem;font-weight:700;padding:1rem 3rem;text-decoration:none;transition:all .3s}.cta-button:hover{box-shadow:0 8px 20px #0000004d;transform:translateY(-3px)}@media (max-width:768px){.shops-filters{align-items:stretch;flex-direction:column}.filter-group{align-items:flex-start;flex-direction:column}.location-header h1{font-size:1.8rem}.faq-section h2{font-size:1.5rem}}.pdpa-consent{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:1rem 0;padding:1rem}.pdpa-consent label{align-items:flex-start;color:#495057;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.pdpa-consent input[type=checkbox]{margin-top:.2rem;width:auto}.pdpa-consent a{color:#667eea;text-decoration:underline}.pdpa-notice{color:#6c757d;font-size:.8rem;font-style:italic;margin:.5rem 0 0 1.5rem}.referrer-field{margin:1rem 0}.referrer-field label{color:#495057;display:block;font-size:.9rem;margin-bottom:.5rem}.referrer-field select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:1rem;padding:.8rem;width:100%}.referrer-field select:focus{border-color:#667eea;outline:none}.pdpa-footer{border-top:1px solid #e9ecef;color:#6c757d;font-size:.8rem;margin-top:1rem;padding-top:1rem;text-align:center}.pdpa-footer a{color:#667eea;text-decoration:none}.pdpa-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:2rem auto;max-width:800px;padding:2rem}.pdpa-container h2{color:#667eea;margin-bottom:1rem}.effective-date{color:#6c757d;font-size:.9rem;margin-bottom:2rem}.pdpa-content section{border-bottom:1px solid #e9ecef;margin-bottom:2rem;padding-bottom:2rem}.pdpa-content section:last-of-type{border-bottom:none}.pdpa-content h3{color:#495057;font-size:1.2rem;margin-bottom:1rem}.pdpa-content ul{list-style:none;padding-left:0}.pdpa-content li{padding:.5rem 0 .5rem 1.5rem;position:relative}.pdpa-content li:before{color:#667eea;content:"✓";font-weight:700;left:0;position:absolute}.pdpa-footer{align-items:center;border-top:2px solid #e9ecef;display:flex;justify-content:space-between;margin-top:2rem;padding-top:2rem}.back-button{background:#667eea;border-radius:8px;color:#fff;display:inline-block;padding:.8rem 2rem;text-decoration:none;transition:all .3s}.back-button:hover{background:#764ba2;transform:translateY(-2px)}.last-updated{color:#6c757d;font-size:.8rem;margin:0}.footer-pdpa{font-size:.8rem;margin-top:.5rem}.footer-pdpa a{color:#667eea;text-decoration:none}.footer-pdpa a:hover{text-decoration:underline}@media (max-width:768px){.pdpa-container{margin:1rem;padding:1.5rem}.pdpa-footer{flex-direction:column;gap:1rem;text-align:center}}.meal-filter{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;display:flex;gap:1rem;margin:1.5rem 0;padding:1rem}.meal-filter label{color:#495057;font-size:1.1rem;font-weight:600;white-space:nowrap}.meal-filter select{background:#fff;border:2px solid #667eea;border-radius:8px;cursor:pointer;font-size:1rem;min-width:180px;padding:.8rem 1.2rem;transition:all .3s}.meal-filter select:focus{border-color:#764ba2;box-shadow:0 0 0 3px #667eea4d;outline:none}.meal-tag{background:#667eea;color:#fff;font-size:.9rem}.meal-tag,.source-tag{border-radius:20px;display:inline-block;margin-left:.5rem;padding:.3rem .8rem}.source-tag{background:#95e1d3;color:#333;font-size:.8rem}.food-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;padding:1rem;transition:transform .2s}.food-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.food-card h3{flex:1 1;margin:0}.food-emoji{font-size:2rem}.food-count{color:#6c757d;font-size:.9rem;margin-top:1rem;text-align:center}img.lazy{opacity:0;transition:opacity .3s}img.lazy.loaded{opacity:1}.food-image,.shop-card img{aspect-ratio:16/9;background-color:#f0f0f0;height:auto;object-fit:cover;width:100%}.wheel-canvas{backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}.spinning{animation:spin 4s ease}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.faq-section,.location-page,.shop-card{contain:layout style}@media (prefers-reduced-data:reduce){img:not(.essential){display:none}.wheel-canvas{max-height:300px;max-width:300px}}.spin-wheel-container{align-items:center;display:flex;flex-direction:column;min-height:400px;padding:20px}
/*# sourceMappingURL=main.3a3eb24e.css.map*/