@import"https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@75..125,400..800&display=swap";@media print{.app[data-v-c99e0356]>*:not(.sheet-layer),.sheet-overlay[data-v-c99e0356],.no-print[data-v-c99e0356]{display:none!important}.sheet-layer[data-v-c99e0356],.sheet[data-v-c99e0356]{position:static!important}.sheet[data-v-c99e0356]{transform:none!important;box-shadow:none!important}.qr-poster[data-v-c99e0356]{width:148mm;height:210mm;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}}:root{--c-bg:#EDEFEA;--c-surface:#fff;--c-surface-sunken:#E3E7E0;--c-line:#CBD3CB;--c-line-strong:#9FAC9F;--c-ink:#14231F;--c-ink-2:#4E5B56;--c-ink-3:#7C8783;--c-on-dark:#F4F7F2;--c-action:#17564A;--c-action-hover:#113F37;--c-action-soft:#DCE8E2;--c-accent:#E3A81F;--c-accent-soft:#F8EBC8;--c-success:#2E6B4F;--c-warning:#9A6B12;--c-danger:#A3302B;--c-danger-soft:#F6E3E2;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--r-sm:4px;--r-md:8px;--r-lg:16px;--r-pill:999px;--font:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;--container:448px;--tap-min:48px;--cta-h:56px}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--c-bg);color:var(--c-ink);font-family:var(--font);font-size:16px;line-height:1.5;font-size-adjust:.52;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--c-action);outline-offset:2px}h1{font-size:26px;line-height:31px;font-weight:700;font-stretch:108%;margin:0}h2{font-size:19px;line-height:25px;margin:0}p{max-width:68ch}.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}.app{width:100%;max-width:var(--container);min-height:100dvh;margin:auto;background:var(--c-bg);display:flex;flex-direction:column}.content{flex:1;padding-bottom:78px}.screen{padding:var(--sp-5) var(--sp-4)}.screen-header{padding:var(--sp-5) var(--sp-4) var(--sp-3)}.screen-header__line{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--c-ink-3);font-size:13px;margin-bottom:6px}.screen-header__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.button{min-height:48px;border:0;border-radius:var(--r-md);padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;cursor:pointer}.button:disabled{opacity:.62;cursor:not-allowed}.button--primary{background:var(--c-action);color:var(--c-on-dark);min-height:56px}.button--primary:hover{background:var(--c-action-hover)}.button--secondary{background:transparent;border:1px solid var(--c-line-strong)}.button--quiet{background:transparent;color:var(--c-action)}.button--danger{background:transparent;border:1px solid var(--c-danger);color:var(--c-danger)}.button--block{width:100%}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--container);display:flex;background:var(--c-surface);border-top:1px solid var(--c-line);padding-bottom:env(safe-area-inset-bottom)}.nav a{flex:1;min-height:64px;display:grid;place-items:center;align-content:center;color:var(--c-ink-3);text-decoration:none;font-size:11.5px;font-weight:600}.nav a span{font-size:19px;line-height:1}.nav a.router-link-active{color:var(--c-action)}.banner{padding:9px 16px;background:var(--c-accent-soft);color:var(--c-warning);font-size:14px;font-weight:600}.banner--danger{background:var(--c-danger-soft);color:var(--c-danger)}.toast{position:fixed;z-index:80;bottom:86px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:416px;background:var(--c-ink);color:var(--c-on-dark);padding:12px 16px;border-radius:var(--r-md)}.dish-list{background:var(--c-surface);border-block:1px solid var(--c-line)}.dish{position:relative;min-height:88px;border-bottom:1px solid var(--c-line);display:flex;align-items:center;background:var(--c-surface)}.dish:last-child{border-bottom:0}.dish--selected{background:var(--c-action-soft)}.dish--disabled{opacity:.65}.dish__select{min-width:0;min-height:88px;flex:1;display:flex;gap:12px;align-items:center;padding:12px;text-align:left;border:0;background:transparent}.dish__image{width:64px;height:64px;flex:none;border-radius:var(--r-sm);object-fit:cover}.dish__placeholder{display:grid;place-items:center;background:var(--c-surface-sunken);font-size:26px}.dish__info{flex:1;min-width:0;display:grid}.dish__info strong{line-height:1.25}.dish__info small{color:var(--c-ink-2);margin-top:2px}.dish__price{font-size:20px;font-variant-numeric:tabular-nums;white-space:nowrap}.dish__stock{font-weight:650}.dish__info small.dish__stock--sold{color:var(--c-warning)}.dish--sold-out:not(.dish--selected){opacity:.82}.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tag{display:inline-flex;align-items:center;min-height:18px;padding:0 7px;border-radius:var(--r-pill);background:var(--c-action-soft);color:var(--c-action);font-size:11px;font-weight:650;line-height:1.4}.stepper{display:flex;align-items:center;padding-right:10px}.stepper button{width:44px;height:44px;border-radius:50%;border:1px solid var(--c-line-strong);background:var(--c-surface);font-size:18px;font-weight:700}.stepper__value{width:28px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.action-bar{position:fixed;z-index:25;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--container);display:flex;align-items:center;gap:12px;padding:10px 14px max(14px,env(safe-area-inset-bottom));background:var(--c-surface);box-shadow:0 -1px 0 var(--c-line)}.action-bar__sum{flex:1}.action-bar__sum strong,.action-bar__sum small{display:block}.action-bar__sum strong{font-size:19px}.action-bar__sum small{color:var(--c-ink-2)}.sheet-layer{position:fixed;z-index:60;inset:0}.sheet-overlay{position:absolute;inset:0;border:0;background:#14231f73;width:100%}.sheet{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--container);max-height:88dvh;overflow:auto;padding:10px 16px max(18px,env(safe-area-inset-bottom));background:var(--c-surface);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -8px 32px #14231f29;animation:sheet-in .18s ease-out}.sheet__handle{width:38px;height:4px;margin:0 auto 14px;border-radius:2px;background:var(--c-line-strong)}.sheet-open{overflow:hidden}.confirm-row,.total-row{display:flex;align-items:center;gap:10px;padding:9px 0}.confirm-row__dish{flex:1;min-width:0;display:grid}.total-row{justify-content:space-between;border-top:1px solid var(--c-line);font-size:20px}.sheet-actions{display:grid;gap:6px;margin-top:16px}.tally{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tally line{stroke:var(--c-accent);stroke-width:3;stroke-linecap:round}.tally .draw{stroke-dasharray:40;animation:draw .26s ease-out}.tally strong{color:var(--c-ink-2)}.empty-state{padding:32px 16px;text-align:center;color:var(--c-ink-2)}.skeletons{display:grid;gap:1px}.skeletons span{height:88px;background:var(--c-surface-sunken);border-radius:var(--r-sm)}.login,.pending,.success{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:24px}.login h1{font-size:34px}.login .tally{margin:30px 0}.login small{color:var(--c-ink-3);margin-top:16px}.success{align-items:center;text-align:center}.success h1{font-size:34px;margin-top:22px}.success p{color:var(--c-ink-2);margin-top:0}.success .button{min-width:180px;margin-top:10px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.month-nav button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--c-action)}.summary{padding:16px;background:var(--c-surface);border-block:1px solid var(--c-line)}.summary__figures{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px}.summary__figures strong{font-size:30px;font-stretch:110%}.summary small{color:var(--c-ink-3)}.day-title{position:sticky;top:0;padding:10px 16px;background:var(--c-bg);font-size:13px;font-weight:700;color:var(--c-ink-2)}.booking-row,.admin-row,.user-row{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--c-surface);border-bottom:1px solid var(--c-line);color:var(--c-ink);text-decoration:none}.booking-row__name,.admin-row__main,.user-row__main{flex:1;min-width:0}.admin-row--sortable{padding:0;touch-action:pan-y}.admin-row__handle{flex:none;width:44px;min-height:72px;border:0;background:transparent;color:var(--c-ink-3);cursor:grab;touch-action:none;font-size:18px}.admin-row__link{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 0;color:inherit;text-decoration:none}.stock-stepper{display:flex;align-items:center;flex:none;gap:4px;margin-right:12px}.stock-stepper button{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid var(--c-line-strong);background:var(--c-surface);font-size:18px;font-weight:700}.stock-stepper button:disabled{opacity:.4}.admin-row .stock-stepper input,.stock-stepper input{width:52px;min-height:40px;padding:4px 6px;text-align:center;font-variant-numeric:tabular-nums}.field .stock-stepper{margin:0}.field .stock-stepper input{width:88px;min-height:48px}.admin-row--dragging{position:relative;z-index:2;box-shadow:0 8px 24px #14231f29}.admin-row--dragging .admin-row__handle{cursor:grabbing}.sortable-list--active{-webkit-user-select:none;user-select:none}.sortable-list--active .admin-row--sortable{touch-action:none}.admin-row input{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-surface-sunken)}.booking-row__amount{font-weight:650}.booking-row--cancelled{text-decoration:line-through;color:var(--c-ink-3)}.admin-grid{display:grid;gap:12px;padding:16px}.admin-tile{display:block;padding:20px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);color:var(--c-ink);text-decoration:none}.admin-tile strong{display:block;font-size:19px}.admin-tile small{color:var(--c-ink-2)}.admin-row__thumb{width:48px;height:48px;border-radius:var(--r-sm);object-fit:cover;background:var(--c-surface-sunken);display:grid;place-items:center}.admin-row small,.user-row small{display:block;color:var(--c-ink-3)}.chips{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px}.form .chips{padding:0}.chip{min-height:36px;padding:4px 12px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:transparent;font-size:13px;font-weight:600}.chip--active{background:var(--c-action);border-color:var(--c-action);color:var(--c-on-dark)}.form{display:grid;gap:16px;padding:16px}.field{display:grid;gap:5px}.field label{font-size:13px;font-weight:600}.field input,.field textarea,.field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-surface-sunken)}.field textarea{min-height:96px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.form-footer{display:grid;gap:8px;padding:16px;background:var(--c-surface);border-top:1px solid var(--c-line)}.status{padding:2px 8px;border-radius:var(--r-pill);background:var(--c-action-soft);font-size:12px}.status--pending{background:var(--c-accent-soft);color:var(--c-warning)}.status--blocked{background:var(--c-danger-soft);color:var(--c-danger)}.search{margin:0 16px;width:calc(100% - 32px);min-height:48px;padding:10px 12px;border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-surface-sunken)}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.qr{display:block;width:min(72vw,280px);margin:20px auto;border:8px solid white}.muted{color:var(--c-ink-3)}.danger{color:var(--c-danger)}.warning{color:var(--c-warning)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sheet-in{0%{transform:translate(-50%,100%)}}@keyframes draw{0%{stroke-dashoffset:40}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:370px){.dish__image{width:52px;height:52px}.dish__select{gap:8px}.dish__price{font-size:17px}.stepper button{width:40px;height:40px}.stepper__value{width:22px}}
