:root{--brand-1:#323673;--brand-2:#323073;--brand-primary:#8b5cf6;--brand-secondary:#6366f1;--brand-gradient:linear-gradient(135deg, #8b5cf6, #6366f1);--bg:#f8f9fc;--panel:#fff;--card:#fff;--soft:#f1f3f9;--text:#1e293b;--text-secondary:#64748b;--muted:#64748b;--chip:#e2e8f0;--border:#e2e8f0;--border-focus:#a78bfa;--shadow-sm:0 1px 3px #0f172a14;--shadow:0 4px 12px #0f172a1a;--shadow-lg:0 12px 24px #0f172a26;--success:#10b981;--success-bg:#d1fae5;--error:#ef4444;--error-bg:#fee2e2;--warning:#f59e0b;--warning-bg:#fef3c7;--info:#3b82f6;--info-bg:#dbeafe;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}[data-theme=dark]{--bg:#0f1117;--panel:#1a1f2e;--card:#242938;--soft:#2d3448;--text:#f1f5f9;--text-secondary:#94a3b8;--muted:#94a3b8;--chip:#334155;--border:#334155;--border-focus:#8b5cf6;--shadow-sm:0 1px 3px #0000004d;--shadow:0 4px 12px #0006;--shadow-lg:0 12px 24px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.app-shell,.main-content,.content-area,.public-shell,.public-content{min-width:0;max-width:100%;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.app-shell{background:var(--bg);min-height:100vh;display:flex}.sidebar{background:var(--panel);width:280px;color:var(--text);border-right:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;gap:24px;padding:24px 20px;transition:transform .3s;display:flex}.mobile-menu-toggle{z-index:1001;background:var(--brand-gradient);cursor:pointer;width:48px;height:48px;box-shadow:var(--shadow-lg);border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;transition:all .3s;display:none;position:fixed;top:16px;left:16px}.mobile-menu-toggle span{background:#fff;border-radius:2px;width:24px;height:3px;transition:all .3s;display:block}.mobile-menu-toggle.open span:first-child{transform:translateY(8px)rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}@media (width<=1024px){.mobile-menu-toggle{display:flex}.sidebar{z-index:1000;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{box-shadow:var(--shadow-lg);transform:translate(0)}.mobile-overlay{z-index:999;background:#00000080;animation:.3s fadeIn;display:block;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.brand{align-items:center;gap:14px;padding:8px;display:flex}.brand-mark{background:var(--brand-gradient);color:#fff;width:48px;height:48px;box-shadow:var(--shadow);border-radius:14px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.brand-text{flex-direction:column;display:flex}.brand-title{background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:700}.brand-subtitle{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:.75rem;font-weight:500}.nav{flex-direction:column;gap:8px;display:flex}.nav-item{color:var(--muted);border-radius:10px;padding:10px 14px;transition:background .2s,color .2s}.nav-item.active,.nav-item:hover{background:var(--soft);color:var(--text)}.sidebar-footer{gap:12px;margin-top:auto;display:grid}.order-toggle{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b840;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;font-weight:600;display:inline-flex}.order-toggle input{opacity:0;pointer-events:none;position:absolute}.order-toggle-track{background:#ef4444;border-radius:999px;align-items:center;width:44px;height:24px;padding:2px;transition:background .2s;display:inline-flex}.order-toggle-thumb{background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .2s;transform:translate(0)}.order-toggle.is-open .order-toggle-track{background:#22c55e}.order-toggle input:checked+.order-toggle-track .order-toggle-thumb{transform:translate(20px)}.order-toggle-label{letter-spacing:.2px;font-size:13px}.ghost-button{background:var(--soft);border:2px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;width:100%;padding:10px 20px;font-size:.95rem;font-weight:600;transition:all .2s}.ghost-button:hover{border-color:var(--brand-primary);background:var(--panel);color:var(--brand-primary);transform:translateY(-1px)}.ghost-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.danger-button{background:var(--error);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #ef44444d}.danger-button:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.danger-button:active{transform:translateY(0)}.danger-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.main-content{flex-direction:column;flex:1;display:flex}.topbar{justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.topbar-title{color:var(--text);font-size:1.4rem;font-weight:600}.topbar-actions{align-items:center;gap:12px;display:flex}.topbar-username{color:var(--muted);font-weight:600}.primary-button{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #8b5cf64d}.primary-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.primary-button:active{transform:translateY(0)}.primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.theme-toggle{background:var(--chip);color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:8px 12px;font-weight:600}.content-area{padding:0 32px 32px}.dashboard-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.dashboard-header p{color:var(--muted);margin:6px 0 0}.dashboard-actions{align-items:center;gap:10px;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px;display:grid}.kpi-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;gap:6px;padding:14px 16px;display:grid}.kpi-card span{color:var(--muted);font-size:.9rem}.kpi-card strong{font-size:1.4rem}.dashboard-quick{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:18px;display:grid}.quick-card{background:var(--panel);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);border-radius:14px;gap:6px;padding:14px 16px;display:grid}.quick-card span{color:var(--muted);font-size:.9rem}.dashboard-filters{grid-template-columns:1fr repeat(2,180px) auto;align-items:center;gap:10px;margin-bottom:16px;display:grid}.dashboard-filters input,.dashboard-filters select{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:10px 12px}.dashboard-updated{color:var(--muted);justify-self:end;font-size:.85rem}.menu-management-view .category-list{gap:10px;display:grid}.menu-management-view .category-manager{background:var(--soft);border:1px solid var(--border);border-radius:16px;margin:12px 0 18px;padding:12px 14px}.menu-management-view .category-create-form,.menu-management-view .category-edit-form{align-items:center;gap:8px;display:flex}.menu-management-view .category-manager-list{gap:8px;margin-top:10px;display:grid}.menu-management-view .category-manager-row{background:var(--card);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.menu-management-view .category-manager-name{color:#0f172a;font-weight:700}.menu-management-view .category-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:10px 12px}.menu-management-view .item-list{gap:6px;margin-top:8px;display:grid}.menu-management-view .item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px 10px}.menu-management-view .item-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-management-view .item-row.clickable{cursor:pointer}.menu-management-view .item-row.clickable:hover{background:#f1f5f9;border-radius:10px}.menu-management-view .item-row-title{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.menu-management-view .item-row-price{color:#0f172a;font-weight:700}.menu-management-view .item-row-old{color:#64748b;font-weight:600}.menu-management-view .item-row-actions{flex-wrap:wrap;gap:6px;display:flex}.menu-management-view button.soldout-toggle.mark-soldout{background:#dc2626}.menu-management-view button.soldout-toggle.mark-soldout:hover{background:#b91c1c}.menu-management-view button.soldout-toggle.activate{background:#16a34a}.menu-management-view button.soldout-toggle.activate:hover{background:#15803d}.menu-management-view .item-card h4{color:#0f172a;margin:0 0 4px}.menu-management-view .item-card p{margin:4px 0}.menu-management-view form{gap:6px;margin:8px 0;display:grid}.menu-management-view .compact-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;display:grid}.menu-management-view .compact-form .span-full{grid-column:1/-1}.card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 12px 30px #0f172a14}.main-layout{grid-template-columns:2fr 1fr;gap:24px;display:grid}.main-layout.checkout-layout{grid-template-columns:1fr;max-width:1200px;margin:0 auto}.menu-container,.cart-container,.order-dashboard,.reservation-view,.daily-report-view,.settings-view,.menu-management-view,.order-dashboard,.reservation-view,.backup-view,.user-management-view{background:#fff;border-radius:20px;padding:24px;box-shadow:0 12px 30px #0f172a14}.admin-page-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding-bottom:20px;display:flex}.admin-page-header-content h2{color:#1e293b;align-items:center;gap:12px;margin:0 0 6px;font-size:1.5rem;font-weight:700;display:flex}.admin-page-header-content p{color:#64748b;margin:0;font-size:.95rem}.admin-page-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:20px;padding:20px;transition:box-shadow .2s}.admin-section:hover{box-shadow:0 4px 20px #0f172a0f}.admin-section-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}.admin-section-title{color:#1e293b;align-items:center;gap:10px;margin:0;font-size:1.1rem;font-weight:600;display:flex}.admin-section-title .icon{font-size:1.3rem}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-stat-card{text-align:center;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:16px;padding:20px;transition:all .2s;position:relative;overflow:hidden}.admin-stat-card:before{content:"";background:linear-gradient(90deg,#8b5cf6,#6366f1);height:4px;position:absolute;top:0;left:0;right:0}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a1a}.admin-stat-card .icon{margin-bottom:8px;font-size:1.5rem}.admin-stat-card .value{color:#1e293b;margin-bottom:4px;font-size:1.75rem;font-weight:700}.admin-stat-card .label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.admin-stat-card.primary:before{background:linear-gradient(90deg,#10b981,#059669)}.admin-stat-card.primary{background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none}.admin-stat-card.primary .value,.admin-stat-card.primary .label,.admin-stat-card.primary .icon{color:#fff}.admin-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:2px solid #e2e8f0;padding:14px 16px;font-size:.8rem;font-weight:600}.admin-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:.95rem}.admin-table tr:hover{background:#f8fafc}.admin-table tr:last-child td{border-bottom:none}.admin-form{gap:20px;display:grid}.admin-form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.admin-form-group{flex-direction:column;gap:8px;display:flex}.admin-form-group label{color:#334155;font-size:.9rem;font-weight:600}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;font-size:1rem;transition:all .2s}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px #8b5cf626}.admin-form-group textarea{resize:vertical;min-height:100px}.admin-form-group small{color:#64748b;font-size:.8rem}.admin-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.admin-btn-primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 4px 12px #8b5cf64d}.admin-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.admin-btn-success{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.admin-btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.admin-btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.admin-btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.admin-btn-warning{color:#111827;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b59}.admin-btn-warning:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d9770666}.admin-btn-secondary{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.admin-btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1}.admin-btn-sm{padding:8px 14px;font-size:.85rem}.admin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.admin-badge{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.admin-badge-success{color:#065f46;background:#d1fae5}.admin-badge-warning{color:#92400e;background:#fef3c7}.admin-badge-danger{color:#991b1b;background:#fee2e2}.admin-badge-info{color:#1e40af;background:#dbeafe}.admin-badge-neutral{color:#475569;background:#f1f5f9}.admin-empty-state{text-align:center;color:#64748b;padding:48px 24px}.admin-empty-state .icon{opacity:.5;margin-bottom:16px;font-size:3rem}.admin-empty-state h3{color:#475569;margin:0 0 8px;font-size:1.2rem}.admin-empty-state p{margin:0;font-size:.95rem}.admin-alert{border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.admin-alert-success{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.admin-alert-warning{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.admin-alert-danger,.admin-alert-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.admin-alert-info{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}.admin-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:48px;display:flex}.admin-loading-spinner{border:3px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:.8s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-tabs{border-bottom:2px solid #e2e8f0;gap:8px;margin-bottom:24px;padding-bottom:0;display:flex}.admin-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .2s}.admin-tab:hover{color:#1e293b}.admin-tab.active{color:#8b5cf6;border-bottom-color:#8b5cf6}.admin-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;transition:all .2s}.admin-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.admin-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-card-title{color:#1e293b;font-size:1rem;font-weight:600}.admin-card-body{color:#64748b;font-size:.9rem;line-height:1.5}.admin-card-footer{border-top:1px solid #f1f5f9;gap:8px;margin-top:16px;padding-top:12px;display:flex}.daily-report-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.daily-report-layout{grid-template-columns:320px 1fr;align-items:start;gap:16px;display:grid}.daily-report-sidebar{gap:12px;min-width:0;display:grid}.daily-report-content{gap:16px;min-width:0;display:grid}.report-actions-panel{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:16px;padding:20px}.report-actions-panel label{color:#334155;gap:8px;font-size:.9rem;font-weight:600;display:grid}.report-actions-panel input{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:4px;padding:12px 14px;font-size:1rem;transition:all .2s}.report-actions-panel input:focus{border-color:#f97316;outline:none;box-shadow:0 0 0 3px #f9731626}.report-action-buttons{gap:8px;margin-top:12px;display:grid}.report-action-buttons button{border-radius:12px;width:100%;padding:12px 16px;font-weight:600;transition:all .2s}.report-action-buttons button:first-child{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.report-action-buttons button:first-child:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-1px)}.report-action-buttons button:nth-child(2){background:linear-gradient(135deg,#10b981,#059669)}.report-action-buttons button:nth-child(2):hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.report-action-buttons button:nth-child(3){background:linear-gradient(135deg,#3b82f6,#2563eb)}.report-action-buttons button:nth-child(3):hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.report-list ul{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.report-list button{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 12px;font-weight:600}.report-list button:hover{border-color:#f97316}@media (width<=1024px){.daily-report-layout{grid-template-columns:1fr}}.menu-container h2,.cart-container h2,.order-dashboard h2,.reservation-view h2,.daily-report-view h2,.settings-view h2,.menu-management-view h2{color:#0f172a;margin-bottom:16px;font-size:1.5rem}.menu-category{margin-bottom:24px}.menu-category h3{text-align:center;color:var(--brand-1);border-bottom:2px solid var(--border);margin:0 0 16px;padding:12px 0;font-size:1.25rem;font-weight:700}.menu-item{background:var(--soft);cursor:pointer;border:1px solid #0000;border-radius:16px;flex-direction:column;gap:8px;margin-bottom:12px;padding:16px;transition:all .2s;display:flex}.menu-item:hover{background:var(--card);border-color:var(--border);box-shadow:var(--shadow-sm)}.menu-item:active{transform:scale(.98)}.menu-item-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.menu-item-header h4{color:var(--text);word-break:break-word;flex:1;margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.menu-item p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.menu-item p small{color:var(--text-secondary);opacity:.8;font-size:.85rem}.price-badge{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;font-weight:700;display:flex}.price-old{color:var(--text-secondary);font-size:.85rem;font-weight:500;text-decoration:line-through}.price-new{color:var(--brand-1);white-space:nowrap;font-size:1.1rem}.menu-item-footer{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-top:4px;display:flex}.allergen-badges{flex-wrap:wrap;gap:6px;display:flex}.badge{background:var(--border);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge.promo{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a)}.badge.sold-out{color:#991b1b;background:linear-gradient(135deg,#fee2e2,#fecaca)}.menu-item.sold-out{opacity:.75;cursor:not-allowed}.menu-item button:disabled,.cart-container button:disabled,.order-dashboard button:disabled,.reservation-view button:disabled,.menu-management-view button:disabled,.daily-report-view button:disabled{cursor:not-allowed;background:#94a3b8}.menu-item button,.cart-container button,.order-dashboard button,.reservation-view button,.menu-management-view button,.daily-report-view button{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:10px;padding:8px 12px}.menu-item button:hover,.cart-container button:hover,.order-dashboard button:hover,.reservation-view button:hover,.menu-management-view button:hover,.daily-report-view button:hover{background:#1e293b}.cart-container{height:fit-content;position:sticky;top:24px}.cart-item{background:#f1f5f9;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 10px;display:flex}.cart-total{margin:12px 0;font-size:1.1rem}.order-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.order-board{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.order-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;min-height:240px;padding:12px;display:flex}.order-column-header{color:#0f172a;justify-content:space-between;align-items:center;font-weight:700;display:flex}.order-column-header h3{margin:0;font-size:1rem}.order-column-header span{color:#0f172a;background:#e2e8f0;border-radius:999px;padding:2px 8px;font-size:.85rem}.order-column-list{gap:12px;display:grid}.order-card{background:#f8fafc;border-left:4px solid #f97316;border-radius:16px;padding:16px}.order-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.table-map{background:#f8fafc;border-radius:16px;min-height:420px;padding:24px;position:relative;overflow:hidden}.reservation-map{background:radial-gradient(circle at 0 0,#f9731614,#0000 55%),radial-gradient(circle at 100% 100%,#0ea5e91f,#0000 55%),repeating-linear-gradient(45deg,#0f172a0a,#0f172a0a 12px,#0000 12px 28px),#f8fafc;border:1px solid #94a3b859}.table-object{text-align:center;background:#e2e8f0;border-radius:14px;min-width:120px;padding:8px 12px;position:absolute;box-shadow:0 10px 20px #0f172a1a}.reservation-map .table-object{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;padding:10px 14px;font-weight:600;transition:transform .2s,box-shadow .2s}.reservation-map .table-object.free:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 16px 30px #0f172a29}.reservation-map .table-object.free{cursor:pointer}.table-object.free{background:#f0fdf4;border:2px solid #22c55e}.table-object.reserved{background:#fef2f2;border:2px solid #ef4444}.reservation-legend{color:#475569;flex-wrap:wrap;gap:12px;margin:8px 0 16px;font-weight:600;display:flex}.legend-item{background:#94a3b829;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.legend-dot{background:#94a3b8;border-radius:50%;width:10px;height:10px}.legend-dot.free{background:#22c55e}.legend-dot.reserved{background:#ef4444}.legend-dot.select{background:#0ea5e9}.reservation-list-container{gap:16px;display:grid}.reservation-split{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.reservation-panel{background:#f8fafc;border-radius:16px;padding:16px}.reservation-item{background:#fff;border-radius:12px;margin-top:12px;padding:12px 14px;box-shadow:0 10px 20px #0f172a14}.reservation-rejected{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:16px}.reservation-overrides{gap:10px;margin-top:12px;display:grid}.action-buttons{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.confirm-btn{background:#22c55e}.reject-btn{background:#ef4444}.report-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;min-width:0;margin-bottom:20px;display:grid}.report-controls{gap:16px;margin-bottom:20px;display:grid}.report-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.report-calendar{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border:none;border-radius:16px;gap:12px;padding:16px;display:grid;box-shadow:0 4px 20px #0f172a26}.report-calendar-header{color:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex}.report-calendar-header strong{color:#fff;font-size:1rem}.report-calendar-header button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;padding:6px 12px;transition:all .2s}.report-calendar-header button:hover{background:#fff3}.report-calendar-grid{grid-template-columns:repeat(7,minmax(36px,1fr));gap:6px;display:grid}.calendar-label{color:#fff9;text-align:center;font-size:.75rem;font-weight:500}.calendar-cell{color:#fff;text-align:center;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:8px 0;font-size:.9rem;font-weight:600;transition:all .2s}.calendar-cell:hover{background:#ffffff26}.calendar-cell.empty{cursor:default;background:0 0;border:none}.calendar-cell.has-report{color:#6ee7b7;background:#10b98133;border-color:#10b981}.calendar-cell.selected{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c);border-color:#f97316;box-shadow:0 2px 8px #f9731666}.monthly-report{margin-top:24px}.summary-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px 16px;transition:all .2s;position:relative;overflow:hidden}.summary-card:before{content:"";background:linear-gradient(90deg,#f97316,#fb923c);height:4px;position:absolute;top:0;left:0;right:0}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0f172a14}.summary-card h4{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:.8rem;font-weight:600}.summary-card p{color:#0f172a;margin:0;font-size:1.5rem;font-weight:700}.summary-card small{color:#94a3b8;margin-top:4px;font-size:.75rem;display:block}.summary-card.hero{background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;grid-column:span 2}.summary-card.hero:before{display:none}.summary-card.hero h4{color:#fffc}.summary-card.hero p{color:#fff;font-size:2rem}.summary-card.hero small{color:#ffffffb3}.report-order-list{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:16px;overflow:hidden}.report-order-list table{border-collapse:collapse;width:100%}.report-order-list th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:2px solid #e2e8f0;padding:14px 16px;font-size:.85rem;font-weight:600}.report-order-list td{text-align:left;color:#334155;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:.95rem}.report-order-list tr:hover{background:#f8fafc}.report-order-list tr:last-child td{border-bottom:none}.daily-report-content h3{color:#1e293b;border-bottom:2px solid #e2e8f0;align-items:center;gap:8px;margin:24px 0 8px;padding-bottom:8px;font-size:1.1rem;display:flex}.settings-menu{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.settings-menu a{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px;font-weight:600}.settings-menu a:hover{border-color:#f97316}.settings-list{gap:10px;margin-top:16px;display:grid}.settings-tab-card{gap:10px;display:grid}.settings-tabs{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.settings-tab{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 16px;font-weight:600;transition:all .2s}.settings-tab:hover{border-color:#f97316}.settings-tab.active{background:var(--brand-gradient);color:#fff;border:none;box-shadow:0 6px 20px #8b5cf659}.opening-hours-view{gap:16px}.opening-hours-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.opening-hours-header h3{margin-bottom:4px}.opening-hours-actions{align-items:center;gap:12px;display:flex}.opening-hours-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.weekday-toggle-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px;display:grid}.weekday-toggle{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.weekday-toggle input{accent-color:#f97316}.weekday-toggle:has(input:checked){background:#fff7ede6;border-color:#f9731699;box-shadow:0 8px 18px #f973161f}.opening-hours-form{grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:12px;margin-top:10px;margin-bottom:12px;display:grid}.opening-hours-form label{color:#0f172a;gap:6px;font-weight:600;display:grid}.opening-window-list{gap:12px;margin:12px 0 16px;display:grid}.opening-window-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:12px;display:grid}.opening-window-row label{color:#0f172a;gap:6px;font-weight:600;display:grid}.settings-row{background:#f8fafc;border-radius:12px;grid-template-columns:minmax(140px,1fr) minmax(120px,1fr) minmax(160px,1fr) minmax(90px,120px) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.console-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px;display:grid}.console-panel{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b833;border-radius:12px;flex-direction:column;min-height:280px;display:flex}.console-header{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.console-header strong{margin-right:8px}.console-badge{border-radius:999px;margin-left:6px;padding:4px 8px;font-size:12px;font-weight:600}.console-badge.ok{color:#86efac;background:#22c55e33}.console-badge.warn{color:#fde68a;background:#fbbf2433}.console-output{white-space:pre-wrap;word-break:break-word;color:#fff;background:0 0;flex:1;margin:0;padding:12px 14px;font-size:12px;line-height:1.5;overflow-y:auto}.delivery-zone-row{grid-template-columns:100px 100px 100px 140px 110px 100px 1fr;align-items:center}.delivery-zone-row input[type=number],.delivery-zone-row input[type=text]{padding:8px 10px;font-size:14px}.delivery-zone-row label{font-size:14px}input,select,textarea{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 12px}form{gap:14px;display:grid}.auth-page{background:linear-gradient(135deg,#f8f9fc 0%,#f1f3f9 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-container{width:100%;max-width:440px}.auth-card{background:var(--panel);border-radius:24px;padding:48px 40px;animation:.6s fadeInUp;box-shadow:0 20px 60px #0000004d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.auth-card{padding:32px 24px}}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{justify-content:center;margin-bottom:24px;display:flex}.auth-logo .brand-mark{width:64px;height:64px;font-size:1.8rem}.auth-title{color:var(--text);margin-bottom:8px;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.auth-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text);font-size:.9rem;font-weight:600}.form-group input{border:2px solid var(--border);background:var(--soft);color:var(--text);border-radius:12px;padding:14px 16px;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:var(--border-focus);background:var(--panel);outline:none;box-shadow:0 0 0 4px #8b5cf61a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.alert{border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:.9rem;animation:.3s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.alert-icon{font-size:1.2rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:28px;font-size:.9rem}.auth-footer p{margin-bottom:8px}.link-button{color:var(--brand-primary);font-weight:600;text-decoration:none;transition:color .2s}.link-button:hover{color:var(--brand-secondary);text-decoration:underline}.login-container{background:var(--panel);max-width:420px;box-shadow:var(--shadow-lg);border-radius:20px;margin:80px auto;padding:32px}.login-container h2{text-align:center;margin-top:0}.login-container .ghost-button,.reset-form{margin-top:16px}.error-message{color:var(--error);text-align:center;background:var(--error-bg);border-radius:8px;padding:12px;font-weight:600}.reservation-message{text-align:left;background:var(--error-bg);color:var(--error);border-radius:12px;padding:8px 12px}.modal-backdrop{z-index:1000;background:#0f172a99;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--card);border-radius:20px;width:90%;max-width:520px;padding:24px}.reservation-modal{border:1px solid #94a3b866;box-shadow:0 24px 44px #0f172a33}.order-modal .modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.order-modal .modal-body{max-height:70vh;padding-right:6px;overflow-y:auto}.order-modal-meta{color:var(--text);gap:6px;margin-bottom:16px;display:grid}.order-modal-items ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.order-modal-items li{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.order-modal-items .item-line{justify-content:space-between;font-weight:600;display:flex}.order-modal-items .item-sub{color:var(--muted);margin-top:4px;font-size:13px}.order-modal-actions{gap:10px;margin-top:18px;display:grid}.order-modal-actions label{gap:6px;font-weight:600;display:grid}.public-shell{background:var(--bg);--public-header-height:70px;flex-direction:column;width:100%;max-width:100%;min-height:100vh;display:flex;overflow-x:clip}.public-header{background:var(--panel);color:var(--text);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;width:100%;max-width:100%;min-height:70px;padding:15px 40px;transition:padding .2s,min-height .2s;display:flex;position:relative;overflow:clip}.public-header.is-compact{min-height:52px;padding:8px 20px}.public-header.is-compact .public-logo{height:56px}.public-brand{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.public-logo{height:80px;margin:0}.public-nav{gap:16px;display:flex}.public-nav-left{order:-1;position:absolute;left:40px}.public-nav-right{align-items:center;gap:16px;margin-left:auto;display:flex}.public-link{color:var(--muted);border-radius:999px;padding:6px 12px;transition:background .2s,color .2s}.public-link.active,.public-link:hover{background:var(--chip);color:var(--text)}.public-link.button,.public-link[type=button],.public-link:where(button){cursor:pointer;background:0 0;border:none;padding:0}.public-content{flex:1;width:100%;max-width:100%;padding:32px 40px 60px;overflow-x:clip}.public-footer{color:var(--muted);padding:20px 40px}.public-footer-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;display:flex}.public-footer-links{align-items:center;gap:12px;display:flex}.public-footer-link{color:inherit;font-weight:600;text-decoration:none}.public-footer-link:hover{color:var(--text)}.legal-page{max-width:900px;box-shadow:var(--shadow);background:#fff;border-radius:16px;margin:0 auto;padding:28px 32px}.legal-title{margin:0 0 20px;font-size:32px}.legal-section{margin:18px 0 0}.legal-section h2{margin:0 0 8px;font-size:18px}.legal-section ul{margin:8px 0 0 18px}.public-hero{gap:24px;width:100%;max-width:1200px;margin:0 auto;display:grid}.reservation-hero{gap:28px}.public-intro{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#fff;box-shadow:var(--shadow);text-align:center;box-sizing:border-box;border-radius:24px;width:100%;max-width:100%;padding:32px}.public-intro h1{margin:0 0 12px;font-size:2rem;font-weight:700;line-height:1.2}.public-intro p{opacity:.9;margin:0;font-size:1.1rem;line-height:1.5}.reservation-intro{grid-template-columns:minmax(0,1fr) minmax(120px,180px);align-items:center;gap:24px;display:grid;position:relative;overflow:hidden}.reservation-intro-content{z-index:2;gap:10px;display:grid;position:relative}.reservation-intro-pill{color:#fff;letter-spacing:.02em;background:#fff3;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:6px 12px;font-weight:600;display:inline-flex}.reservation-intro-meta{color:#fffc;flex-wrap:wrap;gap:10px;font-weight:600;display:flex}.reservation-intro-art{justify-self:end;width:160px;height:160px;position:relative}.reservation-orb{filter:blur(.5px);opacity:.9;background:radial-gradient(circle at 30% 30%,#ffffffe6,#0f172a2e);border-radius:50%;position:absolute;inset:0}.reservation-orb.small{opacity:.7;width:90px;height:90px;inset:auto -12px -8px auto}.reservation-orb.tiny{opacity:.6;width:50px;height:50px;top:-10px;left:20px}.public-card{background:var(--card);box-shadow:var(--shadow);box-sizing:border-box;border-radius:20px;width:100%;max-width:100%;padding:24px;overflow:hidden}.reservation-card{border:1px solid var(--border);background:linear-gradient(#fffffffa,#f8fafce6)}.reservation-card-header h2{margin:0 0 6px}.reservation-card-header p{color:var(--muted);margin:0}.reservation-chip{background:var(--chip);color:var(--text);border-radius:999px;padding:6px 12px;font-weight:600}.public-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.public-card-header h2{color:var(--text);margin:0;font-size:1.5rem}.menu-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.menu-search{flex:1;min-width:180px;max-width:360px}.menu-search input{border:2px solid var(--border);background:var(--soft);width:100%;color:var(--text);border-radius:12px;padding:12px 16px;font-size:16px;transition:all .2s}.menu-search input:focus{border-color:var(--brand-primary);background:var(--card);outline:none}.public-auth{max-width:820px;margin:0 auto}.public-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.public-form-field{flex-direction:column;gap:6px;display:flex}.public-form-actions,.public-form-message{grid-column:1/-1}@media (width<=700px){.public-form-grid{grid-template-columns:1fr}}.public-form button{background:var(--brand-1);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 14px}.public-form button:hover{background:var(--brand-2)}.password-hints{color:var(--muted);gap:4px;font-size:.85rem;display:grid}.password-hint{color:var(--muted)}.password-hint.ok{color:#16a34a}.lieferando-checkout{background:var(--bg);max-width:1200px;margin:0 auto;padding:0 20px 40px}.checkout-back-bar{align-items:center;gap:12px;margin-bottom:8px;padding:16px 0;display:flex}.back-btn{background:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:24px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.back-btn:hover{background:var(--soft);border-color:var(--text-secondary)}.checkout-title{color:var(--text);margin:0;font-size:1.75rem;font-weight:700}.checkout-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:14px}.checkout-main{grid-template-columns:1fr 400px;align-items:start;gap:24px;display:grid}.checkout-sections{flex-direction:column;gap:20px;display:flex}.checkout-section{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.section-header{border-bottom:1px solid var(--border);background:var(--soft);align-items:center;gap:12px;padding:18px 20px;display:flex}.section-number{background:var(--brand-1);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.section-header h3{color:var(--text);margin:0;font-size:16px;font-weight:600}.section-content{padding:20px}.checkout-order-toggle{grid-template-columns:1fr 1fr;gap:12px;display:grid}.order-type-btn{background:var(--card);border:2px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;transition:all .2s;display:flex}.order-type-btn:hover{border-color:var(--brand-1)}.order-type-btn.active{border-color:var(--brand-1);background:linear-gradient(135deg,#32367314,#3230730a)}.order-type-btn svg{width:32px;height:32px;color:var(--brand-1)}.order-type-btn span{color:var(--text);font-size:14px;font-weight:600}.order-type-btn small{color:var(--text-secondary);font-size:12px}.order-type-details{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;margin-top:8px;display:flex}.order-type-details .detail-badge{color:var(--text-secondary);background:#0000000f;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-block}.order-type-details .detail-badge.success{color:#059669;background:#10b9811f}.order-type-btn.active .detail-badge{color:var(--brand-1);background:#3236731f}.order-type-btn.active .detail-badge.success{color:#059669;background:#10b98126}.contact-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field.full-width{grid-column:span 2}.form-field label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-field input,.form-field select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:14px 16px;font-size:15px;transition:all .2s}.form-field input:focus,.form-field select:focus{border-color:var(--brand-1);outline:none;box-shadow:0 0 0 3px #3236731a}.form-field input::placeholder{color:var(--muted)}.address-selector{margin-bottom:16px}.address-selector select{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:10px;padding:14px 16px;font-size:15px}.address-grid{gap:14px;display:grid}.address-row{grid-template-columns:2fr 1fr;gap:12px;display:grid}.save-default-row{align-items:center;gap:10px;margin-top:8px;display:flex}.save-default-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-1)}.save-default-row label{color:var(--text-secondary);font-size:14px}.address-suggest-wrapper{position:relative}.suggest-dropdown{background:var(--card);border:1px solid var(--border);z-index:100;border-radius:12px;max-height:200px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.suggest-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:12px 16px;font-size:14px;transition:background .15s;display:block}.suggest-item:hover{background:var(--soft)}.suggest-item:not(:last-child){border-bottom:1px solid var(--border)}.suggest-loading{color:var(--text-secondary);padding:12px 16px;font-size:13px}.checkout-sidebar{position:sticky;top:20px}.sidebar-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);background:var(--soft);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sidebar-header h3{margin:0;font-size:16px;font-weight:600}.cart-count-badge{background:var(--brand-1);color:#fff;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.sidebar-items{max-height:300px;padding:0;overflow-y:auto}.sidebar-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:14px 20px;display:flex}.sidebar-item:last-child{border-bottom:none}.item-qty{background:var(--brand-1);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:flex}.item-details{flex:1;min-width:0}.item-name{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.item-extras{color:var(--text-secondary);font-size:12px;line-height:1.4}.item-price{color:var(--text);font-size:14px;font-weight:600}.cart-summary{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:16px 20px;display:flex}.summary-row{color:var(--text-secondary);justify-content:space-between;font-size:14px;display:flex}.summary-row.total{border-top:1px solid var(--border);color:var(--text);padding-top:12px;font-size:18px;font-weight:700}.delivery-info{background:#3236730d;border-radius:8px;padding:12px 16px;font-size:13px}.delivery-info .success{color:#16a34a}.delivery-info .warning{color:#f59e0b}.delivery-info .error{color:#ef4444}.payment-section{padding:20px}.payment-btn{background:var(--brand-1);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.payment-btn:hover:not(:disabled){background:var(--brand-2);transform:translateY(-1px);box-shadow:0 4px 12px #3236734d}.payment-btn:disabled{opacity:.6;cursor:not-allowed}.payment-icons{align-items:center;gap:6px;margin-left:8px;display:flex}.payment-icons img{height:20px}.checkout-alert{border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:14px;display:flex}.checkout-alert.error{background:var(--error-bg);color:var(--error)}.checkout-alert.warning{color:#92400e;background:#fef3c7}.checkout-alert.success{color:#166534;background:#dcfce7}.checkout-alert svg{flex-shrink:0;margin-top:1px}.empty-checkout{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-checkout .icon{margin-bottom:16px;font-size:48px}.empty-checkout h2{color:var(--text);margin:0 0 8px;font-size:1.5rem}.empty-checkout p{color:var(--text-secondary);margin:0 0 24px}.empty-checkout .back-to-menu{background:var(--brand-1);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:14px 28px;font-size:15px;font-weight:600;transition:all .2s}.empty-checkout .back-to-menu:hover{background:var(--brand-2)}@media (width<=960px){.checkout-main{grid-template-columns:1fr}.checkout-sidebar{order:-1;position:static}}@media (width<=640px){.lieferando-checkout{padding:0 16px 32px}.checkout-back-bar{padding:12px 0}.checkout-title{font-size:1.5rem}.contact-grid{grid-template-columns:1fr}.form-field.full-width{grid-column:span 1}.checkout-order-toggle,.address-row{grid-template-columns:1fr}.section-content{padding:16px}.sidebar-items{max-height:200px}}.checkout-page{gap:20px;display:grid}.checkout-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.checkout-header p{color:var(--muted);margin:6px 0 0}.checkout-grid{grid-template-columns:1.1fr .9fr;gap:16px;display:grid}.checkout-col{gap:16px;display:grid}.checkout-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;gap:12px;padding:18px;display:grid}.checkout-card h3{margin:0}.form-grid{gap:10px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.form-grid input,.form-grid select,.checkout-card select,.checkout-card input{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:10px 12px}.cart-list,.checkout-actions{gap:10px;display:grid}.checkout-actions button{background:var(--brand-1);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 14px;font-weight:600}.checkout-actions button:hover{background:var(--brand-2)}.checkout-actions button:disabled{opacity:.6;cursor:not-allowed}.suggest-field{position:relative}.suggest-list{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);z-index:10;border-radius:12px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.suggest-list button{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;padding:8px 10px}.suggest-list button:hover{background:var(--soft)}.suggest-status{color:var(--muted);margin-top:6px;font-size:.85rem}.suggest-error{color:#ef4444;margin-top:6px;font-size:.85rem}.checkbox-row{color:var(--muted);align-items:center;gap:8px;display:flex}@media (width<=960px){.checkout-grid{grid-template-columns:1fr}}.inline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.area-tabs{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.area-tabs button{border:1px solid var(--border);background:var(--card);cursor:pointer;color:var(--text);border-radius:999px;padding:8px 14px;font-weight:600}.area-tabs button.active,.area-tabs button:hover{color:#fff;background:#0f172a;border-color:#0f172a}.reservation-inline{margin-bottom:12px}.reservation-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:start;gap:20px;display:grid}.reservation-aside{gap:16px;display:grid}.reservation-aside-card{background:#fff;border:1px solid #94a3b833;border-radius:18px;padding:20px;box-shadow:0 12px 24px #0f172a14}.reservation-aside-card h3{margin-top:0}.reservation-aside-card.highlight{background:linear-gradient(160deg,#0e749014,#f973161a)}.reservation-aside-note{color:#0f172a;margin-top:10px;font-weight:600}.success-message{color:#22c55e;text-align:center;font-weight:600}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-actions{gap:8px;width:100%;display:flex}.dashboard-actions button,.dashboard-actions a{text-align:center;flex:1;padding:10px 12px;font-size:.9rem}.dashboard-filters{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{padding:12px}.kpi-card strong{font-size:1.2rem}.dashboard-quick{grid-template-columns:1fr;gap:10px}.quick-card{padding:14px}.order-list{gap:12px}.order-card{padding:14px}.order-header{flex-direction:column;align-items:flex-start;gap:8px}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-button{white-space:nowrap;min-width:100px}}@media (width<=640px){.content-area{padding:16px 12px}.topbar{flex-wrap:wrap;gap:12px;padding:20px 16px}.topbar-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.topbar-username{width:100%}h2{font-size:1.5rem}.kpi-grid{grid-template-columns:1fr}.primary-button,.ghost-button,.danger-button{padding:10px 14px;font-size:.9rem}.modal-content{max-width:calc(100vw - 32px);padding:20px}.modal-header h3{font-size:1.25rem}.form-row,.checkout-grid{grid-template-columns:1fr}}@media (width<=1100px){.main-layout{grid-template-columns:1fr}.main-layout .sidebar{display:none}.content-area{padding:0 20px 20px}.reservation-layout,.reservation-intro{grid-template-columns:1fr}.reservation-intro-art{justify-self:start}}.wait-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.wait-container{background:var(--card);border-radius:24px;width:100%;max-width:600px;padding:48px 40px;animation:.5s ease-out fadeInScale;box-shadow:0 20px 60px #0000004d}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.wait-header{text-align:center;margin-bottom:40px}.wait-icon{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;animation:2s ease-in-out infinite pulse;display:inline-flex}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #667eeab3}50%{transform:scale(1.05);box-shadow:0 0 0 20px #667eea00}}.wait-header h1{color:var(--text);margin-bottom:16px;font-size:28px;font-weight:700;line-height:1.3}.wait-subtitle{color:var(--text-secondary);max-width:500px;margin:0 auto;font-size:16px;line-height:1.6}.wait-loading{text-align:center;padding:32px 0}.spinner{border:4px solid var(--border);border-top-color:#667eea;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wait-loading p{color:var(--text-secondary);font-size:14px}.wait-error{background:var(--error-bg);color:var(--error);text-align:center;border-radius:12px;margin:24px 0;padding:16px}.wait-info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:32px;display:grid}.wait-info-card{background:var(--soft);text-align:center;border-radius:12px;flex-direction:column;gap:8px;padding:20px;transition:transform .2s;display:flex}.wait-info-card:hover{transform:translateY(-2px)}.info-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.info-value{color:var(--text);font-size:18px;font-weight:700}.status-badge{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:6px 16px;font-size:14px;display:inline-block}.wait-map-section{margin-bottom:32px}.wait-map-section h3{color:var(--text);text-align:center;margin-bottom:16px;font-size:18px;font-weight:600}.map-pin{background:#fff;border:4px solid #667eea;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:100px;height:100px;animation:2s ease-in-out infinite pinBounce;display:flex;position:relative;transform:rotate(-45deg);box-shadow:0 8px 20px #667eea4d}@keyframes pinBounce{0%,to{transform:rotate(-45deg)translateY(0)}50%{transform:rotate(-45deg)translateY(-8px)}}.pin-time{color:#667eea;background:#fff;border-radius:8px;padding:8px 12px;font-size:20px;font-weight:700;transform:rotate(45deg);box-shadow:0 2px 8px #0000001a}.map-address{background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;padding:16px 20px;display:flex;box-shadow:0 2px 8px #0000000d}.map-address svg{color:#667eea;flex-shrink:0}.map-address span{color:var(--text);font-size:15px;font-weight:500}.wait-delivery-info{background:var(--soft);border-radius:16px;margin-bottom:32px;padding:24px}.wait-delivery-info h3{color:var(--text);margin-bottom:16px;font-size:18px;font-weight:600}.google-map-container{border-radius:12px;width:100%;margin-bottom:16px;position:relative;overflow:visible}#delivery-map{z-index:1;border-radius:12px;position:relative}.custom-map-pin{pointer-events:none;justify-content:center;align-items:center;display:flex}.map-pin-container{flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.map-pin-icon{background:#fff;border:4px solid #667eea;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:60px;height:60px;animation:2s ease-in-out infinite mapPinBounce;display:flex;transform:rotate(-45deg);box-shadow:0 8px 20px #667eea66}@keyframes mapPinBounce{0%,to{transform:rotate(-45deg)translateY(0)}50%{transform:rotate(-45deg)translateY(-6px)}}.map-pin-time{color:#667eea;white-space:nowrap;background:#fff;border-radius:6px;order:-1;padding:4px 8px;font-size:14px;font-weight:700;transform:rotate(45deg);box-shadow:0 2px 8px #667eea33}.map-error{color:#c00;background:#fee;border:1px solid #fcc;border-radius:8px;margin-bottom:16px;padding:12px;font-size:14px}.wait-pickup-info{background:var(--soft);text-align:center;border-radius:16px;margin-bottom:32px;padding:32px 24px}.wait-pickup-info svg{color:#667eea;margin-bottom:16px}.wait-pickup-info h3{color:var(--text);margin-bottom:12px;font-size:20px;font-weight:600}.pickup-time{color:var(--text-secondary);font-size:16px}.pickup-time strong{color:var(--text);font-size:20px}.wait-footer{text-align:center;margin-top:32px}.back-link{background:var(--soft);color:var(--text);border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .2s;display:inline-flex}.back-link:hover{background:var(--border);transform:translate(-4px)}.back-link svg{transition:transform .2s}.back-link:hover svg{transform:translate(-4px)}@media (width<=640px){.wait-container{padding:32px 24px}.wait-header h1{font-size:24px}.wait-subtitle{font-size:15px}.wait-info-grid{grid-template-columns:1fr}.map-pin{width:80px;height:80px}.pin-time{font-size:16px}}.floating-cart-button{color:#fff;cursor:pointer;z-index:1000;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:all .3s;animation:3s ease-in-out infinite floatBounce;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #667eea66}@keyframes floatBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.05)}}.floating-cart-button:hover{box-shadow:0 12px 32px #667eea99;transform:scale(1.1)translateY(-4px)!important}.floating-cart-button:active{transform:scale(.95)!important}.cart-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:12px;font-weight:700;animation:2s ease-in-out infinite badgePulse;display:flex;position:absolute;top:-4px;right:-4px}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.lieferando-menu{background:var(--bg);max-width:100%;margin:0 auto;padding:0}.restaurant-hero{border-radius:0 0 20px 20px;height:200px;position:relative;overflow:hidden}.hero-image{width:100%;height:100%;position:relative}.hero-image img,.hero-bg-image,.hero-bg-video{object-fit:cover;width:100%;height:100%}.hero-overlay{pointer-events:none;position:absolute;inset:0}.hero-image.hero-fallback{background:linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 50%, #1e1b4b 100%)}.hero-fallback .hero-gradient,.hero-fallback .hero-overlay{background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.hero-gradient{background:linear-gradient(#0000,#0000004d);height:80px;position:absolute;bottom:0;left:0;right:0}.restaurant-info{padding:40px 20px 16px}.restaurant-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.restaurant-header h1{color:var(--text);margin:0;font-size:1.75rem;font-weight:700}.restaurant-logo-img{object-fit:contain;width:auto;max-width:200px;height:50px}@media (width<=640px){.restaurant-logo-img{max-width:150px;height:40px}}.info-btn{background:var(--soft);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.info-btn:hover{background:var(--border)}.restaurant-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;display:flex}.meta-item{align-items:center;gap:4px;display:flex}.meta-item svg{color:#facc15}.order-type-toggle{gap:12px;padding:0 20px 16px;display:flex}.toggle-btn{background:var(--card);border:2px solid var(--border);cursor:pointer;border-radius:12px;flex:1;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.toggle-btn:hover{border-color:var(--brand-1)}.toggle-btn.active{border-color:var(--brand-1);background:linear-gradient(135deg,#32367314,#3230730d)}.toggle-btn svg{color:var(--brand-1)}.toggle-text{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.toggle-label{color:var(--text);font-size:14px;font-weight:600}.toggle-time{color:var(--text-secondary);font-size:12px}.menu-search-bar{background:var(--card);border:1px solid var(--border);border-radius:28px;align-items:center;gap:12px;margin:0 20px 16px;padding:14px 18px;transition:all .2s;display:flex}.menu-search-bar:focus-within{border-color:var(--brand-1);box-shadow:0 0 0 3px #3236731a}.menu-search-bar svg{color:var(--text-secondary);flex-shrink:0}.menu-search-bar input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.menu-search-bar input::placeholder{color:var(--text-secondary)}.category-pills{top:var(--public-header-height,0px);background:var(--bg);z-index:100;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:0 20px 16px;display:flex;position:sticky}.pills-scroll{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;flex:1;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.pills-scroll::-webkit-scrollbar{display:none}.pill{background:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:20px;flex-shrink:0;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s}.pill:hover{background:var(--soft);border-color:var(--text-secondary)}.pill.active{background:var(--text);border-color:var(--text);color:#fff}.view-toggle{background:var(--card);border:1px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.view-toggle:hover{background:var(--soft)}.menu-loading,.menu-empty,.menu-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--brand-1);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}.menu-loading p,.menu-empty p{color:var(--text-secondary);margin:0;font-size:16px}.menu-empty .empty-icon{margin-bottom:12px;font-size:48px}.menu-empty small{color:var(--muted);margin-top:8px;font-size:14px}.menu-error{color:var(--error);background:var(--error-bg);border-radius:12px;margin:20px;padding:20px}.menu-sections{padding:0 20px 100px}.menu-section{margin-bottom:32px}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:16px;padding:16px 0 12px;display:flex}.section-header h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.item-count{color:var(--text-secondary);font-size:13px}.menu-items-list{flex-direction:column;gap:0;display:flex}.menu-card{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:16px;padding:16px 0;transition:background .2s;display:flex}.menu-card:last-child{border-bottom:none}.menu-card:hover{background:#00000005;border-radius:12px;margin:0 -12px;padding:16px 12px}.menu-card.sold-out{opacity:.6;cursor:not-allowed}.add-btn{background:var(--brand-1);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.add-btn:hover:not(:disabled){background:var(--brand-2);transform:scale(1.1)}.add-btn:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed}.card-content{flex:1;min-width:0}.card-header{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.category-hint{color:var(--text-secondary);width:100%;margin-bottom:2px;font-size:12px;display:block}.card-header h3{color:var(--text);margin:0;font-size:15px;font-weight:600;line-height:1.3}.product-info-link{color:var(--brand-1);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.product-info-link:hover{color:var(--brand-2)}.card-price{align-items:center;gap:8px;margin-bottom:6px;display:flex}.old-price{color:var(--text-secondary);font-size:13px;text-decoration:line-through}.current-price{color:var(--text);font-size:14px;font-weight:600}.promo-tag{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.card-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.sold-out-badge{background:var(--error-bg);color:var(--error);border-radius:4px;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.floating-cart{background:var(--brand-1);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #32367366}.floating-cart:hover{transform:scale(1.1);box-shadow:0 6px 24px #32367380}.cart-count{color:#fff;background:#ef4444;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}@media (width<=640px){.restaurant-hero{border-radius:0;height:160px}.restaurant-badge{bottom:-25px;left:16px}.restaurant-logo{width:60px;height:60px;font-size:28px}.restaurant-info{padding:35px 16px 12px}.restaurant-header h1{font-size:1.5rem}.info-btn{padding:6px 12px;font-size:12px}.restaurant-meta{font-size:13px}.order-type-toggle{gap:8px;padding:0 16px 12px}.toggle-btn{gap:10px;padding:12px}.toggle-label{font-size:13px}.toggle-time{font-size:11px}.menu-search-bar{margin:0 16px 12px;padding:12px 16px}.category-pills{padding:0 16px 12px}.pill{padding:8px 14px;font-size:13px}.menu-sections{padding:0 16px 100px}.section-header h2{font-size:1.1rem}.menu-card{gap:12px;padding:14px 0}.add-btn{width:32px;height:32px}.add-btn svg{width:16px;height:16px}.card-header h3{font-size:14px}.floating-cart{width:52px;height:52px;bottom:20px;right:20px}}.category-nav-sticky{box-shadow:none;background:0 0;border-bottom:none;width:100%;max-width:100%;margin:0 0 16px;padding:0;position:static}.category-nav-sticky.is-fixed{top:var(--public-header-height,0px);z-index:300;background:var(--card);border-bottom:1px solid var(--border);padding:10px 0;position:fixed;left:0;right:0;box-shadow:0 2px 8px #00000014}.category-nav-spacer{height:0}.category-nav-scroll{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:8px;max-width:100%;padding:0 20px 4px;display:flex;overflow:auto hidden}.category-nav-scroll::-webkit-scrollbar{display:none}.category-nav-item{background:var(--soft);color:var(--text);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:24px;flex-shrink:0;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s}.category-nav-item:hover{background:var(--border)}.category-nav-item:active{transform:scale(.95)}.category-nav-item.active{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#fff;border-color:var(--brand-1);box-shadow:0 4px 12px #3236734d}.public-mobile-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.public-mobile-toggle span{background:var(--text);border-radius:2px;width:24px;height:3px;transition:all .3s}.public-mobile-overlay{z-index:1000;background:#00000080;animation:.3s fadeIn;display:none;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.public-mobile-menu{background:var(--card);z-index:1001;width:280px;max-width:85vw;height:100vh;padding:80px 24px 24px;animation:.3s slideInRight;display:none;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-4px 0 24px #0003}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.public-mobile-link{color:var(--text);background:var(--soft);text-align:center;cursor:pointer;border:none;border-radius:12px;width:100%;margin-bottom:8px;padding:16px 20px;font-size:16px;font-weight:600;transition:all .2s;display:block}.public-mobile-link:hover,.public-mobile-link.active{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);transform:translate(4px)}.public-mobile-divider{background:var(--border);height:2px;margin:16px 0}button,.button,input[type=\"submit\"],input[type=\"button\"],.public-link,.nav-link{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px}input,select,textarea{border-radius:12px;padding:12px 16px;font-size:16px!important}@media (hover:hover){.menu-item:hover{background:var(--card);border-color:var(--border);box-shadow:var(--shadow-sm)}.category-nav-item:hover{background:var(--border)}}@media (width<=1200px){.public-hero{max-width:100%;padding:0 24px}.public-card,.public-intro{max-width:100%}.menu-category h2{font-size:1.4rem}}@media (width<=992px){.public-hero{padding:0 20px}.public-content{padding:20px 16px}.menu-item{padding:14px}.menu-item-header h3{font-size:1rem}.price-badge{min-width:60px;padding:5px 10px;font-size:.85rem}}@media (width<=768px){.public-mobile-toggle{display:flex}.public-mobile-overlay,.public-mobile-menu{display:block}.public-nav{display:none}.public-header{z-index:600;background:var(--panel);justify-content:space-between;padding:16px 20px;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #00000014}.public-content{padding:calc(var(--public-header-height,70px) + 16px) 16px 40px}.public-shell,.public-content,.lieferando-menu,.menu-content,.menu-main{overflow:visible}.public-brand{position:static;transform:none}.public-nav-left{position:static}.public-card{border-radius:16px;padding:16px}.menu-search{width:100%;min-width:0;max-width:100%}.category-nav-sticky{margin:-16px -16px 16px;padding:12px 16px}.floating-cart-button{width:56px;height:56px;bottom:20px;right:20px}.cart-badge{min-width:20px;height:20px;font-size:11px}.public-intro{border-radius:20px;padding:32px 20px}.public-intro h1{font-size:1.75rem}.public-intro p{font-size:1rem}.public-hero{gap:20px}.menu-item{margin-bottom:12px;padding:16px}.menu-item-header h4{font-size:1.05rem}.menu-category h3{font-size:1.15rem}.checkout-grid,.form-grid{grid-template-columns:1fr}.checkout-header{flex-direction:column;gap:16px}.checkout-header button{width:100%}.order-summary{background:var(--card);border-top:2px solid var(--border);z-index:50;position:sticky;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000001a}}@media (width<=480px){.public-content{padding:calc(var(--public-header-height,70px) + 12px) 12px 32px}.public-intro{border-radius:16px;padding:28px 16px}.public-intro h1{font-size:1.5rem}.public-intro p{font-size:.9rem}.public-hero{gap:16px}.public-card{border-radius:12px;padding:12px}.public-card-header{flex-direction:column;align-items:stretch;gap:12px}.public-card-header h2{text-align:center;font-size:1.25rem}.menu-search{width:100%;max-width:100%}.menu-search input{padding:10px 14px;font-size:16px}.category-nav-sticky{margin:-12px -12px 12px;padding:10px 12px}.category-nav-item{padding:8px 14px;font-size:13px}.menu-category{margin-bottom:20px}.menu-category h3{margin-bottom:12px;padding:10px 0;font-size:1.1rem}.menu-item{border-radius:12px;margin-bottom:10px;padding:14px}.menu-item-header{gap:8px}.menu-item-header h4{font-size:1rem}.menu-item p{font-size:.85rem}.price-new{font-size:1rem}.badge{padding:3px 8px;font-size:.7rem}.floating-cart-button{width:52px;height:52px;bottom:16px;right:16px}.cart-badge{min-width:18px;height:18px;font-size:10px}}.lieferando-reservation{background:var(--bg);max-width:100%;margin:0 auto;padding:0}.lieferando-reservation .restaurant-hero{border-radius:0 0 20px 20px;height:200px;position:relative;overflow:hidden}.lieferando-reservation .restaurant-info{padding:24px 20px 16px}.lieferando-reservation .restaurant-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lieferando-reservation .restaurant-header h1{color:var(--text);margin:0;font-size:1.75rem;font-weight:700}.lieferando-reservation .restaurant-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}.lieferando-reservation .meta-item{align-items:center;gap:6px;display:flex}.lieferando-reservation .meta-item svg{color:var(--brand-1)}.reservation-content{grid-template-columns:1fr 340px;gap:24px;max-width:1200px;margin:0 auto;padding:0 20px 40px;display:grid}.reservation-main{flex-direction:column;gap:24px;display:flex}.reservation-section{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px}.reservation-section .section-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.reservation-section .section-number{background:var(--brand-1);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.reservation-section h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:600}.datetime-picker{grid-template-columns:1fr 1fr;gap:16px;display:grid}.datetime-field{flex-direction:column;gap:8px;display:flex}.datetime-field label{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.datetime-field label svg{color:var(--brand-1)}.datetime-field input{border:2px solid var(--border);background:var(--soft);color:var(--text);border-radius:12px;padding:14px 16px;font-size:16px;transition:all .2s}.datetime-field input:focus{border-color:var(--brand-1);background:var(--card);outline:none}.area-buttons{flex-wrap:wrap;gap:10px;display:flex}.area-btn{background:var(--soft);border:2px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.area-btn:hover{border-color:var(--brand-1);background:var(--card)}.area-btn.active{border-color:var(--brand-1);color:var(--brand-1);background:linear-gradient(135deg,#3236731a,#3230730d)}.area-btn svg{color:var(--brand-1)}.availability-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:12px;padding:16px 20px;font-size:14px;font-weight:500;display:flex}.availability-message svg{flex-shrink:0}.table-legend{background:var(--soft);border-radius:10px;gap:20px;margin-bottom:16px;padding:12px 16px;display:flex}.table-legend .legend-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.table-legend .legend-dot{border-radius:50%;width:12px;height:12px}.table-legend .legend-dot.available{background:#22c55e}.table-legend .legend-dot.reserved{background:#ef4444}.table-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.table-card{background:var(--soft);border:2px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;transition:all .2s;display:flex}.table-card:hover:not(:disabled){border-color:var(--brand-1);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.table-card.available{background:linear-gradient(135deg,#22c55e14,#22c55e08);border-color:#22c55e4d}.table-card.available:hover{border-color:#22c55e}.table-card.selected{border-color:var(--brand-1);background:linear-gradient(135deg,#3236731a,#3230730d);box-shadow:0 0 0 3px #32367333}.table-card.reserved{cursor:not-allowed;opacity:.7;background:linear-gradient(135deg,#ef444414,#ef444408);border-color:#ef44444d}.table-card .table-icon{background:var(--card);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.table-card.available .table-icon{color:#22c55e}.table-card.reserved .table-icon{color:#ef4444}.table-card .table-name{color:var(--text);font-size:15px;font-weight:600}.table-card .table-seats{color:var(--text-secondary);font-size:13px}.table-card .table-status{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.table-card .table-status.available{color:#16a34a;background:#22c55e26}.table-card .table-status.reserved{color:#dc2626;background:#ef444426}.no-tables{color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.no-tables svg{opacity:.4}.no-tables p{margin:0;font-size:14px}.reservation-sidebar{flex-direction:column;gap:16px;height:fit-content;display:flex;position:sticky;top:20px}.sidebar-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.sidebar-card h3{color:var(--text);margin:0 0 16px;font-size:1.1rem;font-weight:600}.sidebar-card h4{color:var(--text);align-items:center;gap:8px;margin:0 0 12px;font-size:1rem;font-weight:600;display:flex}.sidebar-card h4 svg{color:var(--brand-1)}.summary-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.summary-item:last-of-type{border-bottom:none}.summary-item svg{color:var(--brand-1);flex-shrink:0;margin-top:2px}.summary-item>div{flex-direction:column;gap:2px;display:flex}.summary-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.summary-value{color:var(--text);font-size:14px;font-weight:500}.summary-item.highlight{background:linear-gradient(135deg,#32367314,#3230730a);border-bottom:none;border-radius:0 0 16px 16px;margin:12px -20px -20px;padding:16px 20px}.sidebar-hint{color:var(--text-secondary);margin:8px 0 0;font-size:13px;font-style:italic}.info-card ol{margin:0;padding-left:20px}.info-card li{color:var(--text-secondary);padding:6px 0;font-size:13px}.reservation-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.reservation-modal{background:var(--card);border-radius:20px;width:100%;max-width:480px;padding:32px;animation:.3s modalSlideIn;position:relative;box-shadow:0 20px 40px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close{background:var(--soft);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--border);color:var(--text)}.modal-header{text-align:center;margin-bottom:24px}.modal-header h3{color:var(--text);margin:0 0 8px;font-size:1.5rem;font-weight:700}.modal-header p{color:var(--text-secondary);margin:0;font-size:14px}.reservation-modal form{flex-direction:column;gap:16px;display:flex}.reservation-modal .form-group{flex-direction:column;gap:6px;display:flex}.reservation-modal .form-group label{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.reservation-modal .form-group label svg{color:var(--brand-1)}.reservation-modal .form-group input{border:2px solid var(--border);background:var(--soft);color:var(--text);border-radius:12px;padding:14px 16px;font-size:15px;transition:all .2s}.reservation-modal .form-group input:focus{border-color:var(--brand-1);background:var(--card);outline:none}.reservation-modal .form-group input::placeholder{color:var(--text-secondary);opacity:.6}.form-message{border-radius:10px;margin:0;padding:12px 16px;font-size:14px;font-weight:500}.form-message.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.form-message.success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.submit-btn{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:8px;padding:16px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3236734d}.submit-btn:active{transform:translateY(0)}.success-message{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.success-message svg{color:#22c55e;animation:.5s successPop}@keyframes successPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.success-message h4{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.success-message p{color:var(--text-secondary);margin:0;font-size:14px}@media (width<=992px){.reservation-content{grid-template-columns:1fr;padding:0 16px 40px}.reservation-sidebar{order:-1;position:static}.summary-card{display:none}.reservation-sidebar .info-card{display:block}}@media (width<=640px){.lieferando-reservation .restaurant-hero{border-radius:0;height:160px}.lieferando-reservation .restaurant-info{padding:16px}.lieferando-reservation .restaurant-header h1{font-size:1.5rem}.lieferando-reservation .restaurant-meta{gap:12px;font-size:13px}.reservation-section{border-radius:14px;padding:20px 16px}.reservation-section .section-number{width:28px;height:28px;font-size:13px}.reservation-section h2{font-size:1.1rem}.datetime-picker{grid-template-columns:1fr}.datetime-field input{padding:12px 14px;font-size:15px}.area-buttons{gap:8px}.area-btn{padding:10px 16px;font-size:13px}.table-grid{grid-template-columns:repeat(2,1fr);gap:10px}.table-card{border-radius:14px;padding:16px 12px}.table-card .table-icon{width:40px;height:40px}.table-card .table-icon svg{width:24px;height:24px}.table-card .table-name{font-size:14px}.table-card .table-seats{font-size:12px}.table-card .table-status{padding:3px 8px;font-size:10px}.table-legend{flex-wrap:wrap;gap:12px;padding:10px 12px}.table-legend .legend-item{font-size:12px}.reservation-modal{border-radius:16px;max-height:90vh;padding:24px 20px;overflow-y:auto}.modal-header h3{font-size:1.25rem}.reservation-modal .form-group input{padding:12px 14px;font-size:16px}.submit-btn{padding:14px 20px;font-size:15px}.sidebar-card{border-radius:14px;padding:16px}}@media (width<=480px){.table-grid{grid-template-columns:1fr 1fr}.area-btn{flex:1;justify-content:center;min-width:100px}.reservation-modal-backdrop{padding:12px}}.toggle-text{flex-direction:column;align-items:flex-start;display:flex}.toggle-title{color:var(--text);font-size:14px;font-weight:600}.toggle-subtitle{color:var(--text-secondary);font-size:12px}.toggle-btn.active .toggle-title,.toggle-btn.active .toggle-subtitle{color:var(--brand-1)}.search-clear{background:var(--soft);cursor:pointer;width:24px;height:24px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.search-clear:hover{background:var(--border);color:var(--text)}.category-nav{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:0 20px 16px;display:flex;overflow-x:auto}.category-nav::-webkit-scrollbar{display:none}.category-nav-item{background:var(--card);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.category-nav-item:hover{background:var(--soft);border-color:var(--brand-1);color:var(--brand-1)}.menu-content{grid-template-columns:1fr 380px;gap:24px;max-width:1400px;margin:0 auto;padding:0 20px 100px;display:grid}.menu-main{min-width:0}.menu-category-section{margin-bottom:32px}.category-title{color:var(--text);border-bottom:2px solid var(--border);margin:0 0 16px;padding-bottom:12px;font-size:1.5rem;font-weight:700}.menu-items-grid{gap:12px;display:grid}.menu-item-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:16px;padding:16px;transition:all .2s;display:flex}.menu-item-card:hover:not(.sold-out){border-color:var(--brand-1);transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.menu-item-card.sold-out{opacity:.6;cursor:not-allowed}.item-content{flex-direction:column;flex:1;gap:8px;display:flex}.item-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.item-name{color:var(--text);margin:0;font-size:16px;font-weight:600;line-height:1.3}.promo-badge{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.item-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.item-info{color:var(--muted);margin:0;font-size:12px}.item-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;display:flex}.item-price{align-items:center;gap:8px;display:flex}.price-old{color:var(--text-secondary);font-size:13px;text-decoration:line-through}.price-current{color:var(--text);font-size:15px;font-weight:600}.sold-out-badge{background:var(--error-bg,#fef2f2);color:var(--error,#dc2626);border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600}.cart-sidebar{background:var(--card);border:1px solid var(--border);border-radius:20px;flex-direction:column;height:fit-content;max-height:calc(100vh - 40px);display:flex;position:sticky;top:20px;overflow:hidden}.cart-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px;display:flex}.cart-header h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.cart-close-btn{background:var(--soft);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;display:none}.cart-empty{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.cart-empty svg{opacity:.4;margin-bottom:16px}.cart-empty p{color:var(--text);margin:0;font-size:16px;font-weight:500}.cart-empty span{margin-top:4px;font-size:14px}.cart-items{flex:1;padding:12px 20px;overflow-y:auto}.cart-item{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;display:flex}.cart-item:last-child{border-bottom:none}.cart-item-info h4{color:var(--text);margin:0 0 4px;font-size:14px;font-weight:600}.cart-item-detail{color:var(--text-secondary);font-size:12px;line-height:1.4;display:block}.cart-item-actions{justify-content:space-between;align-items:center;display:flex}.quantity-controls{background:var(--soft);border-radius:8px;align-items:center;gap:8px;padding:4px;display:flex}.quantity-controls button{background:var(--card);border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.quantity-controls button:hover{border-color:var(--brand-1);color:var(--brand-1)}.quantity-controls span{text-align:center;min-width:24px;color:var(--text);font-size:14px;font-weight:600}.cart-item-price{flex-direction:column;align-items:flex-end;gap:3px;line-height:1.1;display:flex}.cart-item-price .price-old,.checkout-item-price .price-old{color:var(--text-secondary);font-size:12px;font-weight:500;text-decoration:line-through}.cart-item-price .price-current,.checkout-item-price .price-current{color:var(--text);font-size:14px;font-weight:600}.checkout-item-price{flex-direction:column;align-items:flex-end;gap:3px;line-height:1.1;display:flex}.cart-summary{border-top:1px solid var(--border);background:var(--soft);padding:16px 20px 20px}.cart-subtotal,.cart-delivery,.cart-total{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.cart-subtotal span:first-child,.cart-delivery span:first-child{color:var(--text-secondary);font-size:14px}.cart-subtotal span:last-child,.cart-delivery span:last-child{color:var(--text);font-size:14px;font-weight:500}.free-delivery-hint{color:#16a34a;background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-radius:8px;align-items:center;gap:8px;margin:8px 0;padding:10px 12px;font-size:13px;display:flex}.free-delivery-hint svg{flex-shrink:0}.cart-total{border-top:1px solid var(--border);margin-top:8px;padding-top:12px}.cart-total span:first-child{color:var(--text);font-size:16px;font-weight:600}.cart-total span:last-child{color:var(--text);font-size:18px;font-weight:700}.checkout-btn{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:12px;padding:16px 24px;font-size:16px;font-weight:600;transition:all .2s}.checkout-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3236734d}.checkout-btn:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed;box-shadow:none;transform:none}.floating-cart-btn{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#fff;cursor:pointer;z-index:999;border:none;border-radius:16px;padding:16px 24px;transition:all .2s;display:none;position:fixed;bottom:20px;left:20px;right:20px;box-shadow:0 4px 20px #32367366}.floating-cart-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #32367380}.floating-cart-btn svg{margin-right:12px}.floating-cart-btn .cart-icon{align-items:center;display:inline-flex;position:relative}.floating-cart-btn .cart-count{color:#fff;background:#ef4444;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-size:13px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.floating-cart-btn .cart-total-mobile{margin-left:auto;font-size:16px;font-weight:700}.cart-overlay{z-index:1000;background:#00000080;display:none;position:fixed;inset:0}.product-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.product-modal{background:var(--card);border-radius:20px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.3s modalSlideIn;display:flex;position:relative;overflow:hidden}.product-modal .modal-close{background:var(--soft);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.product-modal .modal-close:hover{background:var(--border);color:var(--text)}.product-modal .modal-header{border-bottom:1px solid var(--border);padding:24px 24px 16px}.product-modal .modal-header h2{color:var(--text);margin:0 40px 8px 0;font-size:1.5rem;font-weight:700}.product-modal .modal-header p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.product-modal .modal-body{flex:1;padding:16px 24px;overflow-y:auto}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-section h3{color:var(--text);margin:0 0 12px;font-size:16px;font-weight:600}.size-options{flex-direction:column;gap:8px;display:flex}.size-option{background:var(--soft);border:2px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.size-option:hover{border-color:var(--brand-1)}.size-option.selected{border-color:var(--brand-1);background:linear-gradient(135deg,#32367314,#3230730a)}.size-option input{display:none}.size-option .size-name{color:var(--text);flex:1;font-size:15px;font-weight:500}.size-option .size-price{flex-direction:column;align-items:flex-end;gap:2px;line-height:1.1;display:flex}.size-option .size-price-old{color:var(--text-secondary);font-size:12px;font-weight:500;text-decoration:line-through}.size-option .size-price-current{color:var(--brand-1);font-size:14px;font-weight:600}.extras-list{flex-direction:column;gap:8px;max-height:200px;display:flex;overflow-y:auto}.extra-item{background:var(--soft);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.extra-info{flex-direction:column;gap:2px;display:flex}.extra-name{color:var(--text);font-size:14px;font-weight:500}.extra-price{color:var(--text-secondary);font-size:12px}.extra-controls{align-items:center;gap:8px;display:flex}.extra-controls button{background:var(--card);border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.extra-controls button:hover:not(:disabled){border-color:var(--brand-1);color:var(--brand-1)}.extra-controls button:disabled{opacity:.4;cursor:not-allowed}.extra-controls span{text-align:center;min-width:20px;color:var(--text);font-size:14px;font-weight:600}.product-modal textarea{border:2px solid var(--border);background:var(--soft);width:100%;color:var(--text);resize:vertical;border-radius:12px;padding:14px 16px;font-family:inherit;font-size:14px;transition:all .2s}.product-modal textarea:focus{border-color:var(--brand-1);background:var(--card);outline:none}.product-modal textarea::placeholder{color:var(--text-secondary)}.product-modal .modal-footer{border-top:1px solid var(--border);background:var(--soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px 24px;display:flex}.quantity-selector{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:6px;display:flex}.quantity-selector button{background:var(--soft);cursor:pointer;width:36px;height:36px;color:var(--text);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.quantity-selector button:hover{background:var(--border);color:var(--brand-1)}.quantity-selector span{text-align:center;min-width:32px;color:var(--text);font-size:18px;font-weight:700}.add-to-cart-btn{background:linear-gradient(135deg, var(--brand-1), var(--brand-2));color:#fff;cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:12px;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.add-to-cart-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3236734d}.add-to-cart-btn:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed}.add-to-cart-btn .btn-price{border-left:1px solid #ffffff4d;padding-left:12px}@media (width<=1024px){.menu-content{grid-template-columns:1fr;padding-bottom:120px}.cart-sidebar{z-index:1001;border-radius:20px 0 0 20px;flex-direction:column;width:100%;max-width:400px;height:100vh;max-height:100vh;transition:transform .3s;display:none;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.cart-sidebar.open{display:flex;transform:translate(0)}.cart-sidebar .cart-items{flex:1;max-height:calc(100vh - 200px);overflow-y:auto}.cart-close-btn{display:flex}.floating-cart-btn{align-items:center;display:flex}.cart-overlay{display:block}}@media (width<=768px){.order-type-toggle{flex-direction:column;gap:8px}.toggle-btn{padding:12px 16px}.menu-search-bar{margin:0 16px 12px;padding:12px 16px}.category-nav-sticky{z-index:200;background:var(--card);border-bottom:1px solid var(--border);margin:0 0 12px;padding:10px 0;position:sticky;top:0;box-shadow:0 2px 8px #0000000d}.category-nav-scroll{gap:6px;padding:0 16px 4px}.category-nav-item{padding:8px 14px;font-size:13px}.menu-content{padding:0 16px 120px}.menu-category-section{scroll-margin-top:calc(var(--public-header-height,0px) + 72px)}.category-title{margin-bottom:12px;font-size:1.25rem}.menu-item-card{border-radius:14px;padding:14px}.item-name{font-size:15px}.item-description{-webkit-line-clamp:2;font-size:13px}.floating-cart-btn{border-radius:14px;padding:14px 20px;bottom:16px;left:16px;right:16px}.product-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:95vh;margin-top:auto}.product-modal .modal-header{padding:20px 20px 14px}.product-modal .modal-header h2{font-size:1.25rem}.product-modal .modal-body{padding:14px 20px}.product-modal .modal-footer{flex-wrap:wrap;padding:14px 20px 20px}.quantity-selector{flex-shrink:0}.add-to-cart-btn{flex:1;min-width:200px;padding:12px 20px;font-size:15px}}@media (width<=480px){.lieferando-menu .restaurant-hero{border-radius:0;height:160px}.lieferando-menu .restaurant-info{padding:16px}.lieferando-menu .restaurant-header h1{font-size:1.5rem}.lieferando-menu .restaurant-meta{gap:10px;font-size:13px}.order-type-toggle{padding:0 16px 12px}.product-modal-backdrop{align-items:flex-end;padding:0}.product-modal .modal-footer{flex-direction:column;gap:12px}.quantity-selector{justify-content:center;width:100%}.add-to-cart-btn{width:100%}}.cookie-consent-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0000004d;align-items:flex-end;padding:16px;animation:.3s ease-out slideUp;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cookie-consent-container{background:var(--panel);width:100%;max-width:600px;box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:16px;margin:0 auto;padding:20px;animation:.3s ease-out slideUp}.cookie-consent-header{margin-bottom:12px}.cookie-consent-header h3{color:var(--text);background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.125rem;font-weight:700}.cookie-consent-text{color:var(--text-secondary);margin:0 0 16px;font-size:.9rem;line-height:1.6}.cookie-consent-text a{color:var(--brand-primary);font-weight:600;transition:color .2s}.cookie-consent-text a:hover{color:var(--brand-secondary);text-decoration:underline}.cookie-consent-actions{justify-content:flex-end;display:flex}.cookie-button-accept{cursor:pointer;background:var(--brand-gradient);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;min-width:160px;min-height:44px;padding:11px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #8b5cf64d}.cookie-button-accept:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.cookie-button-accept:active{transform:translateY(0)}@media (width<=640px){.cookie-consent-overlay{padding:12px}.cookie-consent-container{border-radius:12px;padding:16px}.cookie-consent-header h3{font-size:1rem}.cookie-consent-text{margin-bottom:12px;font-size:.85rem}.cookie-consent-actions{justify-content:stretch}.cookie-button-accept{width:100%;min-height:40px}}@media (width<=480px){.cookie-consent-container{padding:14px}.cookie-consent-header h3{font-size:.95rem}.cookie-consent-text{margin-bottom:10px;font-size:.8rem}.cookie-button-accept{min-height:38px;padding:9px 12px;font-size:.85rem}}[data-theme=dark] .cookie-consent-container{border-color:var(--border)}
