:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;background:#fefdfb}#root{min-height:100vh;width:100vw;margin:0;padding:0;color:#1f2933}.app-root{height:100dvh;min-height:100vh;display:flex;flex-direction:column;padding:16px 20px 20px;box-sizing:border-box;gap:16px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.header-right{display:flex;align-items:center;gap:12px}.header-tabs{display:flex;gap:6px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:52px;height:52px;border-radius:999px;border:2px solid #f97316;box-shadow:0 4px 12px #0000002e;background:#fff;object-fit:cover}.app-header h1{margin:0;font-size:28px;letter-spacing:.08em;text-transform:uppercase;color:#b91c1c}.subtitle{margin:4px 0 0;font-size:13px;color:#64748b}.status-legend{display:flex;flex-wrap:wrap;gap:8px}.legend-pill{padding:6px 10px;border-radius:999px;font-size:11px;border:1px solid rgba(148,163,184,.6);background:#fafaf9}.legend-empty{box-shadow:inset 0 0 0 1px #94a3b880}.legend-active{border-color:#16a34ae6;background:#22c55e24}.legend-reserved{border-color:#eab308e6;background:#facc1529}.legend-closed{border-color:#94a3b8e6;background:#e5e7eb}.layout{flex:1;display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;min-height:0;height:100%;overflow:hidden}.admin-layout{flex:1;display:flex;flex-direction:column;min-height:0}.reports-panel{padding:14px 16px 16px;background:radial-gradient(circle at top left,#fff7ed,#fefce8);border-radius:18px;border:1px solid rgba(248,153,29,.45);box-shadow:0 18px 40px #94612440,0 0 0 1px #f8991d14;display:flex;flex-direction:column;gap:14px;min-height:0}.tables-panel,.order-panel{background:radial-gradient(circle at top left,#fff7ed,#fefce8);border-radius:18px;border:1px solid rgba(248,153,29,.45);box-shadow:0 18px 40px #94612440,0 0 0 1px #f8991d14;padding:14px 14px 16px;box-sizing:border-box;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;flex-direction:column;min-height:0;overflow:hidden;height:100%}.tables-panel h2,.order-panel h2{margin:0 0 10px;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:#b91c1c}.tables-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:6px;padding-bottom:6px;scrollbar-width:none;align-content:start}.tables-grid::-webkit-scrollbar{display:none}.table-card{border-radius:16px;border:1px solid rgba(226,232,240,.95);background:radial-gradient(circle at top left,#fefce8,#fff7ed);color:#111827;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;outline:none;position:relative;box-shadow:0 10px 25px #0f172ae6,0 0 0 1px #0f172ae6;transition:border-color .15s ease,box-shadow .15s ease,transform .08s ease,background .15s ease}.table-card:hover{transform:translateY(-1px);border-color:#f8991de6;box-shadow:0 16px 30px #f8991d40,0 0 0 1px #f8991d33}.table-card.selected{border-color:#b91c1c;box-shadow:0 0 0 1px #b91c1c4d,0 18px 40px #b91c1c42;background:radial-gradient(circle at top left,#fee2e2,#fff7ed)}.status-empty{box-shadow:inset 0 0 0 1px #e2e8f0}.status-active{border-color:#16a34a;background:radial-gradient(circle at top left,#16a34a,#bbf7d0)}.status-reserved{border-color:#eab308;background:radial-gradient(circle at top left,#eab308,#fef9c3)}.status-closed{border-color:#dc2626;background:radial-gradient(circle at top left,#dc2626,#fecaca)}.table-name{font-weight:600;font-size:15px}.table-status-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.table-total{margin-top:4px;font-weight:600;font-size:14px}.order-panel{padding:14px 16px 16px}.admin-panel{padding:14px 16px 16px;background:radial-gradient(circle at top left,#fff7ed,#fefce8);border-radius:18px;border:1px solid rgba(248,153,29,.45);box-shadow:0 18px 40px #94612440,0 0 0 1px #f8991d14;display:flex;flex-direction:column;gap:14px;min-height:0}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:0}.admin-card{border-radius:16px;border:1px solid rgba(226,232,240,1);background:#fff;padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.admin-card h3{margin:0 0 4px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:#b91c1c}.field-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4b5563}.field-label input,.field-label select{border-radius:10px;border:1px solid rgba(226,232,240,1);padding:6px 8px;font-size:13px;outline:none}.field-label input:focus,.field-label select:focus{border-color:#f8991de6;box-shadow:0 0 0 1px #f8991d4d}.field-help{font-size:11px;color:#9ca3af}.full-width{width:100%}.button-loading{display:inline-flex;align-items:center;gap:8px}.button-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:button-spin .7s linear infinite}@keyframes button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-products-list{min-height:0}.admin-products-scroll{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.admin-product-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:10px;border:1px solid rgba(226,232,240,1);background:#fffbeb}.admin-product-main{flex:1;text-align:left;border:none;background:transparent;padding:4px 0;cursor:pointer}.admin-product-name{font-size:13px;font-weight:500}.admin-product-meta{font-size:11px;color:#6b7280}.admin-product-image-tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:999px;border:1px solid rgba(34,197,94,.9);background:#bbf7d0b3;color:#15803d}.admin-product-thumb{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid rgba(226,232,240,1);background:#f8fafc}.admin-product-form-thumb{width:100%;max-width:220px;height:auto;border-radius:12px;border:1px solid rgba(226,232,240,1);object-fit:cover;background:#f8fafc;margin-top:8px}.admin-product-actions{display:flex;align-items:center;gap:6px}.admin-product-delete{border:none;background:#fee2e2;color:#b91c1c;border-radius:999px;padding:2px 8px;font-size:11px;cursor:pointer}.admin-product-delete:hover{background:#fecaca}.admin-confirm-overlay{position:fixed;inset:0;z-index:9998;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px}.admin-confirm-dialog{background:#fff;border-radius:16px;max-width:420px;width:100%;padding:20px 22px;box-shadow:0 20px 50px #0003}.admin-confirm-title{margin:0 0 12px;font-size:1.15rem;font-weight:700;color:#0f172a}.admin-confirm-text{margin:0 0 20px;font-size:.9rem;line-height:1.5;color:#475569}.admin-confirm-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.admin-category-desc{grid-column:1 / -1}.admin-category-desc-row{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.admin-category-desc-row:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.admin-category-desc-name{display:block;margin-bottom:.5rem;font-size:13px;color:#374151}.admin-image-preview{margin-top:4px;border-radius:10px;max-width:100%;max-height:120px;object-fit:cover;border:1px solid rgba(226,232,240,1)}.order-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.order-panel-header h2{font-size:18px}.order-print-hint{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#fef3c7e6;border:1px solid rgba(234,179,8,.5);font-size:13px;color:#713f12;line-height:1.4}.order-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.action-button{border-radius:999px;border:1px solid rgba(185,28,28,.9);background:radial-gradient(circle at top left,#dc2626,#b91c1c);color:#fff;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 12px 28px #b91c1c73,0 0 0 1px #941b2980;transition:transform .06s ease,box-shadow .08s ease,background .08s ease,border-color .08s ease,opacity .08s ease}.action-button.secondary{background:#fff;border-color:#e2e8f0;color:#1f2937;box-shadow:0 8px 18px #94a3b859,0 0 0 1px #e2e8f0}.action-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px #b91c1c80,0 0 0 1px #941b29b3}.action-button.secondary:hover:not(:disabled){box-shadow:0 14px 28px #94a3b880,0 0 0 1px #cbd5e1}.action-button:disabled{opacity:.4;cursor:default;box-shadow:none}.admin-toggle{border-radius:999px;border:1px solid rgba(148,163,184,.9);background:#fff;color:#1f2937;padding:6px 12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.header-tab{border-radius:999px;border:1px solid rgba(148,163,184,.9);background:#fff;color:#1f2937;padding:6px 10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.header-tab-active{border-color:#b91c1cf2;background:radial-gradient(circle at top left,#fecaca,#fee2e2);color:#7f1d1d}.header-logout{padding:6px 12px;font-size:12px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;color:#555}.header-logout:hover{background:#f3f4f6;color:#1f2937}.order-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr);grid-template-rows:minmax(0,1fr);gap:14px;flex:1;min-height:0;overflow:hidden}.order-left,.order-right{display:flex;flex-direction:column;min-height:0;height:100%}.order-right{overflow:hidden}.order-items-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.order-items-header h3{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#e5e7eb}.status-buttons{display:flex;flex-wrap:wrap;gap:4px}.pill-button{border-radius:999px;border:1px solid rgba(226,232,240,1);background:#fff;color:#1f2937;padding:5px 9px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .1s ease,border-color .1s ease,color .1s ease,transform .06s ease}.pill-button:hover{transform:translateY(-1px);border-color:#f8991de6}.pill-selected{border-color:#b91c1cf2;background:radial-gradient(circle at top left,#fecaca,#fee2e2);color:#fff}.order-items{flex:1;min-height:0;border-radius:14px;border:1px solid rgba(226,232,240,1);background:#fff;padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.order-row{border-radius:12px;padding:7px 9px;background:radial-gradient(circle at top left,#fff7ed,#fffbeb);border:1px solid rgba(226,232,240,1);display:flex;flex-direction:column;gap:4px}.order-row-main{display:flex;align-items:center;justify-content:space-between;gap:6px}.order-name{font-size:14px}.order-price{font-size:13px;color:#6b7280}.order-row-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.quantity-controls{display:inline-flex;align-items:center;gap:6px}.quantity-controls button{width:24px;height:24px;border-radius:999px;border:1px solid rgba(226,232,240,1);background:#fff;color:#1f2937;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center;padding:0}.quantity-controls span{min-width:20px;text-align:center;font-size:13px}.order-line-total{font-weight:600;font-size:14px}.order-summary{margin-top:8px;padding:8px 10px;border-radius:12px;border:1px solid rgba(226,232,240,1);background:radial-gradient(circle at top left,#fee2e2,#fff7ed);display:flex;align-items:center;justify-content:space-between;font-size:14px}.order-summary-total{font-size:18px;font-weight:600}.product-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;flex-shrink:0}.products-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:none}.products-grid::-webkit-scrollbar{display:none}.product-card{border-radius:14px;border:1px solid rgba(226,232,240,1);background:radial-gradient(circle at top left,#fff,#fffbeb);color:#111827;padding:9px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;outline:none;box-shadow:0 10px 25px #0f172ae6,0 0 0 1px #0f172ae6;transition:border-color .15s ease,box-shadow .15s ease,transform .08s ease,background .15s ease,opacity .08s ease}.product-card:hover:not(:disabled){transform:translateY(-1px);border-color:#f8991de6;box-shadow:0 16px 30px #f8991d40,0 0 0 1px #f8991d33}.product-card:disabled{opacity:.45;cursor:default}.product-name{font-size:14px;font-weight:500}.product-price{font-size:13px;color:#6b7280}.product-image{width:100%;aspect-ratio:1 / 1;border-radius:12px;object-fit:cover;margin-bottom:4px}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);padding:10px 14px;border-radius:999px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 25px #00000047;z-index:40}.toast-error{background:#f87171f5;color:#7f1d1d;border:1px solid rgba(185,28,28,.9)}.report-filters{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-filters--stack{flex-direction:column;align-items:stretch;gap:14px}.report-filter-row{display:flex;flex-direction:column;gap:8px}.report-filter-row--inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.report-filter-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.report-table-filter-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#374151}.report-table-select{min-width:200px;padding:8px 10px;border-radius:10px;border:1px solid rgba(226,232,240,1);font-size:14px;background:#fff}.report-range-buttons{display:flex;flex-wrap:wrap;gap:6px}.report-sales-detail-card{margin-top:4px}.report-sales-detail-hint{margin-top:-4px!important;margin-bottom:12px!important}.report-sales-list{display:flex;flex-direction:column;gap:14px;max-height:min(520px,55vh);overflow-y:auto;padding-right:4px}.report-sale-card{border:1px solid rgba(226,232,240,1);border-radius:14px;background:#fff;padding:12px 14px;box-shadow:0 2px 8px #0000000a}.report-sale-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed rgba(203,213,225,1)}.report-sale-meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#475569}.report-sale-table{font-weight:700;font-size:15px;color:#b91c1c}.report-sale-time{color:#64748b;font-size:12px}.report-sale-id{font-size:11px;color:#94a3b8}.report-sale-total{font-size:18px;font-weight:700;color:#0f172a;white-space:nowrap}.report-sale-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.report-sale-lines li{display:grid;grid-template-columns:2.5rem 1fr auto;gap:8px;align-items:baseline;color:#334155}.report-sale-qty{font-weight:600;text-align:right}.report-sale-line-total{font-weight:600;color:#b91c1c;font-variant-numeric:tabular-nums}#report-print-root.report-print-receipt{position:fixed;left:-9999px;top:0;width:72mm;max-width:72mm;box-sizing:border-box;padding:4mm 3mm 6mm;margin:0;background:#fff;color:#000;font-family:ui-monospace,Cascadia Mono,Consolas,Courier New,monospace;font-size:10px;line-height:1.35;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-print-brand{font-weight:700;font-size:13px;letter-spacing:.04em;margin-bottom:2px}.report-print-subtitle{font-size:10px;margin-bottom:8px;font-weight:600}.report-print-meta{display:flex;flex-direction:column;gap:3px;font-size:9px;margin-bottom:6px}.report-print-meta-k{font-weight:700}.report-print-sep{margin:6px 0;font-size:8px;letter-spacing:-.5px;overflow:hidden}.report-print-sep--short{margin-top:8px}.report-print-sep--bold{margin-top:10px;font-weight:700}.report-print-sale{margin-bottom:4px}.report-print-table-head,.report-print-line{display:grid;grid-template-columns:7ch 1fr minmax(4.2rem,auto);gap:4px 6px;align-items:start;font-size:9px}.report-print-table-head{font-weight:700;margin-top:4px;margin-bottom:2px;border-bottom:1px dashed #000;padding-bottom:3px}.rp-col-qty{text-align:right}.rp-col-name{word-break:break-word}.rp-col-tutar{text-align:right;white-space:nowrap}.report-print-subtotal{display:flex;justify-content:space-between;font-weight:700;font-size:10px;margin-top:4px;padding-top:4px;border-top:1px dashed #666}.report-print-grand{display:flex;justify-content:space-between;font-weight:600;font-size:10px;margin-top:4px}.report-print-grand--total{font-size:12px;font-weight:700;margin-top:8px;padding-top:6px;border-top:2px solid #000}.reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-card{border-radius:16px;border:1px solid rgba(226,232,240,1);background:#fff;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.report-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.report-card-value{font-size:18px;font-weight:600}.report-table{margin-top:6px;display:flex;flex-direction:column;gap:4px}.report-table-header,.report-table-row{display:grid;grid-template-columns:minmax(0,2.2fr) .8fr 1.2fr;gap:6px;font-size:12px}.report-table-header{font-weight:600;color:#4b5563;border-bottom:1px solid rgba(226,232,240,1);padding-bottom:4px}.report-table-row{padding:4px 0;border-bottom:1px dashed rgba(226,232,240,1)}.report-product-name{font-size:12px}.pos-qr-orders{margin-bottom:10px;display:flex;flex-direction:column;gap:10px}.pos-qr-orders-title{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.pos-qr-order-card{border-radius:12px;padding:10px 12px;border:1px solid rgba(226,232,240,1);background:#fffbeb}.pos-qr-order-card--pending_approval{border-left:4px solid #a855f7;background:#faf5ff}.pos-qr-order-card--pending{border-left:4px solid #eab308}.pos-qr-order-card--preparing{border-left:4px solid #f97316;background:#fff7ed}.pos-qr-order-card--ready{border-left:4px solid #22c55e;background:#f0fdf4}.pos-qr-order-card--served{border-left:4px solid #3b82f6;background:#eff6ff}.pos-qr-order-card--paid{border-left:4px solid #94a3b8;background:#f8fafc}.pos-qr-order-card--cancelled{border-left:4px solid #ef4444;background:#fef2f2}.pos-qr-order-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.pos-qr-order-status{font-size:12px;font-weight:600;color:#334155}.pos-qr-order-time{font-size:11px;color:#64748b}.pos-qr-order-note{margin:0 0 6px;font-size:12px;color:#64748b;font-style:italic}.pos-qr-order-items{list-style:none;margin:0 0 6px;padding:0;font-size:13px;color:#475569;line-height:1.4}.pos-qr-order-items li{padding:2px 0}.pos-qr-order-total{font-size:13px;font-weight:600;color:#b91c1c;padding-top:6px;border-top:1px solid rgba(226,232,240,.8)}.placeholder{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;color:#94a3b8;padding:8px}#receipt-print-root.receipt-print{position:fixed;left:-9999px;top:0;width:72mm;max-width:72mm;box-sizing:border-box;padding:4mm 3mm 6mm;margin:0;background:#fff;color:#000;font-family:ui-monospace,Cascadia Mono,Consolas,Courier New,monospace;font-size:10.5px;line-height:1.35;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-brand{font-weight:700;font-size:13px;letter-spacing:.04em;margin-bottom:2px}.receipt-tagline{font-size:9px;color:#333;margin-bottom:10px}.receipt-meta{display:flex;flex-direction:column;gap:3px;font-size:10px}.receipt-meta-label{font-weight:600}.receipt-masa{margin-top:4px;font-weight:700;font-size:11px}.receipt-sep{margin:8px 0 6px;font-size:9px;letter-spacing:-.5px;color:#000;overflow:hidden;white-space:nowrap}.receipt-sep--short{margin-top:10px;margin-bottom:6px}.receipt-table-head,.receipt-line{display:grid;grid-template-columns:7ch 1fr minmax(4.2rem,auto);gap:4px 6px;align-items:start;font-size:10px}.receipt-table-head{font-weight:700;margin-bottom:4px;border-bottom:1px dashed #000;padding-bottom:4px}.receipt-col-qty{text-align:right}.receipt-col-name{word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.receipt-col-tutar{text-align:right;white-space:nowrap}.receipt-lines{display:flex;flex-direction:column;gap:5px}.receipt-total{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:12px;margin-top:4px}.receipt-total span:last-child{font-variant-numeric:tabular-nums}@media(max-width:1024px){.layout{grid-template-columns:minmax(0,1fr);grid-template-rows:260px minmax(0,1fr)}.admin-grid,.reports-grid{grid-template-columns:minmax(0,1fr)}.tables-panel{order:1}.order-panel{order:2}}@media print{@page{size:80mm auto;margin:4mm}html,body{margin:0!important;padding:0!important;background:#fff!important;height:auto!important;width:auto!important}body.printing-receipt>#root{display:none!important}body.printing-receipt #receipt-print-root.receipt-print{position:static!important;left:auto!important;top:auto!important;width:100%!important;max-width:none!important;padding:0!important;box-shadow:none!important;page-break-inside:avoid}body.printing-report>#root{display:none!important}body.printing-report #report-print-root.report-print-receipt{position:static!important;left:auto!important;top:auto!important;width:100%!important;max-width:none!important;padding:0!important;page-break-after:auto}}.app-root{display:flex;flex-direction:column;flex:1;min-height:0}.app-root>main,.app-root>section{flex:1;min-height:0}.public-layout{min-height:100vh;display:flex;flex-direction:column;background:#fefdfb;color:#1a1a1a}.public-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;gap:1rem;border-bottom:1px solid #eee8e0;flex-wrap:wrap}.public-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.public-logo{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #c2410c}.public-brand-name{font-family:Bebas Neue,sans-serif;font-size:1.5rem;font-weight:400;letter-spacing:.08em;color:#1a1a1a}.public-nav{display:flex;gap:.5rem;align-items:center}.public-nav-link{padding:.5rem .75rem;text-decoration:none;color:#444;font-size:.95rem;border-radius:6px;transition:background .2s,color .2s}.public-nav-link:hover{background:#f5f0eb;color:#1a1a1a}.public-nav-link.active{background:#1a1a1a;color:#fff;font-weight:500}.public-header-right{display:flex;align-items:center;gap:1rem}.public-instagram{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:#555;background:transparent;border:1px solid #e5e0d8;transition:color .2s,background .2s,border-color .2s,transform .15s}.public-instagram:hover{color:#b91c1c;background:#fef2f2;border-color:#b91c1c59}.public-instagram:active{transform:scale(.96)}.public-lang{display:flex;gap:.25rem}.public-lang-btn{padding:.35rem .6rem;font-size:.8rem;border:1px solid #e5e0d8;background:#fff;border-radius:4px;cursor:pointer;color:#666;transition:background .2s,color .2s,border-color .2s}.public-lang-btn:hover{background:#f5f0eb;color:#1a1a1a}.public-lang-btn.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.public-main{flex:1;padding:2rem 1.5rem;max-width:960px;margin:0 auto;width:100%;box-sizing:border-box}.public-layout--home .public-main,.public-layout--table .public-main{max-width:none;padding:0}.public-layout--table .public-footer{display:none}.public-footer{padding:1.75rem 1.5rem 2rem;border-top:1px solid #eee8e0;background:#1a1a1a;color:#f5f5f4}.public-footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem 2rem}.public-footer-left{text-align:left;min-width:0}.public-footer-sniff{display:block;font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,5vw,2.75rem);font-weight:400;letter-spacing:.18em;color:#fff;line-height:1;margin-bottom:.35rem}.public-footer-tagline{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c}.public-footer-meta{margin:0;font-size:.8125rem;line-height:1.45;color:#ffffffa6}.public-footer-nav{display:flex;align-items:center;gap:1.25rem 1.75rem;flex-shrink:0;flex-wrap:wrap}.public-footer-instagram{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;color:#fff;border:1px solid rgba(255,255,255,.25);transition:color .2s,background .2s,border-color .2s,transform .15s}.public-footer-instagram:hover{color:#fff;background:#b91c1c59;border-color:#fecaca80}.public-footer-instagram:active{transform:scale(.96)}.public-footer-link{font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#fff;padding-bottom:2px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.public-footer-link:hover,.public-footer-link.active{color:#fecaca;border-bottom-color:#b91c1c}@media(max-width:560px){.public-footer-inner{flex-direction:column;align-items:flex-start}.public-footer-nav{width:100%;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}}@media(max-width:640px){.public-header{flex-direction:column;align-items:flex-start}.public-nav{width:100%;flex-wrap:wrap}.public-header-right{width:100%;justify-content:space-between;flex-wrap:wrap}.public-lang{margin-left:auto}}.table-menu-root{min-height:100vh;min-height:100dvh;padding:0;padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box;background:linear-gradient(180deg,#fefce8,#fff7ed,#fef3c7);display:flex;flex-direction:column;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.table-menu-header{display:flex;align-items:center;gap:12px;padding:12px 16px 14px;background:#fff;border-bottom:1px solid rgba(226,232,240,.9);box-shadow:0 2px 8px #0000000a;flex-shrink:0}.table-menu-header-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.table-menu-logo{width:44px;height:44px;border-radius:50%;border:2px solid #f97316;object-fit:cover;flex-shrink:0}.table-menu-header-text{min-width:0}.table-menu-header h1{font-family:Bebas Neue,sans-serif;margin:0;font-size:1.5rem;font-weight:400;letter-spacing:.08em;color:#1a1a1a}.table-menu-subtitle{margin:2px 0 0;font-size:12px;color:#64748b;line-height:1.3}.table-menu-loading{flex:1;display:flex;align-items:center;justify-content:center;font-size:16px;color:#64748b;padding:24px}.table-menu-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:#64748b}.table-menu-empty p{margin:0;font-size:1rem}.table-menu-retry{padding:.6rem 1.25rem;font-size:.95rem;font-weight:500;background:#1a1a1a;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.table-menu-retry:hover{background:#333}.table-menu-active-orders{padding:12px 16px 16px;flex-shrink:0}.table-menu-approval-hint{margin:0 0 10px;padding:10px 12px;background:#f5f3ff;border:1px solid rgba(168,85,247,.3);border-radius:10px;font-size:13px;color:#5b21b6}.table-menu-active-title{margin:0 0 10px;font-size:14px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.table-menu-order-card{background:#fff;border-radius:14px;padding:12px 14px;margin-bottom:10px;border:1px solid rgba(226,232,240,1);box-shadow:0 4px 12px #0000000f}.table-menu-order-card--pending_approval{border-left:4px solid #a855f7;background:#faf5ff}.table-menu-order-card--pending{border-left:4px solid #eab308;background:#fefce8}.table-menu-order-card--preparing{border-left:4px solid #f97316;background:#fff7ed}.table-menu-order-card--ready{border-left:4px solid #22c55e;background:#f0fdf4}.table-menu-order-card--served{border-left:4px solid #3b82f6;background:#eff6ff}.table-menu-order-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.table-menu-order-status{font-size:13px;font-weight:600;color:#1e293b}.table-menu-order-time{font-size:12px;color:#64748b}.table-menu-order-note{margin:0 0 8px;font-size:12px;color:#64748b;font-style:italic;padding:6px 8px;background:#f8991d1f;border-radius:8px}.table-menu-order-items{list-style:none;margin:0 0 8px;padding:0;font-size:14px;color:#334155;line-height:1.5}.table-menu-order-items li{padding:2px 0}.table-menu-order-item-price{color:#64748b;font-size:13px;margin-left:4px}.table-menu-order-total{font-size:14px;font-weight:600;color:#b91c1c;padding-top:6px;border-top:1px solid rgba(226,232,240,1)}.table-menu-success{padding:12px 16px;margin:0 16px 12px;background:#22c55e26;border:1px solid rgba(22,163,74,.5);border-radius:12px;color:#15803d;font-size:14px}.table-menu-main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.table-menu-categories-wrap{flex-shrink:0;padding:16px 16px 14px}.table-menu-categories{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.table-menu-categories::-webkit-scrollbar{display:none}.table-menu-cat-pill{font-family:Bebas Neue,sans-serif;font-size:1rem;letter-spacing:.04em;flex-shrink:0;padding:12px 18px;border-radius:8px;border:1px solid #e5e5e5;background:#fff;color:#1a1a1a;font-weight:400;cursor:pointer;transition:background .2s ease,color .2s ease,transform .1s ease;box-shadow:0 1px 3px #0000000f}.table-menu-cat-pill--active{background:#1a1a1a;color:#fff}.table-menu-cat-pill:hover{background:#f5f5f5;color:#1a1a1a}.table-menu-cat-pill--active:hover{background:#333;color:#fff}.table-menu-cat-pill:active{transform:scale(.97)}.table-menu-category-desc{margin:0 16px 12px;padding:10px 12px;background:#f1f5f9;border-radius:8px;font-size:13px;color:#475569;line-height:1.4}.table-menu-products{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px 24px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}@media(min-width:480px){.table-menu-products{gap:12px}}.table-menu-product-card{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#fff;border-radius:14px;border:1px solid rgba(226,232,240,1);padding:0;cursor:pointer;text-align:left;box-shadow:0 2px 8px #0000000f;transition:transform .12s,box-shadow .12s;overflow:hidden}.table-menu-product-card:active{transform:scale(.98)}.table-menu-product-card:hover{box-shadow:0 6px 16px #b91c1c1f;border-color:#b91c1c4d}.table-menu-product-img{width:100%;aspect-ratio:1;object-fit:cover;background:#f8fafc}.table-menu-product-info{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px}.table-menu-product-name{font-size:14px;font-weight:600;color:#1e293b;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.table-menu-product-desc{font-size:12px;color:#64748b;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.table-menu-product-price{font-size:14px;font-weight:600;color:#b91c1c}.table-menu-product-add{position:absolute;bottom:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#b91c1c;color:#fff;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;font-weight:300}.table-menu-product-card{position:relative;padding-bottom:44px;cursor:pointer}.table-menu-sheet-backdrop{position:fixed;inset:0;background:#0006;z-index:200;animation:table-menu-sheet-fade .2s ease}@keyframes table-menu-sheet-fade{0%{opacity:0}to{opacity:1}}.table-menu-sheet{position:fixed;left:0;right:0;bottom:0;max-height:85vh;max-height:85dvh;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px #0003;z-index:201;display:flex;flex-direction:column;animation:table-menu-sheet-slide .25s ease;padding-bottom:env(safe-area-inset-bottom,0);overflow:hidden}@keyframes table-menu-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.table-menu-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.table-menu-sheet-title{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b;line-height:1.3;flex:1;min-width:0}.table-menu-sheet-close{width:40px;height:40px;flex-shrink:0;border:none;background:#f1f5f9;border-radius:50%;font-size:24px;line-height:1;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.table-menu-sheet-close:hover,.table-menu-sheet-close:focus{background:#e2e8f0;color:#334155}.table-menu-sheet-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.table-menu-sheet-img{width:100%;max-height:200px;object-fit:cover;border-radius:12px;background:#f8fafc}.table-menu-sheet-price{margin:0;font-size:1.25rem;font-weight:700;color:#b91c1c}.table-menu-sheet-desc{margin:0;font-size:.95rem;line-height:1.5;color:#475569;white-space:pre-wrap;word-break:break-word}.table-menu-sheet-footer{padding:16px 20px 20px;border-top:1px solid #e2e8f0;flex-shrink:0}.table-menu-sheet-add-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:1rem;font-weight:600;color:#fff;background:#b91c1c;border:none;border-radius:12px;cursor:pointer;transition:background .2s}.table-menu-sheet-add-btn:hover,.table-menu-sheet-add-btn:focus{background:#991b1b}.table-menu-sheet-add-icon{font-size:1.25rem;line-height:1;font-weight:300}.table-menu-cart-aside{position:fixed;left:0;right:0;bottom:0;max-height:65vh;max-height:65dvh;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px #00000026;z-index:100;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease;padding-bottom:env(safe-area-inset-bottom,0);overflow:hidden}.table-menu-cart-aside--open{transform:translateY(0)}@media(min-width:900px){.table-menu-cart-aside{left:auto;width:360px;max-height:100vh;max-height:100dvh;border-radius:0;border-left:1px solid #e2e8f0}.table-menu-cart-aside--open{transform:translateY(0)}}.table-menu-cart-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.table-menu-cart-header h2{margin:0;font-size:18px;font-weight:600;color:#b91c1c}.table-menu-cart-close{width:40px;height:40px;border:none;background:#f1f5f9;border-radius:50%;font-size:24px;line-height:1;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.table-menu-cart-close:hover{background:#e2e8f0;color:#334155}.table-menu-cart-empty{margin:0;padding:32px 20px;color:#94a3b8;font-size:15px;text-align:center}.table-menu-cart-list{list-style:none;margin:0;padding:12px 20px;overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.table-menu-cart-item{padding:12px 14px;background:#fefce8;border:1px solid #e2e8f0;border-radius:12px}.table-menu-cart-item-name{font-size:14px;font-weight:600;color:#1e293b;display:block;margin-bottom:8px}.table-menu-cart-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.table-menu-qty{display:inline-flex;align-items:center;gap:4px}.table-menu-qty button{width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:10px;font-size:18px;line-height:1;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.table-menu-qty button:active{background:#f1f5f9}.table-menu-qty span{min-width:28px;text-align:center;font-size:15px;font-weight:600}.table-menu-cart-item-total{font-size:15px;font-weight:600;color:#b91c1c}.table-menu-note-label{padding:16px 20px 8px;margin-top:8px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#64748b;flex-shrink:0;border-top:1px solid #f1f5f9}.table-menu-note{border-radius:10px;border:1px solid #e2e8f0;padding:10px 12px;font-size:14px;resize:vertical;min-height:56px}.table-menu-note:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 2px #f9731833}.table-menu-cart-footer{padding:12px 20px 20px;border-top:1px solid #e2e8f0;background:#fff;flex-shrink:0}.table-menu-cart-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:16px;color:#475569}.table-menu-cart-total strong{font-size:20px;color:#b91c1c}.table-menu-submit-btn{width:100%;padding:14px 20px;border:none;border-radius:14px;background:linear-gradient(180deg,#dc2626,#b91c1c);color:#fff;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #b91c1c66;transition:transform .1s,box-shadow .1s}.table-menu-submit-btn:active{transform:scale(.98)}.table-menu-submit-btn:hover{box-shadow:0 6px 18px #b91c1c73}.table-menu-fab{position:fixed;bottom:20px;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0));display:flex;align-items:center;gap:10px;padding:14px 20px;background:#b91c1c;color:#fff;border:none;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 6px 24px #b91c1c73;z-index:50;transition:transform .1s,box-shadow .1s}.table-menu-fab:active{transform:translate(-50%) scale(.96)}.table-menu-fab-icon{font-size:20px}.table-menu-fab-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ffffff40;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.table-menu-fab-total{font-size:16px}.table-menu-toast{position:fixed;bottom:90px;left:16px;right:16px;padding:14px 18px;background:#1e293b;color:#fff;font-size:14px;border-radius:12px;text-align:center;z-index:110;box-shadow:0 8px 24px #0003;cursor:pointer}@media(min-width:900px){.table-menu-root{padding:16px}.table-menu-root:has(.table-menu-cart-aside--open) .table-menu-header,.table-menu-root:has(.table-menu-cart-aside--open) .table-menu-active-orders,.table-menu-root:has(.table-menu-cart-aside--open) .table-menu-main{margin-right:360px}.table-menu-products{grid-template-columns:repeat(3,1fr);gap:14px}.table-menu-fab{display:none}.table-menu-cart-aside{top:0;bottom:0;transform:translate(100%)}.table-menu-cart-aside--open{transform:translate(0)}}.kitchen-layout{padding:14px 16px 16px}.kitchen-panel{flex:1;min-height:0;display:flex;flex-direction:column}.kitchen-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.kitchen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;overflow-y:auto;flex:1;min-height:0}.kitchen-card{background:#fff;border-radius:16px;border:1px solid rgba(226,232,240,1);padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 20px #0000000f}.kitchen-card--pending{border-left:4px solid #eab308;background:#fefce8}.kitchen-card--preparing{border-left:4px solid #f97316;background:#fff7ed}.kitchen-card--ready{border-left:4px solid #22c55e;background:#f0fdf4}.kitchen-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.kitchen-card-table{font-weight:600;font-size:16px;color:#b91c1c}.kitchen-card-time{font-size:13px;color:#64748b}.kitchen-card-status{font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#475569}.kitchen-card-note{margin:0;font-size:13px;color:#64748b;font-style:italic;padding:6px 8px;background:#f8991d1a;border-radius:8px}.kitchen-card-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.kitchen-card-items li{display:flex;justify-content:space-between;align-items:center;font-size:14px}.kitchen-item-name{font-weight:500}.kitchen-item-price{color:#64748b;font-size:13px}.kitchen-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.orders-layout{padding:14px 16px 16px}.orders-panel{flex:1;min-height:0;display:flex;flex-direction:column}.orders-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.orders-list{display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1;min-height:0}.orders-card{background:#fff;border-radius:16px;border:1px solid rgba(226,232,240,1);padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 20px #0000000f}.orders-approval-section{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.orders-approval-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#b91c1c;text-transform:uppercase;letter-spacing:.05em}.orders-approval-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;padding-top:10px;border-top:1px solid #e2e8f0}.orders-approval-table-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b}.orders-approval-select{padding:8px 10px;border-radius:10px;border:1px solid #e2e8f0;font-size:14px;min-width:120px}.orders-card--pending_approval{border-left:4px solid #a855f7;background:#faf5ff}.orders-card--pending{border-left:4px solid #eab308}.orders-card--preparing{border-left:4px solid #f97316}.orders-card--ready{border-left:4px solid #22c55e}.orders-card--served{border-left:4px solid #3b82f6}.orders-card--paid{border-left:4px solid #94a3b8}.orders-card--cancelled{border-left:4px solid #ef4444}.orders-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.orders-card-table{font-weight:600;font-size:16px;color:#b91c1c}.orders-card-time{font-size:12px;color:#64748b}.orders-card-status{font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#475569}.orders-card-note{margin:0;font-size:13px;color:#64748b;font-style:italic;padding:6px 8px;background:#f8991d1a;border-radius:8px}.orders-card-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.orders-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;background:#f8fafc}.orders-item-check{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1}.orders-item-check input{width:18px;height:18px;accent-color:#22c55e}.orders-item-name{font-size:14px}.orders-item-name.served{text-decoration:line-through;color:#94a3b8}.orders-item-price{font-size:13px;color:#64748b}.orders-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.orders-hint{font-size:13px;color:#64748b}.home-page{padding:0;font-family:DM Sans,system-ui,sans-serif}.home-loading{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s ease;pointer-events:none}.home-loading:not(.home-loading--done){pointer-events:auto}.home-loading--done{opacity:0;visibility:hidden}.home-loading-gradient{position:absolute;inset:0;background:linear-gradient(165deg,#1a120c,#2d1f14 35%,#3d2a1a 60%,#1a120c)}.home-loading-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.home-loading-logo{font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,6vw,3rem);letter-spacing:.12em;color:#ffffffeb;text-shadow:0 2px 24px rgba(0,0,0,.4)}.home-loading-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:#ffffffe6;border-radius:50%;animation:home-loading-spin .8s linear infinite}@keyframes home-loading-spin{to{transform:rotate(360deg)}}.home-hero{position:relative;width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.home-hero-bg{position:absolute;inset:0;z-index:0}.home-hero-img{width:100%;height:100%;object-fit:cover}.home-hero-overlay{position:absolute;inset:0;background:linear-gradient(165deg,#00000059,#00000073 45%,#1a120ca6);z-index:1}.home-hero-content{position:relative;z-index:2;padding:1.5rem;max-width:920px}.home-hero-eyebrow{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:#ffffffbf;margin:0 0 1rem;font-weight:600}.home-hero-title{font-family:Bebas Neue,sans-serif;font-size:clamp(2.25rem,8vw,4rem);font-weight:400;line-height:1.08;color:#fff;margin:0 0 .85rem;letter-spacing:.05em;text-shadow:0 4px 32px rgba(0,0,0,.45)}.home-hero-subtitle{font-size:clamp(.95rem,2.2vw,1.2rem);color:#ffffffeb;margin:0 auto 1.5rem;max-width:36rem;line-height:1.65;text-shadow:0 2px 16px rgba(0,0,0,.35)}.home-hero-chips{display:flex;flex-wrap:wrap;gap:.5rem .65rem;justify-content:center;margin-top:.25rem}.home-hero-chip{display:inline-block;padding:.4rem .95rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fffffff2;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#ffffffe0;text-decoration:none;font-size:.8rem;letter-spacing:.08em;transition:color .2s,transform .2s}.home-hero-scroll:hover{color:#fff;transform:translate(-50%) translateY(4px)}.home-hero-scroll-icon{width:22px;height:22px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);animation:home-scroll-bounce 2s ease-in-out infinite}.home-hero-scroll-text{text-transform:uppercase;font-weight:600}@keyframes home-scroll-bounce{0%,to{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(6px)}}.home-section{padding:clamp(3.25rem,9vw,5.5rem) 1.5rem;background:#faf9f7}.home-section:nth-of-type(2n):not(.home-section--cta){background:#f5f3ef}.home-section--story{background:linear-gradient(180deg,#faf9f7,#f7f5f1)}.home-section--menu{background:linear-gradient(180deg,#f5f3ef,#faf9f7)}.home-section-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}.home-section-inner--narrow{max-width:640px;text-align:center;grid-template-columns:1fr}@media(max-width:768px){.home-section-inner{grid-template-columns:1fr;gap:2rem}.home-section--text-right .home-section-media{order:0}.home-section--text-right .home-section-text{order:1}}.home-section-eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#c2410c;font-weight:700;margin:0 0 .5rem}.home-section-text{min-width:0}.home-section-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.85rem,4.2vw,2.5rem);font-weight:400;letter-spacing:.04em;color:#141210;margin:0 0 1rem;line-height:1.2}.home-section-title--light{color:#fff}.home-section-lead{font-size:1.1rem;color:#444;margin:0 0 1.25rem;font-weight:500}.home-section-body{font-size:1.02rem;line-height:1.75;color:#3d3a36;margin:0 0 1rem}.home-section-body--light{color:#ffffffe0}.home-section-body:last-of-type{margin-bottom:1.35rem}.home-section-media{min-width:0;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #1412101a}.home-section-media--elevated{box-shadow:0 4px 6px #0000000a,0 24px 48px #1412101f}.home-section-img{width:100%;height:auto;display:block;aspect-ratio:4 / 3;object-fit:cover;vertical-align:middle}.home-section-cta{display:inline-block;padding:.7rem 1.65rem;font-size:.92rem;font-weight:600;color:#141210;text-decoration:none;border:2px solid #141210;border-radius:8px;transition:background .2s,color .2s,transform .15s}.home-section-cta:hover{background:#141210;color:#fff}.home-section-cta--primary{background:#c2410c;border-color:#c2410c;color:#fff}.home-section-cta--primary:hover{background:#9a3412;border-color:#9a3412;color:#fff;transform:translateY(-1px)}.home-section-cta-group{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:1.65rem}.home-features{padding:clamp(3rem,8vw,4.5rem) 1.5rem clamp(1.5rem,4vw,2rem) 1.5rem;background:#fff;border-top:1px solid #ebe8e3;border-bottom:1px solid #ebe8e3}.home-features:has(+.home-gallery-section){padding-bottom:clamp(1rem,2.5vw,1.75rem);border-bottom:none}.home-features+.home-section--menu{padding-top:clamp(1.25rem,3vw,2rem)}.home-features:not(:has(+.home-gallery-section)){padding-bottom:clamp(1.5rem,4vw,2.25rem)}.home-features-inner{max-width:1040px;margin:0 auto;text-align:center}.home-features-heading{font-family:Bebas Neue,sans-serif;font-size:clamp(1.75rem,3.5vw,2.25rem);letter-spacing:.05em;color:#141210;margin:0 0 .5rem}.home-features-lead{margin:0 auto 2.25rem;max-width:520px;font-size:1rem;line-height:1.65;color:#5c5852}.home-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2rem);text-align:left}@media(max-width:720px){.home-features-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto;text-align:center}.home-feature-card{text-align:center}}.home-feature-card{padding:1.5rem 1.35rem;background:#faf9f7;border-radius:14px;border:1px solid #ebe8e3;transition:border-color .2s,box-shadow .2s}.home-feature-card:hover{border-color:#e0dcd4;box-shadow:0 12px 28px #1412100f}.home-feature-icon{font-size:1.75rem;line-height:1;margin-bottom:.85rem;color:#c2410c;opacity:.9}.home-feature-title{font-family:Bebas Neue,sans-serif;font-size:1.2rem;letter-spacing:.04em;margin:0 0 .5rem;color:#141210}.home-feature-body{margin:0;font-size:.92rem;line-height:1.6;color:#5c5852}.home-gallery-section{padding:clamp(2.25rem,6vw,3.75rem) 0 clamp(2.25rem,5.5vw,3rem);background:#141210;color:#fff;overflow:hidden}.home-gallery-section+.home-section--menu{padding-top:clamp(1.25rem,3vw,2rem)}.home-gallery-head{max-width:1180px;margin:0 auto 1.75rem;padding:0 1.5rem;text-align:center}.home-gallery-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.65rem,3.5vw,2.1rem);letter-spacing:.05em;margin:0 0 .5rem;color:#fff}.home-gallery-subtitle{margin:0 0 1rem;font-size:.98rem;color:#ffffffb8;line-height:1.55;max-width:480px;margin-left:auto;margin-right:auto}.home-gallery-link{display:inline-block;font-size:.88rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#f4a574;text-decoration:none;transition:color .2s}.home-gallery-link:hover{color:#ffc49a}.home-gallery-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}.home-gallery-track{display:flex;gap:1rem;padding:.25rem 1.5rem .75rem;width:max-content;margin:0 auto}.home-gallery-card{flex:0 0 auto;width:min(200px,42vw);text-decoration:none;color:inherit;border-radius:12px;overflow:hidden;background:#2a2520;transition:transform .2s,box-shadow .2s}.home-gallery-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #00000059}.home-gallery-card-img-wrap{aspect-ratio:1;overflow:hidden}.home-gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.home-gallery-card:hover img{transform:scale(1.06)}.home-gallery-card-name{display:block;padding:.65rem .75rem .85rem;font-size:.82rem;font-weight:600;line-height:1.35;color:#ffffffeb;border-top:1px solid rgba(255,255,255,.08)}.home-section--cta{background:linear-gradient(155deg,#1c1814,#2d241c,#1a1512);padding:clamp(3.5rem,10vw,5rem) 1.5rem;border:none}.home-section-cta--on-dark{background:#c2410c;border-color:#c2410c;color:#fff}.home-section-cta--on-dark:hover{background:#ea580c;border-color:#ea580c;color:#fff}.home-section-cta--ghost{background:transparent;border-color:#ffffff73;color:#fff}.home-section-cta--ghost:hover{background:#ffffff1a;border-color:#ffffffb3;color:#fff}.home-reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease-out,transform .65s ease-out}.home-reveal--visible{opacity:1;transform:translateY(0)}.menu-page{padding:0 0 2rem}.menu-page-title{font-size:1.75rem;font-weight:700;margin:0 0 1.5rem}.menu-page-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.menu-page-filter-btn{padding:.5rem .75rem;border:1px solid #e5e0d8;background:#fff;border-radius:6px;font-size:.9rem;cursor:pointer;color:#444;transition:background .2s,border-color .2s,color .2s}.menu-page-filter-btn:hover{background:#f5f0eb;border-color:#d4cfc6}.menu-page-filter-btn.active{background:#fef3c7;border-color:#f59e0b;color:#b45309;font-weight:500}.menu-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.menu-page-card{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #eee8e0;transition:box-shadow .2s}.menu-page-card:hover{box-shadow:0 4px 12px #00000014}.menu-page-card-image-wrap{aspect-ratio:4/3;background:#f5f0eb;overflow:hidden}.menu-page-card-image{width:100%;height:100%;object-fit:cover}.menu-page-card-body{padding:1rem}.menu-page-card-name{margin:0 0 .35rem;font-size:1rem;font-weight:600}.menu-page-card-desc{margin:0 0 .5rem;font-size:.85rem;line-height:1.4;color:#555}.menu-page-card-price{margin:0;font-size:.95rem;color:#1a1a1a;font-weight:600}.menu-page-category-desc{margin:0 0 1rem;padding:.75rem 1rem;background:#f5f0eb;border-radius:8px;font-size:.9rem;color:#444;max-width:100%}.menu-page-loading,.menu-page-empty{color:#666;margin:1rem 0 0}.about-page{padding:0;margin:0 auto;max-width:1100px;background:#fafaf8}.about-hero{padding:2.5rem 1.25rem 1.5rem;text-align:center;border-bottom:1px solid rgba(0,0,0,.06);background:linear-gradient(180deg,#fff,#fafaf8)}.about-hero-title{margin:0;font-family:Bebas Neue,Impact,sans-serif;font-size:clamp(2.5rem,8vw,3.75rem);font-weight:400;letter-spacing:.08em;color:#1a1a1a;text-transform:uppercase}.about-intro{padding:2rem 1.25rem 1rem;max-width:42rem;margin:0 auto}.about-lead{margin:0;font-size:1.0625rem;line-height:1.75;color:#3d3d3d;text-align:center}.about-layout{display:grid;grid-template-columns:1fr;gap:2rem;padding:0 1.25rem 3rem}@media(min-width:900px){.about-layout{grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:2.5rem;align-items:start;padding:0 1.5rem 3.5rem}}.about-main{min-width:0}.about-block{margin-bottom:2rem}.about-block-title{margin:0 0 .75rem;font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b91c1c}.about-block-text{margin:0;font-size:1rem;line-height:1.72;color:#444}.about-quote-banner{margin:2rem 0 1.5rem;padding:1.35rem 1.25rem;text-align:center;font-family:Bebas Neue,sans-serif;font-size:clamp(1.35rem,4.2vw,2.15rem);font-weight:400;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#00000073,#0000008c),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E"),linear-gradient(135deg,#3f3f46,#1c1917,#292524);border-radius:10px;box-shadow:0 12px 32px #0000001f;text-shadow:0 2px 16px rgba(0,0,0,.35)}.about-menu-note{margin:0 0 1rem;font-size:.9375rem;line-height:1.65;color:#666}.about-friends{margin:0;font-size:.9375rem;line-height:1.65;color:#555}.about-inline-link{color:#b91c1c;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(185,28,28,.35)}.about-inline-link:hover{border-bottom-color:#b91c1c}.about-gallery{position:relative}.about-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;position:sticky;top:1rem}.about-gallery-item{margin:0;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #00000014;aspect-ratio:1;background:#eee}.about-gallery-item--1{grid-column:span 2;aspect-ratio:16 / 10;max-height:220px}.about-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.about-gallery-item:hover img{transform:scale(1.03)}@media(max-width:899px){.about-gallery-grid{max-width:480px;margin:0 auto}}.contact-page{padding:0 0 2rem}.contact-title{font-size:1.75rem;font-weight:700;margin:0 0 1.5rem}.contact-info{margin-bottom:2rem}.contact-info p{margin:0 0 .5rem;color:#333}.contact-phone-label{margin-top:1rem!important;font-weight:600;color:#1a1a1a}.contact-phone-number{font-size:1.15rem;font-weight:500;letter-spacing:.02em}.contact-phone-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.contact-phone-btn{display:inline-block;padding:.6rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;border-radius:8px;transition:background .2s,color .2s}.contact-phone-btn--call{background:#1a1a1a;color:#fff}.contact-phone-btn--call:hover{background:#333;color:#fff}.contact-phone-btn--whatsapp{background:#25d366;color:#fff}.contact-phone-btn--whatsapp:hover{background:#20bd5a;color:#fff}.contact-form-section{border-top:1px solid #eee8e0;padding-top:1.5rem}.contact-form-title{font-size:1.25rem;margin:0 0 1rem}.contact-form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.contact-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#444}.contact-input,.contact-textarea{padding:.6rem .75rem;border:1px solid #e5e0d8;border-radius:6px;font-size:1rem}.contact-textarea{resize:vertical;min-height:80px}.contact-submit{padding:.75rem 1.25rem;background:#c2410c;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;align-self:flex-start}.contact-submit:hover:not(:disabled){background:#9a3412}.contact-submit:disabled{opacity:.65;cursor:not-allowed}.contact-form-feedback{margin:.25rem 0 0;font-size:.95rem;line-height:1.45}.contact-form-feedback--ok{color:#166534}.contact-form-feedback--err{color:#b91c1c}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#faf8f5}.login-card{width:100%;max-width:360px;padding:2rem;background:#fff;border-radius:12px;border:1px solid #eee8e0;box-shadow:0 4px 20px #0000000f}.login-title{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.login-subtitle{margin:0 0 1.5rem;font-size:.9rem;color:#666}.login-form{display:flex;flex-direction:column;gap:1rem}.login-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#444}.login-input{padding:.6rem .75rem;border:1px solid #e5e0d8;border-radius:6px;font-size:1rem}.login-input:focus{outline:none;border-color:#c2410c;box-shadow:0 0 0 2px #c2410c33}.login-error{margin:0;font-size:.875rem;color:#b91c1c}.login-submit{padding:.75rem;background:#c2410c;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;margin-top:.25rem}.login-submit:hover:not(:disabled){background:#9a3412}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-back{margin:1.25rem 0 0;text-align:center;font-size:.9rem}.login-back a{color:#c2410c;text-decoration:none}.login-back a:hover{text-decoration:underline}.forbidden-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:#faf8f5;text-align:center}.forbidden-title{margin:0 0 .5rem;font-size:4rem;font-weight:700;color:#c2410c}.forbidden-message{margin:0 0 1.5rem;font-size:1.1rem;color:#444}.forbidden-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.forbidden-link{padding:.6rem 1.25rem;background:#c2410c;color:#fff;text-decoration:none;border-radius:8px;font-weight:500}.forbidden-link:hover{background:#9a3412}.forbidden-link.secondary{background:transparent;color:#444;border:1px solid #ccc}.forbidden-link.secondary:hover{background:#f5f0eb}
