@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--color-bg:#0a0a0f;--color-bg-elevated:#12121a;--color-surface:#1a1a2e;--color-surface-hover:#22223a;--color-primary:#00d26a;--color-primary-dark:#00b35a;--color-primary-glow:#00d26a26;--color-primary-glow-strong:#00d26a4d;--color-secondary:#6c63ff;--color-secondary-glow:#6c63ff26;--color-text:#f0f0f5;--color-text-secondary:#a0a0b8;--color-text-muted:#6b6b80;--color-border:#ffffff0f;--color-border-hover:#ffffff1f;--color-error:#ff4757;--color-warning:#ffa502;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 48px #00000080;--shadow-glow:0 0 30px #00d26a26;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-fast:all .2s cubic-bezier(.4, 0, .2, 1);--transition:all .3s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .5s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 20%,#00d26a0a 0%,#0000 50%),radial-gradient(circle at 80% 20%,#6c63ff0a 0%,#0000 50%),radial-gradient(circle at 50% 80%,#00d26a05 0%,#0000 50%);width:200%;height:200%;animation:20s ease-in-out infinite bgFloat;position:fixed;top:-50%;left:-50%}@keyframes bgFloat{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(2%,-2%)rotate(1deg)}66%{transform:translate(-1%,1%)rotate(-1deg)}}.app-container{max-width:1280px;margin:0 auto;padding:0 24px}.navbar{-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:100;border-bottom:1px solid var(--color-border);background:#0a0a0fbf;padding:14px 0;position:sticky;top:0}.navbar-content{justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-logo{filter:drop-shadow(0 0 8px #00d26a66);width:auto;height:24px}.auth-logo{width:auto;height:28px;margin-bottom:12px}.nav-actions{align-items:center;gap:12px;display:flex}.nav-user{border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;font-weight:500;display:flex}h1{letter-spacing:-.03em;font-size:2.8rem;font-weight:800;line-height:1.15}h2{letter-spacing:-.02em;font-size:1.8rem;font-weight:700}h3{font-size:1.15rem;font-weight:600}.btn{border-radius:var(--radius-full);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), #00f09c);color:#0a0a0f;box-shadow:0 4px 20px #00d26a4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #00d26a66}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--color-primary);background:0 0;border:1.5px solid #00d26a4d}.btn-outline:hover{background:var(--color-primary-glow);border-color:var(--color-primary)}.btn-ghost{color:var(--color-text-secondary);background:0 0;border:none;padding:8px 12px}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface)}.btn-sm{padding:8px 16px;font-size:.82rem}.btn-icon{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;padding:0;display:flex;position:relative}.btn-icon:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-glow)}.cart-badge{background:var(--color-error);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.hero{text-align:center;padding:64px 0 40px}.hero h1 span{background:linear-gradient(135deg, var(--color-primary), #00f09c);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero p{color:var(--color-text-secondary);max-width:500px;margin-top:12px;margin-left:auto;margin-right:auto;font-size:1.15rem}.search-bar{max-width:520px;margin:28px auto 0;position:relative}.search-bar input{border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);transition:var(--transition);outline:none;padding:14px 20px 14px 48px;font-family:Inter,sans-serif;font-size:.95rem}.search-bar input::placeholder{color:var(--color-text-muted)}.search-bar input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow)}.search-bar svg{color:var(--color-text-muted);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.filter-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.chip{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition);padding:8px 18px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip.active{background:var(--color-primary-glow-strong);border-color:var(--color-primary);color:var(--color-primary)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;margin-top:36px;padding-bottom:60px;display:grid}.restaurant-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:var(--transition);cursor:pointer;color:inherit;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.restaurant-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-6px)}.restaurant-card:hover .restaurant-img{transform:scale(1.05)}.restaurant-img-wrapper{height:200px;position:relative;overflow:hidden}.restaurant-img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}.restaurant-img-wrapper:after{content:"";background:linear-gradient(to top, var(--color-surface), transparent);pointer-events:none;height:50%;position:absolute;bottom:0;left:0;right:0}.restaurant-info{padding:18px 20px 20px}.restaurant-meta{align-items:center;gap:12px;margin-top:8px;display:flex}.badge{border-radius:var(--radius-full);margin-bottom:10px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.badge-cuisine{background:var(--color-primary-glow-strong);color:var(--color-primary)}.badge-rating{color:var(--color-warning);background:#ffa50226;align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.badge-time{color:var(--color-text-muted);font-size:.82rem}.page-header{padding:32px 0 0}.back-link{color:var(--color-text-secondary);transition:var(--transition-fast);align-items:center;gap:6px;margin-bottom:16px;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-primary)}.menu-container{grid-template-columns:1fr 380px;align-items:start;gap:32px;margin-top:28px;padding-bottom:60px;display:grid}@media (width<=900px){.menu-container{grid-template-columns:1fr}}.menu-item{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:var(--transition);justify-content:space-between;align-items:center;margin-bottom:12px;padding:18px 20px;display:flex}.menu-item:hover{border-color:var(--color-primary);background:var(--color-surface-hover);box-shadow:0 0 20px var(--color-primary-glow)}.menu-item-info h3{margin-bottom:4px}.menu-item-price{color:var(--color-primary);margin-top:6px;font-size:1.05rem;font-weight:700}.cart-panel{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:24px;position:sticky;top:90px}.cart-panel h3{align-items:center;gap:8px;display:flex}.cart-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 0;font-size:.92rem;display:flex}.cart-item-name{align-items:center;gap:8px;display:flex}.cart-qty{background:var(--color-primary-glow-strong);color:var(--color-primary);border-radius:var(--radius-sm);padding:2px 8px;font-size:.8rem;font-weight:700}.auth-page{justify-content:center;align-items:center;min-height:80vh;padding:40px 20px;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:40px}.auth-card h1{margin-bottom:8px;font-size:2rem}.auth-card p{color:var(--color-text-secondary);margin-bottom:28px}.form-group{margin-bottom:18px}.form-group label{color:var(--color-text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.form-group input{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-bg-elevated);width:100%;color:var(--color-text);transition:var(--transition);outline:none;padding:12px 16px;font-family:Inter,sans-serif;font-size:.95rem}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow)}.form-error{color:var(--color-error);margin-top:4px;font-size:.85rem}.auth-footer{text-align:center;color:var(--color-text-muted);margin-top:20px;font-size:.88rem}.auth-footer a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.payment-options{flex-direction:column;gap:10px;margin-top:12px;display:flex}.payment-option{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-bg-elevated);cursor:pointer;transition:var(--transition);align-items:center;gap:12px;padding:14px 18px;display:flex;position:relative}.payment-option.active{border-color:var(--color-primary);background:var(--color-primary-glow)}.payment-option.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.payment-option .radio-dot{border:2px solid var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.payment-option.active .radio-dot{border-color:var(--color-primary)}.payment-option.active .radio-dot:after{content:"";background:var(--color-primary);border-radius:50%;width:10px;height:10px}.payment-option .unavailable-tag{color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius-full);padding:2px 8px;font-size:.7rem;font-weight:600;position:absolute;right:14px}.success-page{text-align:center;padding:80px 20px;animation:.6s fadeInUp}.success-icon{color:var(--color-primary);filter:drop-shadow(0 0 20px #00d26a66);margin-bottom:24px;animation:2s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.justify-between{justify-content:space-between}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}[data-theme=light]{--color-bg:#edeef1;--color-bg-elevated:#f4f4f6;--color-surface:#f4f4f6;--color-surface-hover:#eaebee;--color-primary:#00b14f;--color-primary-dark:#009040;--color-primary-glow:#00b14f1a;--color-primary-glow-strong:#00b14f26;--color-secondary:#6c63ff;--color-secondary-glow:#6c63ff1a;--color-text:#1a1a2e;--color-text-secondary:#555570;--color-text-muted:#8e8ea0;--color-border:#00000014;--color-border-hover:#00000026;--color-error:#e53e3e;--color-warning:#dd6b20;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 30px #0000001a;--shadow-glow:0 0 20px #00b14f1a}[data-theme=light] body:before{background:radial-gradient(circle at 20%,#00b14f0a 0%,#0000 50%),radial-gradient(circle at 80% 20%,#6c63ff08 0%,#0000 50%),radial-gradient(circle at 50% 80%,#00b14f05 0%,#0000 50%)}[data-theme=light] .navbar{background:#fffc}[data-theme=light] .btn-primary{color:#fff;background:linear-gradient(135deg,#00b14f,#00d26a);box-shadow:0 4px 16px #00b14f40}[data-theme=nature]{--color-bg:#f0ebe3;--color-bg-elevated:#faf6f0;--color-surface:#faf6f0;--color-surface-hover:#ede7dd;--color-primary:#4a7c59;--color-primary-dark:#3a6347;--color-primary-glow:#4a7c591f;--color-primary-glow-strong:#4a7c5933;--color-secondary:#8b6f47;--color-secondary-glow:#8b6f471a;--color-text:#2c2c1e;--color-text-secondary:#5a5a42;--color-text-muted:#8a8a6e;--color-border:#4a7c591f;--color-border-hover:#4a7c5940;--color-error:#c0392b;--color-warning:#d4a017;--shadow-sm:0 1px 4px #2c2c1e0f;--shadow-md:0 4px 14px #2c2c1e14;--shadow-lg:0 10px 30px #2c2c1e1a;--shadow-glow:0 0 20px #4a7c591f}[data-theme=nature] body:before{background:radial-gradient(circle at 20% 40%,#4a7c590f 0%,#0000 50%),radial-gradient(circle at 80% 20%,#8b6f470a 0%,#0000 50%),radial-gradient(circle at 40% 80%,#4a7c5908 0%,#0000 50%)}[data-theme=nature] .navbar{background:#f0ebe3d9}[data-theme=nature] .hero h1 span{background:linear-gradient(135deg,#4a7c59,#6fa07c);-webkit-background-clip:text;background-clip:text}[data-theme=nature] .btn-primary{color:#fff;background:linear-gradient(135deg,#4a7c59,#6fa07c);box-shadow:0 4px 16px #4a7c5940}[data-theme=nature] .btn-outline{color:#4a7c59;border-color:#4a7c594d}[data-theme=nature] .btn-outline:hover{background:#4a7c591a;border-color:#4a7c59}[data-theme=nature] .badge-cuisine{color:#3a6347;background:#4a7c5926}.theme-switcher{border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);align-items:center;gap:4px;padding:4px;display:flex}.theme-btn{cursor:pointer;width:32px;height:32px;color:var(--color-text-muted);transition:var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.theme-btn:hover{color:var(--color-text);background:var(--color-surface-hover)}.theme-btn.active{background:var(--color-primary-glow-strong);color:var(--color-primary);box-shadow:0 0 8px var(--color-primary-glow)}@media (width<=768px){h1{font-size:2rem}h2{font-size:1.4rem}.app-container{padding:0 16px}.hero{padding:32px 0 20px}.hero p{font-size:1rem}.card-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.auth-card{padding:28px 22px}.auth-card h1{font-size:1.6rem}.menu-container{grid-template-columns:1fr;gap:20px}.cart-panel{position:static}.navbar{padding:10px 0}.nav-user span{display:none}.nav-user{padding:6px}.theme-switcher{gap:2px;padding:3px}.theme-btn{width:28px;height:28px}.nav-actions{gap:8px}.filter-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:8px;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;flex-shrink:0;padding:8px 14px;font-size:.82rem}.restaurant-img-wrapper{height:170px}.restaurant-info{padding:14px 16px 16px}.menu-item{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.menu-item>div:last-child{align-self:flex-end}.payment-option{gap:10px;padding:12px 14px;font-size:.9rem}.payment-option .unavailable-tag{margin-left:auto;position:static}.success-page{padding:60px 16px}.success-icon{width:56px!important;height:56px!important}.page-header{padding:20px 0 0}.page-header h1{font-size:1.6rem}.page-header .flex{flex-wrap:wrap;gap:8px!important}}@media (width<=480px){h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1rem}.app-container{padding:0 12px}.hero{padding:24px 0 16px}.hero p{font-size:.92rem}.search-bar{margin:20px auto 0}.search-bar input{padding:12px 16px 12px 42px;font-size:.9rem}.brand-logo{height:20px}.btn-icon{width:36px;height:36px}.btn-sm{padding:6px 12px;font-size:.78rem}.btn-outline{font-size:.82rem}.auth-card{border-radius:var(--radius-lg);padding:24px 18px}.auth-card h1{font-size:1.4rem}.form-group input{padding:10px 14px;font-size:.9rem}.form-group label{font-size:.82rem}.cart-panel{border-radius:var(--radius-md);padding:18px 16px}.cart-item{padding:10px 0;font-size:.85rem}.restaurant-img-wrapper{height:150px}.restaurant-info{padding:12px 14px 14px}.restaurant-info h3{font-size:1rem}.restaurant-meta{flex-wrap:wrap;gap:8px}.card-grid{padding-bottom:32px}.menu-item{margin-bottom:8px;padding:14px}.menu-item-info h3,.menu-item-price{font-size:.95rem}.payment-option{flex-wrap:wrap;padding:10px 12px}button,a,.chip,.payment-option,.btn-icon{min-height:44px}.btn{padding:10px 18px;font-size:.85rem}.btn-primary{font-size:.9rem}}@media (hover:none) and (pointer:coarse){.restaurant-card:hover{transform:none}.restaurant-card:active{transition:transform .1s;transform:scale(.98)}.restaurant-card:hover .restaurant-img,.btn-primary:hover{transform:none}.btn-primary:active{transform:scale(.97)}.menu-item:hover{border-color:var(--color-border);background:var(--color-surface);box-shadow:none}.menu-item:active{background:var(--color-surface-hover)}*{-webkit-tap-highlight-color:#00d26a1a}}
