@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;700;800&display=swap";:root{--sand-100: #f5ecdc;--sand-200: #f0e3ce;--sand-300: #e4d3b3;--ink-900: #1f2722;--ink-700: #34413b;--ink-500: #4a594f;--accent-gold: #c79a40;--accent-gold-soft: rgba(199, 154, 64, .22);--accent-green: #2d7f5d;--danger: #c44b4b;--panel-bg: rgba(255, 252, 247, .88);--panel-border: rgba(56, 67, 61, .16);--shadow: 0 14px 40px rgba(39, 33, 22, .12)}*{box-sizing:border-box}body{margin:0;color:var(--ink-900);font-family:Manrope,sans-serif;background:radial-gradient(circle at 16% 14%,rgba(199,154,64,.26),transparent 40%),radial-gradient(circle at 84% 8%,rgba(45,127,93,.18),transparent 38%),linear-gradient(140deg,var(--sand-100),var(--sand-200) 46%,#f9f2e6 100%);min-height:100vh}a{color:inherit}h1,h2,h3{margin:0;font-family:Cormorant Garamond,serif;letter-spacing:.02em}h1{font-size:clamp(2rem,3.6vw,2.7rem)}h2{font-size:clamp(1.4rem,2.6vw,1.85rem)}h3{font-size:1.05rem}.page-shell{width:min(1320px,calc(100vw - 2.2rem));margin:1.2rem auto 2rem}.page-shell.compact{width:min(600px,calc(100vw - 2rem));margin-top:4.2rem}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.brand-tag{margin:0 0 .35rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500)}.page-subtitle{margin:.4rem 0 0;color:var(--ink-500)}.page-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.actions-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.ghost-link{text-decoration:none;border:1px solid var(--panel-border);padding:.5rem .8rem;border-radius:999px;background:#ffffff73;transition:transform .2s ease}.ghost-link:hover{transform:translateY(-1px)}.panel{border:1px solid var(--panel-border);border-radius:1rem;background:var(--panel-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.panel-info{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.panel-narrow{width:min(460px,100%);margin:0 auto}.panel-headline-row{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.8rem}.form-grid{display:grid;gap:.55rem}.field-label{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-700);margin-top:.55rem}.field-input{width:100%;border:1px solid rgba(35,42,38,.2);border-radius:.72rem;padding:.72rem .8rem;background:#ffffffe6;color:var(--ink-900);font-family:inherit;font-size:.95rem}.field-input:focus{outline:2px solid rgba(199,154,64,.22);border-color:var(--accent-gold)}.compact-input{font-size:.85rem;margin-top:.45rem;padding:.5rem .6rem}.primary-button,.secondary-button,.ghost-button{border:1px solid transparent;border-radius:.72rem;padding:.6rem .92rem;font-family:inherit;font-weight:700;cursor:pointer;transition:transform .18s ease,filter .18s ease}.primary-button{background:linear-gradient(120deg,#d9b062,var(--accent-gold));color:#201a12}.secondary-button{background:linear-gradient(120deg,#365d4b,#254538);color:#eef8f3}.ghost-button{background:#ffffffa6;border-color:#1f272233;color:var(--ink-700)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px);filter:brightness(1.02)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.62;cursor:not-allowed;transform:none}.primary-button.wide{margin-top:.75rem;width:100%}.error-text{margin:.35rem 0;color:var(--danger);font-weight:700;font-size:.88rem}.notice-banner{margin:.2rem 0 .85rem;border:1px solid rgba(45,127,93,.35);background:#2d7f5d1f;border-radius:.72rem;padding:.6rem .8rem;color:#225c44;font-weight:700}.muted-line{margin:0;color:var(--ink-500);font-size:.86rem}.kot-preview-panel{display:grid;gap:.8rem;scroll-margin-top:1rem}.kot-preview-panel:focus{outline:2px solid rgba(199,154,64,.28);outline-offset:2px}.kot-preview-actions{display:flex;flex-wrap:wrap;gap:.55rem}.kot-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem}.kot-ticket-card{border:1px solid rgba(37,48,42,.16);border-radius:.8rem;padding:.72rem;background:#ffffffe6;display:grid;gap:.5rem}.kot-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.kot-slip-preview{margin:0;border:1px dashed rgba(40,51,45,.2);border-radius:.65rem;background:#fffffff2;padding:.62rem;max-height:290px;overflow:auto;white-space:pre-wrap;font-family:Courier New,monospace;font-size:.76rem;line-height:1.35;color:#283028}.menu-shell{display:grid;grid-template-columns:260px 1fr 360px;gap:.9rem;align-items:start}.offers-panel{display:grid;gap:.8rem}.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.offer-card{border:1px solid rgba(199,154,64,.24);border-radius:.88rem;padding:.85rem;background:linear-gradient(135deg,#c79a4024,#2d7f5d14),#ffffffdb;display:grid;gap:.45rem}.offer-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:56px;border-radius:999px;padding:.22rem .55rem;background:#23372dd6;color:#f9f5ee;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.categories-panel,.products-panel,.cart-panel{min-height:300px}.category-list{display:grid;gap:.6rem;max-height:68vh;overflow:auto;padding-right:.3rem}.category-card{border:1px solid rgba(36,47,41,.15);border-radius:.8rem;overflow:hidden;background:#ffffffa6}.category-button,.subcat-button{width:100%;text-align:left;border:none;background:transparent;color:var(--ink-700);font-family:inherit;cursor:pointer}.category-button{padding:.68rem .72rem;font-weight:700}.category-button.active{background:#c79a4033;color:#38280f}.subcat-list{display:grid;border-top:1px solid rgba(35,41,37,.08)}.subcat-button{padding:.55rem .72rem;font-size:.9rem;border-top:1px solid rgba(35,41,37,.07)}.subcat-button.active{background:#2d7f5d26;color:#214f3b;font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}.product-card{border:1px solid rgba(43,52,47,.14);border-radius:.88rem;padding:.72rem;background:#ffffffe6;display:grid;gap:.6rem;animation:cardIn .35s ease both}.product-offer-badges{display:flex;flex-wrap:wrap;gap:.35rem}.product-offer-chip{display:inline-flex;align-items:center;max-width:100%;border-radius:999px;padding:.22rem .52rem;background:#c79a4029;color:#4c3612;font-size:.74rem;font-weight:800;line-height:1.25}.product-image-wrap{border-radius:.7rem;overflow:hidden;aspect-ratio:4 / 3;background:#dcd2bf}.product-image{width:100%;height:100%;object-fit:cover}.image-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:.85rem;color:var(--ink-500)}.variant-pill{margin:0;padding:.52rem .62rem;border-radius:.65rem;background:#c79a4029;color:#402f15;font-weight:700;font-size:.88rem}.segment-row{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.segment{border:1px solid rgba(39,48,43,.16);border-radius:.62rem;background:#ffffffd1;padding:.42rem .55rem;font-family:inherit;font-weight:700;cursor:pointer}.segment.active{border-color:#2d7f5d6b;background:#2d7f5d29;color:#225c44}.cart-panel{position:sticky;top:1rem}.cart-sections{display:grid;gap:.9rem;max-height:46vh;overflow:auto;padding-right:.3rem}.section-title{margin-bottom:.5rem;font-size:1.05rem}.cart-item-row{border:1px solid rgba(38,47,42,.14);border-radius:.72rem;padding:.55rem;background:#fffc;margin-bottom:.45rem}.cart-item-top{display:flex;justify-content:space-between;gap:.6rem}.item-title{margin:0;font-weight:700;font-size:.92rem}.qty-row{margin-top:.45rem;display:flex;align-items:center;gap:.45rem}.qty-button{border:1px solid rgba(38,47,42,.18);width:1.8rem;height:1.8rem;border-radius:.45rem;background:#ffffffe0;cursor:pointer;font-weight:700}.line-total{margin-left:auto;font-size:.9rem}.danger-link{border:none;background:transparent;color:var(--danger);font-weight:700;cursor:pointer;padding:0}.cart-footer{margin-top:.8rem;border-top:1px solid rgba(34,43,38,.14);padding-top:.8rem;display:grid;gap:.35rem}.cart-footer p{margin:0;font-size:.92rem}.grand-total{font-size:1rem;color:#253930}.table-pills{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.45rem;margin-top:.8rem}.table-pill{border:1px solid rgba(39,49,43,.2);border-radius:.72rem;background:#ffffffd1;padding:.52rem .62rem;text-align:left;display:grid;gap:.12rem;cursor:pointer}.table-pill.active{background:#c79a4033;border-color:#c79a4073}.table-pill small{color:var(--ink-500)}.order-table-wrap{overflow:auto}.order-table{width:100%;border-collapse:collapse;min-width:780px}.order-table th,.order-table td{border-bottom:1px solid rgba(34,43,39,.12);padding:.55rem .45rem;text-align:left;font-size:.88rem}.order-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.empty-row{text-align:center;color:var(--ink-500);padding:1.2rem .6rem}.status{display:inline-flex;align-items:center;border-radius:999px;font-size:.72rem;text-transform:uppercase;padding:.2rem .5rem;letter-spacing:.06em;font-weight:700;border:1px solid transparent}.status.pending{color:#7a5b16;background:#c79a4030;border-color:#c79a406b}.status.processing{color:#1f5a44;background:#2d7f5d26;border-color:#2d7f5d66}.status.finished{color:#1f5a44;background:#2d7f5d3b;border-color:#2d7f5d85}.status.cancelled{color:#7c2f2f;background:#c44b4b2b;border-color:#c44b4b6b}.fade-up{animation:fadeUp .45s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(6px) scale(.988)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1220px){.menu-shell{grid-template-columns:220px 1fr}.cart-panel{position:static;grid-column:1 / -1}.cart-sections{max-height:none}}@media(max-width:900px){.page-shell{width:min(1100px,calc(100vw - 1rem));margin:.8rem auto 1.4rem}.page-header{flex-direction:column;align-items:stretch}.menu-shell{grid-template-columns:1fr}.category-list{max-height:none}}@media(max-width:640px){h1{font-size:1.9rem}.panel{padding:.82rem}.product-grid{grid-template-columns:1fr}.actions-row{width:100%;justify-content:stretch}.actions-row button{flex:1}}
