*{box-sizing:border-box}button,input,textarea,select{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:12px 16px;border-radius:var(--r-1);background:var(--ink);color:var(--bg);font-weight:600;transform:translateY(-200%);transition:transform var(--t) var(--ease)}.skip-link:focus{transform:none}.page{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}.page>.page-head{padding-bottom:0}.page>.page-head .button{flex:none;min-height:40px;padding:0 16px;border-radius:var(--r-pill);font-size:14px;white-space:nowrap}.page>.page-head .button svg{width:18px;height:18px}.lede{color:var(--ink-2);font-size:16px;line-height:1.5}.section-block{display:grid;gap:16px;margin-top:16px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.section-heading h2,.panel>h2{font-size:20px;letter-spacing:-.02em}.count-badge{padding:4px 12px;border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;white-space:nowrap}.panel{display:grid;gap:8px;margin-top:16px}.work-toolbar{display:grid;gap:12px}.work-search{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;border-radius:var(--r-pill);background:var(--surface);color:var(--ink-3)}.work-search svg{flex:none;width:20px;height:20px}.work-search input:not([type=checkbox]):not([type=radio]){min-height:0;padding:0;border:0;border-radius:0;background:transparent}.chips{display:flex;gap:8px;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips button{flex:none;min-height:36px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font-size:14px;font-weight:500;transition:background-color var(--t) var(--ease)}.chips button:hover{background:var(--surface-2)}.chips button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.record{display:grid;margin:8px 0}.record>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.record dt{flex:none;color:var(--ink-3);font-size:14px}.record dd{margin:0;min-width:0;font-size:14px;font-weight:500;text-align:right;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap}.status.new,.status.preparing{background:var(--warn-soft);color:var(--warn-ink)}.status.ready,.status.served{background:var(--accent-soft);color:var(--ink)}.status.cancelled{background:var(--danger-soft);color:var(--danger)}.modal footer{display:flex;gap:8px;margin-top:8px}.modal footer .button{flex:1}.form-error{margin:0}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{display:grid;gap:2px;min-height:64px;padding:12px 0;border-bottom:1px solid var(--line)}.audit-list strong{font-size:16px;font-weight:600}.audit-list small{color:var(--ink-3);font-size:14px;text-transform:capitalize}.modal .chips{flex-wrap:wrap;margin:0;padding:0}.seg{display:flex;gap:2px;padding:4px;border-radius:var(--r-pill);background:var(--surface)}.seg button{flex:1;min-height:40px;padding:0 12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink-2);font-size:14px;font-weight:600;transition:background-color var(--t) var(--ease)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.role-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;white-space:nowrap}.role-pill.owner{background:var(--ink);color:var(--bg)}.role-pill.admin{background:var(--info-soft);color:var(--ink)}.role-pill.kitchen{background:var(--warn-soft);color:var(--ink)}.role-pill.volunteer{background:var(--accent-soft);color:var(--ink)}:root{color-scheme:light;--bg: #fbfaf8;--surface: #f3f1ed;--surface-2: #e8e5df;--ink: #1d1b18;--ink-2: #55504a;--ink-3: #6f6961;--line: #e5e1da;--accent: #2f7d4f;--accent-ink: #26663f;--accent-soft: #e8f1ea;--primary: #8a2a1d;--primary-hover: #74231a;--on-primary: #fff;--warn: #c88a00;--warn-ink: #7a5600;--warn-soft: #fff4d6;--danger: #b3261e;--danger-soft: #f8e9e7;--info: #2f5f9e;--info-soft: #eaf0f7;--scrim: rgb(0 0 0 / .4);--r-1: 8px;--r-2: 12px;--r-3: 16px;--r-pill: 999px;--sh-float: 0 4px 16px rgb(0 0 0 / .14);--gutter: 16px;--tabbar-h: 56px;--ease: cubic-bezier(.2, 0, 0, 1);--t: .16s;--canvas: var(--bg);--paper: var(--bg);--muted: var(--ink-3);--pine: var(--ink);--pine-2: var(--ink);--jade: var(--ink);--jade-soft: var(--surface);--gold: var(--warn);--rose: var(--danger);--rose-soft: var(--danger-soft);--radius: var(--r-2);--shadow: none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.43;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{margin:0;letter-spacing:-.02em;font-weight:600}p{margin:0}svg{stroke-width:1.75}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app-loading{min-height:100dvh;display:grid;place-items:center;background:var(--bg);color:var(--ink-3);font-weight:500}.shell{display:block;min-height:100dvh;background:var(--bg);padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.shell main{min-width:0;width:100%;max-width:720px;margin:0 auto;padding:0 var(--gutter) 32px;background:var(--bg)}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--r-pill);background:var(--surface);color:var(--ink);transition:background-color var(--t) var(--ease)}.icon-button:hover{background:var(--surface-2)}.icon-button svg{width:20px;height:20px}.bottom-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--line)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:var(--ink-3);font-size:11px;font-weight:600;letter-spacing:0;transition:color var(--t) var(--ease)}.bottom-nav button svg{width:24px;height:24px}.bottom-nav button.active{color:var(--ink)}.bottom-nav button.active svg{stroke-width:2.4}.shell aside{position:fixed;inset:auto 0 0;z-index:50;max-height:82dvh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:24px var(--gutter) calc(16px + env(safe-area-inset-bottom));background:var(--bg);border-radius:var(--r-3) var(--r-3) 0 0;box-shadow:var(--sh-float);transform:translateY(105%);visibility:hidden;transition:transform .2s var(--ease),visibility 0s linear .2s}.shell aside:before{content:"";position:absolute;top:8px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:var(--r-pill);background:var(--surface-2)}.shell aside.open{transform:none;visibility:visible;transition-delay:0s}.shell:has(aside.open):after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--scrim)}.brand{display:flex;align-items:center;gap:12px;min-height:40px;font-size:20px;font-weight:600;letter-spacing:-.02em}.brand svg{width:24px;height:24px}.brand span{flex:1}.mobile-close{display:inline-grid}.nav-group{display:contents}.nav-group__label{display:none}.shell nav[aria-label="Main navigation"]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 8px;margin:16px 0}.shell nav[aria-label="Main navigation"] button{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:0;padding:0;border:0;background:none;color:var(--ink);font-size:12px;font-weight:500;letter-spacing:0;text-align:center}.shell nav[aria-label="Main navigation"] button svg{box-sizing:content-box;width:24px;height:24px;padding:20px;border-radius:var(--r-pill);background:var(--surface);transition:background-color var(--t) var(--ease)}.shell nav[aria-label="Main navigation"] button.active svg{background:var(--ink);color:var(--bg)}.profile{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.profile>span{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-pill);background:var(--ink);color:var(--bg);font-weight:600}.profile>div{flex:1;display:grid;min-width:0}.profile strong{font-size:14px;font-weight:600}.profile small{color:var(--ink-3);text-transform:capitalize}@media(min-width:900px){.shell nav[aria-label="Main navigation"] button svg{display:none}.nav-group{display:grid;gap:2px;margin-bottom:16px}.nav-group__label{margin:0 0 4px;padding:0 12px;color:var(--ink-3);font-size:13px;font-weight:500}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);padding-bottom:0}.shell main{max-width:960px;padding:0 32px 48px}.bottom-nav,.shell:has(aside.open):after,.shell aside:before,.mobile-close{display:none}.shell aside{position:sticky;inset:0 auto auto 0;top:0;height:100dvh;max-height:none;padding:24px 16px;border-radius:0;border-right:1px solid var(--line);box-shadow:none;transform:none;visibility:visible}.shell nav[aria-label="Main navigation"]{display:flex;flex-direction:column;gap:2px;margin:16px 0;flex:1}.shell nav[aria-label="Main navigation"] button{flex-direction:row;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--r-1);font-size:14px;font-weight:600;text-align:left}.shell nav[aria-label="Main navigation"] button svg{padding:0;width:20px;height:20px;background:none}.shell nav[aria-label="Main navigation"] button:hover{background:var(--surface)}.shell nav[aria-label="Main navigation"] button.active{background:var(--surface)}.shell nav[aria-label="Main navigation"] button.active svg{background:none;color:var(--ink)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:0;border-radius:var(--r-1);background:var(--primary);color:var(--on-primary);font-size:16px;font-weight:600;transition:background-color var(--t) var(--ease)}.button svg{width:20px;height:20px}.button.primary:hover{background:var(--primary-hover)}.button.quiet{background:var(--surface);color:var(--ink)}.button.quiet:hover{background:var(--surface-2)}.button.danger{background:var(--danger);color:var(--bg)}.button:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}label{display:grid;gap:8px;font-size:14px;font-weight:600}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:48px;padding:12px 16px;border:2px solid transparent;border-radius:var(--r-1);background:var(--surface);color:var(--ink);font-size:16px;font-weight:400;transition:border-color var(--t) var(--ease)}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--ink-3)}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--ink)}.form-error,.state.error{padding:12px 16px;border-radius:var(--r-1);background:var(--danger-soft);color:var(--danger);font-weight:500}.notice{padding:12px 16px;border-radius:var(--r-1);background:var(--accent-soft);color:var(--accent-ink);font-weight:500}.state{display:grid;place-items:center;min-height:160px;padding:24px;color:var(--ink-3);font-weight:500;text-align:center}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:24px 0 16px}.page-head h2{font-size:28px;line-height:1.14;letter-spacing:-.03em}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim)}.modal{width:100%;max-width:520px;max-height:92dvh;overflow-y:auto;padding:24px var(--gutter) calc(24px + env(safe-area-inset-bottom));border-radius:var(--r-3) var(--r-3) 0 0;background:var(--bg);box-shadow:var(--sh-float)}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal>header h2{font-size:24px}@media(min-width:900px){.backdrop{align-items:center}.modal{border-radius:var(--r-3);padding:24px}}.login{display:flex;flex-direction:column;gap:24px;min-height:100dvh;max-width:440px;margin:0 auto;padding:48px var(--gutter) 32px;background:var(--bg)}.login>section{display:grid;gap:8px}.login h1{font-size:36px;line-height:1.1;letter-spacing:-.035em}.login-card{display:grid;gap:16px}.login-card h2{font-size:20px}.login-card .form-error{margin:0}button[aria-pressed],button[aria-selected]{transition:none!important}.profile-out{min-height:40px;padding:0 12px;border:0;border-radius:var(--r-1);background:var(--surface);color:var(--ink);font-size:14px;font-weight:600}.profile-out:hover{background:var(--surface-2)}.subtabs{padding:16px 0 0}input[type=date],input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;min-width:0;max-width:100%;width:100%;text-align:left}input[type=date]::-webkit-date-and-time-value{text-align:left}
