@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Outfit:wght@400;500;600;700&display=swap");:root{--color-navy:#123a5a;--color-navy-rgb:18,58,90;--color-accent:#2ec4c7;--color-accent-rgb:46,196,199;--color-sand:#f5f1e8;--color-white:#fff;--color-dark:#222;--color-gray:#777;--color-gold:#d4af37;--color-danger:#c0392b;--font-heading:"Playfair Display",serif;--font-body:"Outfit",sans-serif;--border-radius-sm:8px;--border-radius-md:16px;--border-radius-lg:32px;--shadow-soft:0 10px 40px rgba(18,58,90,.08);--shadow-medium:0 20px 50px rgba(18,58,90,.12)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--font-body);color:var(--color-dark);background-color:var(--color-sand);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-navy);margin:0}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}.page{min-height:100vh;display:flex;flex-direction:column}.top-bar{background-color:var(--color-navy);color:var(--color-white);padding:14px 24px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:40;box-shadow:var(--shadow-soft)}.top-bar,.top-bar-brand{display:flex;align-items:center}.top-bar-brand{gap:12px}.top-bar-brand .brand-name{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;letter-spacing:.5px}.top-bar-brand .brand-sub{font-size:.75rem;color:var(--color-accent);letter-spacing:1px;text-transform:uppercase}.top-bar-cart-btn{background-color:var(--color-accent);color:var(--color-navy);border:none;border-radius:50px;padding:10px 20px;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px;box-shadow:0 10px 20px rgba(46,196,199,.25)}.top-bar-cart-btn .cart-count{background-color:var(--color-navy);color:var(--color-white);border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.category-tabs{display:flex;gap:10px;overflow-x:auto;padding:14px 24px;background-color:var(--color-white);position:-webkit-sticky;position:sticky;top:62px;z-index:30;border-bottom:1px solid rgba(18,58,90,.08);scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab-btn{flex:0 0 auto;background-color:var(--color-sand);color:var(--color-navy);border:none;border-radius:50px;padding:9px 18px;font-size:.85rem;font-weight:600;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.category-tab-btn.active{background-color:var(--color-navy);color:var(--color-white)}.order-layout{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;flex:1 1;width:100%;max-width:1200px;margin:0 auto;padding:24px}@media (min-width:960px){.order-layout{grid-template-columns:minmax(0,1fr) 360px;gap:32px}}.menu-column{min-width:0}.menu-category-heading{font-size:1.4rem;margin:32px 0 4px;scroll-margin-top:120px}.menu-category-heading:first-child{margin-top:0}.category-note{background-color:rgba(46,196,199,.08);border-left:4px solid var(--color-accent);border-radius:var(--border-radius-sm);padding:12px 16px;font-size:.85rem;color:var(--color-navy);margin:10px 0 20px;line-height:1.5}.menu-item-row{display:flex;justify-content:space-between;align-items:center;gap:16px;background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-soft);padding:16px 18px;margin-bottom:12px}.menu-item-row-info{min-width:0}.menu-item-row-name{font-weight:600;font-size:1rem;color:var(--color-navy);margin-bottom:4px}.menu-item-row-desc{font-size:.85rem;color:var(--color-gray);line-height:1.4}.menu-item-row-price{font-weight:700;color:var(--color-navy);font-size:.9rem;margin-top:6px}.menu-item-add-btn{flex:0 0 auto;background-color:var(--color-white);border:1.5px solid var(--color-accent);color:var(--color-navy);border-radius:50%;width:40px;height:40px;font-size:1.3rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.menu-item-add-btn:hover{background-color:var(--color-accent);color:var(--color-navy)}.menu-item-qty-control{display:flex;align-items:center;gap:8px;background-color:var(--color-sand);border-radius:50px;padding:4px}.menu-item-qty-control button{background-color:var(--color-white);border:none;border-radius:50%;width:30px;height:30px;font-size:1rem;color:var(--color-navy);box-shadow:var(--shadow-soft)}.menu-item-qty-control span{min-width:18px;text-align:center;font-weight:600;color:var(--color-navy)}.cart-panel{background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-medium);padding:22px;align-self:start;position:-webkit-sticky;position:sticky;top:130px;display:none}@media (min-width:960px){.cart-panel{display:block}}.cart-panel h3{font-size:1.1rem;margin-bottom:16px}.cart-empty{color:var(--color-gray);font-size:.9rem;padding:20px 0;text-align:center}.cart-line{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(18,58,90,.06);font-size:.88rem}.cart-line-name{font-weight:600;color:var(--color-navy)}.cart-line-remove{background:none;border:none;color:var(--color-danger);font-size:.8rem;padding:0;margin-top:4px}.cart-total-row{font-weight:700;color:var(--color-navy);padding-top:14px;margin-top:8px;border-top:2px solid var(--color-sand);font-size:1.05rem}.cart-total-row,.mobile-cart-bar{display:flex;justify-content:space-between}.mobile-cart-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:35;background-color:var(--color-navy);color:var(--color-white);padding:14px 20px;align-items:center;box-shadow:0 -4px 20px rgba(0,0,0,.15)}@media (min-width:960px){.mobile-cart-bar{display:none}}.mobile-cart-bar-btn{background-color:var(--color-accent);color:var(--color-navy);padding:10px 22px;font-weight:700}.btn,.mobile-cart-bar-btn{border:none;border-radius:50px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-weight:600;font-size:.95rem;width:100%}.btn-primary{background-color:var(--color-navy);color:var(--color-white);box-shadow:0 10px 20px rgba(18,58,90,.2)}.btn-primary:hover{background-color:#0d2c45}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background-color:var(--color-accent);color:var(--color-navy);box-shadow:0 10px 20px rgba(46,196,199,.25)}.btn-outline{background-color:transparent;border:1.5px solid var(--color-navy);color:var(--color-navy)}.checkout-shell{max-width:560px;margin:0 auto;padding:32px 24px 80px}.checkout-shell h2{font-size:1.6rem;margin-bottom:6px}.checkout-summary-card{background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-soft);padding:18px 20px;margin:20px 0 28px}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:.85rem;font-weight:600;color:var(--color-navy);margin-bottom:6px}.form-field input,.form-field textarea{width:100%;padding:12px 14px;border:1.5px solid rgba(18,58,90,.15);border-radius:var(--border-radius-sm);font-family:var(--font-body);font-size:.95rem;background-color:var(--color-white)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(46,196,199,.15)}.payment-note{background-color:rgba(212,175,55,.1);border-left:4px solid var(--color-gold);border-radius:var(--border-radius-sm);padding:12px 16px;font-size:.85rem;color:var(--color-navy);margin:6px 0 24px}.payment-options{display:flex;gap:10px}.payment-option{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--color-sand);border:1.5px solid rgba(18,58,90,.15);border-radius:var(--border-radius-sm);padding:12px 10px;font-size:.9rem;font-weight:600;color:var(--color-navy);cursor:pointer}.payment-option.active{border-color:var(--color-accent);background:rgba(46,196,199,.12)}.payment-icon{font-size:1.05rem}.order-payment-tag{font-weight:600}.form-error{background-color:rgba(192,57,43,.08);color:var(--color-danger);border-radius:var(--border-radius-sm);padding:12px 16px;font-size:.88rem;margin-bottom:16px}.tracking-shell{max-width:520px;margin:0 auto;padding:40px 24px 80px;text-align:center}.tracking-order-id{font-size:.8rem;color:var(--color-gray);margin-bottom:30px}.status-stepper{display:flex;flex-direction:column;gap:0;text-align:left;margin:30px 0}.status-step{display:flex;gap:16px;position:relative;padding-bottom:32px}.status-step:last-child{padding-bottom:0}.status-step-marker{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background-color:var(--color-sand);color:var(--color-gray);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;position:relative;z-index:2}.status-step.done .status-step-marker{background-color:var(--color-accent);color:var(--color-navy)}.status-step.current .status-step-marker{background-color:var(--color-navy);color:var(--color-white);box-shadow:0 0 0 5px rgba(18,58,90,.12)}.status-step:not(:last-child):before{content:"";position:absolute;left:16px;top:34px;width:2px;height:calc(100% - 34px);background-color:var(--color-sand);z-index:1}.status-step.done:not(:last-child):before{background-color:var(--color-accent)}.status-step-label{font-weight:700;color:var(--color-navy);font-size:1rem}.status-step-desc{color:var(--color-gray);font-size:.85rem;margin-top:2px}.tracking-meta-card{background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-soft);padding:18px 20px;text-align:left;font-size:.9rem;color:var(--color-navy);margin-top:24px}.tracking-meta-card div+div{margin-top:6px}.kitchen-shell{max-width:1100px;margin:0 auto;padding:24px}.kitchen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.kitchen-nav-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:1px solid rgba(18,58,90,.12)}.kitchen-nav-tab-btn{background:none;border:none;border-bottom:3px solid transparent;padding:10px 4px 12px;font-size:.95rem;font-weight:600;color:var(--color-gray);margin-bottom:-1px}.kitchen-nav-tab-btn.active{color:var(--color-navy);border-bottom-color:var(--color-accent)}.naplo-day-group{margin-bottom:28px}.naplo-day-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;padding-bottom:8px;margin-bottom:12px;border-bottom:1.5px solid rgba(18,58,90,.1);font-weight:700;color:var(--color-navy);text-transform:capitalize}.naplo-day-summary{font-weight:500;font-size:.85rem;color:var(--color-gray);text-transform:none}.naplo-order-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.naplo-order-card{background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-soft);padding:16px 18px;border-left:4px solid var(--color-accent)}.naplo-order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px}.naplo-order-time{color:var(--color-gray);font-weight:400}.kitchen-login-shell{max-width:360px;margin:80px auto;padding:32px 28px;background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-medium);text-align:center}.kitchen-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.kitchen-order-card{background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-soft);padding:18px 20px;border-top:5px solid var(--color-accent)}.kitchen-order-card.status-beerkezett{border-top-color:var(--color-gold)}.kitchen-order-card.status-keszul{border-top-color:var(--color-accent)}.kitchen-order-card.status-kiszallitas{border-top-color:var(--color-navy)}.kitchen-order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.kitchen-order-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:50px;background-color:var(--color-sand);color:var(--color-navy)}.kitchen-order-items{font-size:.88rem;color:var(--color-dark);margin:10px 0;line-height:1.5}.kitchen-order-meta{font-size:.82rem;color:var(--color-gray);line-height:1.5;margin-bottom:12px}.kitchen-order-actions{display:flex;gap:8px}.kitchen-order-actions .btn{padding:10px 16px;font-size:.85rem}.empty-state{text-align:center;color:var(--color-gray);padding:60px 20px}