*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--ds-bg, #121212);color:var(--ds-text, #f2f2f2);font-family:var(--ds-font, "Montserrat", system-ui, sans-serif);font-size:16px;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:3px solid var(--ds-brand, #c9a227);outline-offset:2px}h1,h2,p{margin:0}ul{list-style:none;margin:0;padding:0}.w-muted{color:var(--ds-muted, #a0a0a0);font-size:.85rem}.w-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:40vh;text-align:center;padding:1.5rem}.w-disabled{min-height:100vh}.w-disabled h1{font-size:1.3rem}.w-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--ds-border, #333);border-top-color:var(--ds-brand, #c9a227);animation:w-spin .8s linear infinite}@keyframes w-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.w-spinner{animation-duration:3s}}.w-empty{color:var(--ds-muted, #a0a0a0);text-align:center;padding:2rem 1rem}.w-error{color:var(--ds-danger, #ff6b6b);background:var(--ds-danger-soft, rgba(255,107,107,.12));padding:.7rem .9rem;border-radius:var(--ds-radius-md, 12px);font-size:.9rem}.w-hint{display:flex;gap:.35rem;align-items:center;color:var(--ds-warning, #f9c74f);font-size:.85rem}.w-link{background:none;border:none;color:var(--ds-brand, #c9a227);text-decoration:underline;padding:.6rem;min-height:44px}.w-app{max-width:640px;margin:0 auto;min-height:100vh}.w-screen{padding:0 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem}.w-screen.w-has-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.w-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:calc(12px + env(safe-area-inset-top)) 0 12px;background:var(--ds-bg, #121212)}.w-header h1{font-size:1.35rem;font-weight:700}.w-header-title{flex:1;min-width:0}.w-header-title h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.w-section-title{font-size:1rem;font-weight:700;margin-bottom:.6rem}.w-footer{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;gap:.6rem;align-items:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto;background:color-mix(in srgb,var(--ds-bg, #121212) 92%,transparent);border-top:1px solid var(--ds-border, #333);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.w-footer>.w-btn,.w-footer>.w-bill-requested{flex:1 1 0;min-width:0}.w-footer>.w-btn{padding:0 .6rem;font-size:.95rem}.w-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 1.1rem;border-radius:var(--ds-radius-pill, 999px);border:1px solid transparent;font-weight:700;font-size:1rem;white-space:nowrap}.w-btn-primary{background:var(--ds-brand, #c9a227);color:var(--ds-on-brand, #111)}.w-btn-secondary{background:var(--ds-surface-2, #262626);border-color:var(--ds-border, #333)}.w-btn-small{min-height:40px;padding:0 .9rem;font-size:.9rem;background:var(--ds-brand, #c9a227);color:var(--ds-on-brand, #111)}.w-btn-block{width:100%}.w-icon-btn{width:48px;height:48px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent}.w-icon-btn:active{background:var(--ds-surface-2, #262626)}.w-card{background:var(--ds-surface, #1c1c1c);border:1px solid var(--ds-border, #333);border-radius:var(--ds-radius-lg, 16px);padding:1rem}.w-banner{display:flex;gap:.5rem;align-items:center;padding:.6rem .8rem;border-radius:var(--ds-radius-md, 12px);font-size:.85rem}.w-banner-warn{background:var(--ds-warning-soft, rgba(249,199,79,.12));color:var(--ds-warning, #f9c74f)}.w-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--ds-muted, #a0a0a0)}.w-field input,.w-field textarea,.w-note-input,.w-search input{width:100%;min-height:48px;padding:.7rem .9rem;border-radius:var(--ds-radius-md, 12px);border:1px solid var(--ds-border, #333);background:var(--ds-surface-2, #262626);color:var(--ds-text, #f2f2f2);font-size:1rem}.w-field textarea{resize:vertical}.w-note-input{min-height:44px;font-size:.9rem;margin-top:.4rem}.w-search{position:relative;display:block}.w-search svg{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--ds-muted, #a0a0a0)}.w-search input{padding-left:2.6rem}.w-chips{display:flex;gap:.5rem;flex-wrap:wrap}.w-chips-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.w-chips-scroll::-webkit-scrollbar{display:none}.w-chips button{flex:none;min-height:44px;padding:0 1rem;border-radius:var(--ds-radius-pill, 999px);border:1px solid var(--ds-border, #333);background:var(--ds-surface, #1c1c1c);font-weight:600;font-size:.9rem}.w-chips button.active{background:var(--ds-brand, #c9a227);color:var(--ds-on-brand, #111);border-color:transparent}.w-stepper{display:flex;align-items:center;gap:.6rem}.w-stepper button{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ds-border, #333);background:var(--ds-surface-2, #262626)}.w-stepper output{min-width:2ch;text-align:center;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.w-guests{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600}.w-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:calc(32px + env(safe-area-inset-top)) 16px 24px;text-align:center}.w-login-logo{width:72px;height:72px;object-fit:contain;margin-bottom:.5rem}.w-login h1{font-size:1.5rem}.w-login-form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:1rem;margin-top:1rem;text-align:left}.w-pin-dots{display:flex;justify-content:center;gap:.9rem;min-height:20px;margin:.5rem 0}.w-pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--ds-muted, #a0a0a0)}.w-pin-dots span.filled{background:var(--ds-brand, #c9a227);border-color:var(--ds-brand, #c9a227)}.w-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.w-keypad button{min-height:64px;border-radius:var(--ds-radius-lg, 16px);border:1px solid var(--ds-border, #333);background:var(--ds-surface, #1c1c1c);font-size:1.6rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.w-keypad button:active{background:var(--ds-surface-2, #262626)}.w-keypad .w-keypad-go{background:var(--ds-brand, #c9a227);color:var(--ds-on-brand, #111);border-color:transparent}.w-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(min-width:480px){.w-table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.w-table-card{width:100%;min-height:104px;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;padding:.85rem;border-radius:var(--ds-radius-lg, 16px);border:2px solid var(--ds-border, #333);background:var(--ds-surface, #1c1c1c)}.w-table-card.is-open{border-color:var(--ds-brand, #c9a227);background:var(--ds-brand-soft, rgba(201,162,39,.12))}.w-table-card.has-ready{border-color:var(--ds-success, #5fd38d)}.w-table-name{font-weight:700;font-size:1.05rem}.w-table-status{font-size:.8rem;color:var(--ds-muted, #a0a0a0)}.w-table-card.is-open .w-table-status{color:var(--ds-text, #f2f2f2)}.w-table-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:auto}.w-badge{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:var(--ds-radius-pill, 999px);background:var(--ds-surface-2, #262626)}.w-badge-ready{background:var(--ds-success, #5fd38d);color:#0d2b18}.w-badge-bill{background:var(--ds-warning, #f9c74f);color:#2b2205}.w-ready-list{display:flex;flex-direction:column;gap:.5rem;padding:.85rem;border-radius:var(--ds-radius-lg, 16px);background:var(--ds-success-soft, rgba(95,211,141,.12));border:1px solid var(--ds-success, #5fd38d)}.w-ready-list h2{display:flex;align-items:center;gap:.4rem;font-size:.95rem;color:var(--ds-success, #5fd38d)}.w-ready-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;min-height:48px;padding:.4rem .2rem;background:none;border:none;border-top:1px solid var(--ds-border-soft, rgba(255,255,255,.08));text-align:left}.w-ready-row span{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-ready-alert{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.6rem;margin:0 8px;padding:.7rem .8rem;padding-top:calc(.7rem + env(safe-area-inset-top));border-radius:0 0 var(--ds-radius-lg, 16px) var(--ds-radius-lg, 16px);background:var(--ds-success, #5fd38d);color:#0d2b18;box-shadow:0 8px 24px #00000059}.w-ready-alert .w-btn-small{background:#0d2b18;color:#fff}.w-ready-alert .w-icon-btn{width:40px;height:40px}.w-ready-alert-text{flex:1;min-width:0;display:flex;flex-direction:column}.w-ready-alert-text span{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-ready-alert-more{font-size:.75rem;font-weight:700}.w-open-card{display:flex;flex-direction:column;gap:1rem}.w-code-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center}.w-code{font-size:3rem;font-weight:800;letter-spacing:.3em;padding-left:.3em;font-variant-numeric:tabular-nums;line-height:1.1}.w-orders{display:flex;flex-direction:column;gap:.75rem}.w-order{background:var(--ds-surface, #1c1c1c);border:1px solid var(--ds-border, #333);border-radius:var(--ds-radius-lg, 16px);padding:.85rem;display:flex;flex-direction:column;gap:.6rem}.w-order.is-ready{border-color:var(--ds-success, #5fd38d)}.w-order.is-done{opacity:.7}.w-order-head{display:flex;align-items:center;gap:.6rem}.w-order-total{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}.w-order-lines{display:flex;flex-direction:column;gap:.3rem;font-size:.95rem}.w-order-lines small{display:block;color:var(--ds-warning, #f9c74f);font-size:.8rem}.w-order-note{font-size:.85rem;color:var(--ds-warning, #f9c74f)}.w-pill{font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:var(--ds-radius-pill, 999px);background:var(--ds-surface-2, #262626)}.w-pill-kds-production{background:var(--ds-info-soft, rgba(100,160,255,.15));color:var(--ds-info, #7fb2ff)}.w-pill-kds-ready{background:var(--ds-success, #5fd38d);color:#0d2b18}.w-pill-cancelled{background:var(--ds-danger-soft, rgba(255,107,107,.12));color:var(--ds-danger, #ff6b6b)}.w-total{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem .2rem 0;font-size:1.05rem}.w-total strong{font-size:1.35rem;font-variant-numeric:tabular-nums}.w-bill-requested{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.85rem;color:var(--ds-success, #5fd38d);text-align:center}.w-products,.w-sizes{display:flex;flex-direction:column;gap:.5rem}.w-product{width:100%;min-height:56px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.6rem .9rem;border-radius:var(--ds-radius-md, 12px);border:1px solid var(--ds-border, #333);background:var(--ds-surface, #1c1c1c);text-align:left}.w-product:active{background:var(--ds-surface-2, #262626)}.w-product-name{font-weight:600}.w-product-price{color:var(--ds-muted, #a0a0a0);font-size:.9rem;font-variant-numeric:tabular-nums}.w-product-count{min-width:26px;height:26px;border-radius:13px;padding:0 .4rem;display:inline-flex;align-items:center;justify-content:center;background:var(--ds-brand, #c9a227);color:var(--ds-on-brand, #111);font-weight:800;font-size:.85rem}.w-review{display:flex;flex-direction:column;gap:.9rem}.w-review-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.w-sheet-overlay{position:fixed;inset:0;z-index:30;background:#0000008c;display:flex;align-items:flex-end;justify-content:center}.w-sheet{width:100%;max-width:640px;max-height:88vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:1rem 16px calc(16px + env(safe-area-inset-bottom));background:var(--ds-surface, #1c1c1c);border-radius:var(--ds-radius-xl, 24px) var(--ds-radius-xl, 24px) 0 0}.w-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.w-sheet-head h2{font-size:1.15rem}.w-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;max-width:calc(100% - 32px);padding:.7rem 1.1rem;border-radius:var(--ds-radius-pill, 999px);background:var(--ds-text, #f2f2f2);color:var(--ds-bg, #121212);font-weight:600;font-size:.9rem;box-shadow:0 6px 20px #00000059}
