@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--primary:#ff5a00;--primary-hover:#ff7026;--bg-dark:#0f1115;--bg-card:#181b21;--text-main:#fff;--text-muted:#8b92a5;--border-color:#2a2f3a;--success:#10b981;--danger:#ef4444}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);width:100vw;height:100vh;font-family:Outfit,sans-serif;overflow:hidden}#root{flex-direction:column;width:100%;height:100%;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.animate-fade-in{animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-pulse-slow{animation:3s ease-in-out infinite pulse}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:transform .1s}button:active{transform:scale(.95)}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#181b21b3;border:1px solid #ffffff0d}.flex-center{justify-content:center;align-items:center;display:flex}.welcome-container{cursor:pointer;width:100%;height:100vh;position:relative;overflow:hidden}.welcome-content{text-align:center;z-index:10;flex-direction:column;align-items:center;gap:2rem;width:100%;padding:0 1rem;display:flex}.brand-title{color:var(--text-main);justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1rem;font-size:4rem;font-weight:900;line-height:1.1;display:flex}@media (width<=768px){.brand-title{flex-direction:column;gap:.8rem;font-size:2.5rem}}@media (width<=480px){.brand-title{font-size:2rem}}.brand-logo{width:auto;height:100px}@media (width<=768px){.brand-logo{height:80px}}.brand-accent{color:var(--primary)}.welcome-subtitle{color:var(--text-muted);font-size:2rem}@media (width<=768px){.welcome-subtitle{padding:0 1rem;font-size:1.2rem}}.touch-prompt{border-radius:30px;flex-direction:column;align-items:center;gap:1rem;max-width:90%;margin-top:4rem;padding:3rem 5rem;display:flex}@media (width<=768px){.touch-prompt{width:90%;margin-top:2rem;padding:2rem}}.touch-icon{color:var(--primary);margin-bottom:1rem}.touch-prompt h2{font-size:2.5rem;font-weight:700}@media (width<=768px){.touch-prompt h2{font-size:1.8rem}}.touch-prompt p{color:var(--text-muted);font-size:1.5rem}@media (width<=768px){.touch-prompt p{font-size:1.1rem}}.background-decorations{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.blob{filter:blur(100px);opacity:.3;border-radius:50%;position:absolute}.blob-1{background:var(--primary);width:600px;height:600px;top:-100px;right:-100px}.blob-2{background:#ff2a00;width:500px;height:500px;bottom:-100px;left:-100px}.auth-container{background:var(--bg-dark);flex-direction:column;min-height:100dvh;display:flex;overflow-y:auto}.auth-card{border-radius:24px;width:100%;max-width:550px;margin:1rem;padding:2.5rem}@media (width<=768px){.auth-card{border-radius:16px;margin:.5rem;padding:1.5rem}}.auth-input-group{border:2px solid var(--border-color);background:#fff;border-radius:12px;align-items:center;padding:1rem 1.2rem;transition:border-color .2s;display:flex}.auth-input-group:focus-within{border-color:var(--primary)}.auth-input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;padding:.5rem 0;font-size:16px}.auth-btn{border-radius:12px;justify-content:center;align-items:center;gap:.8rem;width:100%;padding:1.2rem;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0003}.auth-choice-btn{padding:1.5rem;font-size:1.3rem}@media (width<=480px){.auth-choice-btn{padding:1.2rem;font-size:1.1rem}.auth-header h1{font-size:1.5rem}}.name-entry-container{background:var(--bg-dark);min-height:100vh;padding:2rem}.name-entry-content{text-align:center;border-radius:30px;flex-direction:column;gap:2.5rem;width:100%;max-width:800px;padding:3rem;display:flex}.entry-header h1{color:var(--text-main);margin:1rem 0 .5rem;font-size:2.5rem;font-weight:800}.entry-header p{color:var(--text-muted);font-size:1.2rem}.icon-circle{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto;display:flex;box-shadow:0 10px 20px #ff7a004d}.name-display{position:relative}.name-display input{text-align:center;width:100%;color:var(--text-main);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:20px;padding:1.5rem;font-size:2.5rem;font-weight:700;transition:all .3s}.name-display input.active{border-color:var(--primary);background:#ff7a000d;box-shadow:0 0 20px #ff7a001a}.keyboard{flex-direction:column;gap:.8rem;display:flex}.keyboard-row{justify-content:center;gap:.8rem;display:flex}.key-btn{color:var(--text-main);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:60px;height:65px;font-size:1.5rem;font-weight:600;transition:all .1s;display:flex}.key-btn:active{background:var(--primary);color:#fff;transform:scale(.9)}.delete-btn{color:#ef4444;background:#ef444433;border-color:#ef44444d;width:90px}.space-btn{text-transform:uppercase;letter-spacing:2px;width:400px;font-size:1.2rem}.continue-btn{color:#fff3;cursor:not-allowed;background:#ffffff0d;border-radius:20px;justify-content:center;align-items:center;gap:1rem;width:100%;padding:1.5rem;font-size:1.5rem;font-weight:700;transition:all .3s;display:flex}.continue-btn.active{background:var(--primary);color:#fff;cursor:pointer;box-shadow:0 10px 25px #ff7a0066}.continue-btn.active:hover{transform:translateY(-3px);box-shadow:0 15px 30px #ff7a0080}@media (width<=768px){.name-entry-container{min-height:100dvh;padding:1rem}.name-entry-content{border-radius:20px;gap:1.5rem;padding:1.5rem}.entry-header h1{font-size:1.8rem}.entry-header p{font-size:1rem}.name-display input{padding:1rem;font-size:1.5rem}.custom-keyboard{display:none}.continue-btn{padding:1.2rem;font-size:1.2rem}}.modal-overlay{z-index:100;background:#000c;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:30px;flex-direction:column;width:90%;max-width:800px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}@media (width<=768px){.modal-content{border-radius:20px;width:95%;max-height:95vh}}.close-btn{color:#fff;z-index:10;background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:absolute;top:1.5rem;right:1.5rem}@media (width<=480px){.close-btn{width:40px;height:40px;top:.8rem;right:.8rem}}.modal-header{flex-shrink:0;height:300px;position:relative}@media (width<=768px){.modal-header{height:200px}}@media (width<=480px){.modal-header{height:160px}}.modal-header img{object-fit:cover;width:100%;height:100%}.modal-title-area{background:linear-gradient(transparent, var(--bg-card) 90%);padding:3rem 2rem 1.5rem;position:absolute;bottom:0;left:0;right:0}@media (width<=480px){.modal-title-area{padding:2rem 1rem 1rem}}.modal-title-area h2{margin-bottom:.5rem;font-size:2.5rem;font-weight:800}@media (width<=768px){.modal-title-area h2{font-size:1.8rem}}.modal-title-area p{color:var(--text-muted);font-size:1.2rem}@media (width<=768px){.modal-title-area p{font-size:1rem}}.modifiers-section{flex:1;padding:2rem;overflow-y:auto}@media (width<=480px){.modifiers-section{padding:1rem}}.modifiers-section h3{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.5rem}@media (width<=480px){.modifiers-section h3{margin-bottom:1rem;font-size:1.2rem}}.modifiers-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}@media (width<=480px){.modifiers-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem}}.modifier-btn{background:var(--bg-dark);border:2px solid var(--border-color);color:var(--text-main);border-radius:15px;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;transition:all .2s;display:flex}@media (width<=480px){.modifier-btn{border-radius:12px;padding:1rem}}.modifier-btn.selected{border-color:var(--primary);background:#ff5a001a}.mod-check{border:2px solid var(--border-color);width:32px;height:32px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex}@media (width<=480px){.mod-check{width:24px;height:24px}}.modifier-btn.selected .mod-check{border-color:var(--primary);background:#ff5a0033}.mod-name{font-size:1.2rem;font-weight:600}@media (width<=480px){.mod-name{font-size:.95rem}}.mod-price{color:var(--text-muted)}.modal-footer{background:var(--bg-dark);border-top:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:2rem;padding:2rem;display:flex}@media (width<=768px){.modal-footer{gap:1.5rem;padding:1.2rem}}@media (width<=600px){.modal-footer{flex-direction:column;gap:1rem}.quantity-controls{justify-content:center;width:100%}}.quantity-controls{background:var(--bg-card);border-radius:40px;align-items:center;gap:1.5rem;padding:.5rem;display:flex}.qty-btn{background:var(--border-color);color:#fff;border-radius:50%;width:50px;height:50px;font-size:1.5rem;font-weight:700}@media (width<=480px){.qty-btn{width:40px;height:40px;font-size:1.2rem}}.qty-value{text-align:center;min-width:30px;font-size:1.8rem;font-weight:700}@media (width<=480px){.qty-value{font-size:1.4rem}}.add-to-cart-btn{background:var(--primary);color:#fff;text-transform:uppercase;border-radius:20px;flex:1;padding:1.5rem;font-size:1.5rem;font-weight:800}@media (width<=768px){.add-to-cart-btn{width:100%;padding:1.2rem;font-size:1.2rem}}.warning-toast{color:#c00;text-align:center;background-color:#fcc;border:1px solid #c00;border-radius:10px;margin-bottom:1rem;padding:1rem;font-weight:700}.menu-container{flex-direction:column;height:100vh;display:flex}.menu-header{z-index:20;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.back-btn{color:var(--text-main);background:0 0;border-radius:50%;padding:1rem;display:flex}.menu-brand{color:var(--primary);text-transform:uppercase;align-items:center;gap:1rem;font-size:2rem;font-weight:800;display:flex}.header-logo{width:auto;height:40px}.cart-btn{background:var(--primary);color:#fff;border-radius:20px;align-items:center;gap:1rem;padding:.8rem 1.5rem;font-size:1.5rem;font-weight:700;display:flex}.cart-icon-wrapper{display:flex;position:relative}.cart-badge{background:var(--bg-dark);color:var(--primary);border:2px solid var(--primary);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;display:flex;position:absolute;top:-10px;right:-10px}.menu-content{flex:1;display:flex;overflow:hidden}@media (width<=1024px){.menu-header{padding:1rem}.menu-brand{font-size:1.5rem}.cart-btn{padding:.6rem 1.2rem;font-size:1.2rem}}@media (width<=768px){.menu-container{height:100vh;overflow:hidden}.menu-content{flex-direction:column}.menu-header{gap:.5rem;padding:.8rem 1rem}.menu-brand{order:-1;width:auto;font-size:1.2rem}.back-btn{padding:.4rem}.cart-btn{border-radius:12px;padding:.5rem .8rem;font-size:1rem}}.categories-sidebar{border-right:1px solid var(--border-color);background:#181b214d;flex-direction:column;gap:1rem;width:250px;padding:2rem 1rem;display:flex;overflow-y:auto}@media (width<=768px){.categories-sidebar{border-right:none;border-bottom:1px solid var(--border-color);white-space:nowrap;-webkit-overflow-scrolling:touch;flex-direction:row;gap:.8rem;width:100%;height:auto;padding:.8rem;overflow:auto hidden}.category-btn{border-radius:10px;flex-shrink:0;padding:.8rem 1.2rem;font-size:.9rem}}.category-btn{background:var(--bg-card);color:var(--text-muted);text-align:left;border:1px solid #0000;border-radius:15px;padding:1.5rem;font-size:1.2rem;font-weight:600;transition:all .2s}.category-btn.active{background:var(--primary);color:#fff}.product-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:min-content;align-content:start;gap:2rem;padding:2rem;display:grid;overflow-y:auto}@media (width<=1024px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;padding:1.5rem}}@media (width<=480px){.product-grid{grid-template-columns:1fr;gap:1.2rem;padding:1rem}.product-card{min-height:auto}.product-image-container{height:150px}}.product-card{background:var(--bg-card);border-radius:20px;flex-direction:column;min-height:420px;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.product-card:active{transform:scale(.98)}.product-image-container{flex-shrink:0;width:100%;height:180px}.product-image{object-fit:cover;width:100%;height:100%}.product-info{flex-direction:column;flex:1;padding:1.5rem;display:flex}.product-info h3{margin-bottom:.5rem;font-size:1.25rem;line-height:1.2}.product-desc{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:1rem;font-size:1rem;line-height:1.3;display:-webkit-box;overflow:hidden}.product-bottom{justify-content:space-between;align-items:center;display:flex}.product-price{color:var(--primary);font-size:1.5rem;font-weight:700}.add-btn-main{background:var(--primary);color:#fff;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:1.1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #ff5a004d}.add-btn-main:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff5a0066}.checkout-container{flex-direction:column;height:100vh;display:flex}.checkout-content{flex:1;padding:2rem;overflow-y:auto}.empty-cart{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex}.empty-cart h2{color:var(--text-main);font-size:2.5rem}.return-btn{background:var(--primary);color:#fff;border-radius:20px;margin-top:2rem;padding:1rem 2.5rem;font-size:1.2rem;font-weight:700}.cart-list{flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;display:flex}.cart-item{border-radius:20px;align-items:center;gap:2rem;padding:1.5rem;display:flex}.cart-item-image{object-fit:cover;border-radius:15px;width:100px;height:100px}.cart-item-details{flex:1}.cart-item-details h3{margin-bottom:.5rem;font-size:1.5rem}.cart-item-modifiers{color:var(--text-muted);font-size:1.1rem;list-style:none}.cart-item-price{color:var(--primary);font-size:1.8rem;font-weight:700}.remove-btn{color:var(--danger);background:#ef44441a;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.checkout-footer{border-top:1px solid var(--border-color);background:#181b21f2;justify-content:space-between;align-items:center;padding:2rem 4rem;display:flex}.total-area{flex-direction:column;display:flex}.total-area span:first-child{color:var(--text-muted);font-size:1.2rem}.total-amount{color:var(--text-main);font-size:3rem;font-weight:800}.confirm-order-btn{background:var(--success);color:#fff;text-transform:uppercase;border-radius:20px;padding:1.5rem 4rem;font-size:1.8rem;font-weight:800}.cart-item-actions{gap:1rem;display:flex}.edit-btn{color:#333;background:#e0e0e0;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:.5rem;display:flex}.edit-btn:active{background:#ccc}.cart-item-qty-controls{background:#ffffff0d;border-radius:30px;align-items:center;gap:1.5rem;padding:.5rem 1rem;display:flex}.qty-action-btn{background:var(--primary);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;font-weight:700;display:flex}.qty-display{text-align:center;min-width:30px;font-size:1.5rem;font-weight:700}.confirmation-container{width:100%;height:100vh;padding:2rem}.confirmation-content{text-align:center;border-radius:30px;width:100%;max-width:600px;padding:4rem}.sending-state,.success-state{flex-direction:column;align-items:center;gap:2rem;display:flex}.spinner{border:8px solid #ff5a0033;border-top-color:var(--primary);border-radius:50%;width:80px;height:80px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-icon{color:var(--success)}.success-state h1{font-size:3rem;font-weight:800}.ticket-box{background:var(--bg-dark);border:2px dashed var(--border-color);border-radius:20px;flex-direction:column;gap:.5rem;margin:1rem 0;padding:2rem 4rem;display:flex}.ticket-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;font-size:1.2rem}.ticket-number{color:var(--primary);font-size:5rem;font-weight:900;line-height:1}.instruction-text{color:var(--text-muted);font-size:1.5rem;line-height:1.5}.instruction-text strong{color:var(--text-main);margin-top:.5rem;display:block}.timeout-bar-container{background:var(--bg-dark);border-radius:3px;width:100%;height:6px;margin-top:2rem;overflow:hidden}.timeout-bar{background:var(--primary);width:100%;height:100%;animation:8s linear forwards shrink}@keyframes shrink{0%{width:100%}to{width:0%}}.pickup-container{background-color:var(--bg-primary);width:100vw;height:100vh;color:var(--text-primary);display:flex;overflow:hidden}.pickup-column{flex-direction:column;flex:1;display:flex}.pickup-column.preparing{border-right:2px solid var(--border-color)}.column-header{text-align:center;text-transform:uppercase;letter-spacing:2px;padding:2rem 0;font-size:4rem;font-weight:800}.pickup-column.preparing .column-header{background-color:var(--bg-secondary);color:var(--text-muted)}.pickup-column.ready .column-header{background-color:var(--accent-color);color:#fff}.orders-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:min-content;align-content:start;align-items:start;gap:2rem;padding:3rem;display:grid;overflow-y:auto}.order-number{text-align:center;border-radius:1rem;padding:1.5rem;font-size:5rem;font-weight:900;box-shadow:0 10px 20px #0003}.preparing-number{background-color:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.ready-number{background-color:var(--accent-color);color:#fff}.empty-msg{text-align:center;color:var(--text-muted);grid-column:1/-1;margin-top:5rem;font-size:2rem}@keyframes pulse-ready{0%{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 15px 30px #e6394666}to{transform:scale(1)}}.animate-pulse-ready{animation:2s ease-in-out infinite pulse-ready}
