@layer reset{*,:before,:after{box-sizing:border-box}html,body{background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit;color:inherit}h1,h2,h3,p,ul,ol,fieldset{margin:0}img{max-width:100%;display:block}fieldset{border:0;padding:0}}@layer ui;.page{max-width:760px;padding:var(--space-4) var(--space-4) 120px;margin:0 auto}.narrow{max-width:560px}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack-lg{gap:var(--space-6);flex-direction:column;display:flex}.row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.row.center{align-items:center}.grow{flex:1;gap:2px;display:grid}.muted{color:var(--color-text-secondary)}.faint{color:var(--color-text-muted)}.error{color:var(--color-danger)}.back{align-self:flex-start;min-height:32px;padding:0}.ui-check .grow{gap:0}.brandbar{align-items:center;gap:var(--space-3);max-width:760px;padding:var(--space-4) var(--space-4) var(--space-2);margin:0 auto;display:flex}.brandbar h1{color:var(--color-brand-text)}.logo-link img{width:56px;height:auto}.pickup-note{max-width:760px;padding:0 var(--space-4) var(--space-2);margin:0 auto}.catnav{z-index:5;gap:var(--space-2);padding:var(--space-3) max(var(--space-4), calc((100vw - 760px) / 2 + var(--space-4)));background:var(--color-canvas);border-bottom:1px solid var(--color-border-subtle);scrollbar-width:none;display:flex;position:sticky;top:0;overflow-x:auto}.catnav::-webkit-scrollbar{display:none}.menu-section{padding-top:var(--space-6);scroll-margin-top:72px}.menu-section h2{padding-bottom:var(--space-1)}.dish{align-items:flex-start;gap:var(--space-4);padding-left:0;padding-right:0}.dish-text{flex:1;gap:3px;display:grid}.dish .desc{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dish img{object-fit:cover;border-radius:var(--radius-md);flex:none;width:88px;height:88px}.dish.off{opacity:.55}.foot{gap:var(--space-2);padding-top:var(--space-8);display:grid}.bottombar{z-index:10;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--color-canvas) 30%);position:fixed;bottom:0;left:0;right:0}.bottombar .ui-btn{justify-content:space-between;width:100%;max-width:728px;margin:0 auto;display:flex}.sheet-host{position:fixed}.item-sheet{max-width:560px;max-height:92vh;margin:0 auto;padding:0;overflow-y:auto}.item-sheet .hero{aspect-ratio:16/10;object-fit:cover;width:100%}.sheet-body{padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));gap:var(--space-4);display:grid}.stepper{align-items:center;gap:var(--space-3);display:flex}.stepper.small{gap:var(--space-2);margin-top:var(--space-2)}@media (width>=640px){.sheet-host{align-items:center}.item-sheet{border-radius:var(--radius-xl)}}.line{align-items:flex-start;padding-left:0;padding-right:0}.totals{gap:var(--space-2);display:grid}.ui-segmented button{padding:0 var(--space-2)}.tracker{padding:0;list-style:none;display:grid}.tracker li{gap:var(--space-3);color:var(--color-text-muted);grid-template-columns:14px 1fr auto;align-items:baseline;padding:10px 0;display:grid}.tracker li:before{content:"";border:2px solid;border-radius:50%;width:10px;height:10px;transform:translateY(1px)}.tracker li.done{color:var(--color-text-primary)}.tracker li.done:before{background:var(--color-status-ready);border-color:var(--color-status-ready)}.tracker li.now{color:var(--color-text-primary)}.tracker li.now:before{border-color:var(--color-status-new)}.tracker time{font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.lock{max-width:420px;min-height:100vh;padding:var(--space-8) var(--space-6);justify-content:center;gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.kitchen{flex-direction:column;min-height:100vh;display:flex}.k-bar{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.k-bar h1{color:var(--color-brand-text)}.conn{font-size:var(--text-sm);color:var(--color-danger)}.conn.up{color:var(--color-text-secondary)}.conn:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.conn.up:before{background:var(--color-success)}.k-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.k-actions .ui-segmented{min-width:240px}.k-tabs{padding:0 var(--space-2)}.k-board{gap:var(--space-4);padding:var(--space-4);flex:1;align-items:start;display:grid}.k-col{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.k-col:not(.show){display:none}.k-col>h2{color:var(--color-text-secondary);display:none}.ticket{gap:var(--space-2);flex-direction:column;display:flex}.ticket .age{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-weight:600}.ticket .age.late{color:var(--color-danger)}.tags{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.k-items{font-size:var(--text-md);gap:4px;padding:0;list-style:none;display:grid}.k-items.big{font-size:var(--text-lg)}.k-items em{color:var(--color-danger);font-style:normal;font-weight:600}.k-done{padding:0 var(--space-4) var(--space-4)}.center-scrim{padding:var(--space-4);justify-content:center;align-items:center;position:fixed}.new-order{gap:var(--space-3);flex-direction:column;width:min(520px,100%);max-height:94vh;display:flex;overflow-y:auto}.kicker{background:var(--color-status-new);color:var(--color-on-status-new);font-weight:700;font-size:var(--text-sm);align-self:flex-start;padding:6px 10px}.stock{gap:var(--space-3);flex-direction:column;width:min(640px,100%);max-height:88vh;display:flex}.stock-list{gap:var(--space-4);display:grid;overflow-y:auto}.stock-list fieldset{display:grid}@media (width>=900px){.k-tabs{display:none}.k-board{grid-template-columns:repeat(3,1fr)}.k-col,.k-col:not(.show){display:flex}.k-col>h2{display:block}}.poster{max-width:520px;padding:var(--space-10) var(--space-6);text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.poster h1{color:var(--color-brand-text)}.poster .qr{aspect-ratio:1;width:min(300px,70vw)}.poster .qr svg{width:100%;height:100%}.poster .url{font-variant-numeric:tabular-nums;letter-spacing:.02em}@media print{.noprint{display:none!important}.poster{padding-top:0}}
