@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fredoka-500-DYU-Ul8Y.woff2) format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fredoka-600-acyDmFqX.woff2) format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fredoka-700-Drs-_-Sf.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/nunito-sans-400-BRBIM2Ho.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/nunito-sans-600-Bx-9Yk12.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/nunito-sans-700-DTv2KSho.woff2) format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/nunito-sans-800-CsgxYEDt.woff2) format("woff2")}:root{--cream: #fff6e5;--cream-deep: #f2e7d4;--blue: #004cad;--blue-pale: #e4edf5;--blue-dark: #073d80;--ink: #153556;--pink: #f4e0df;--green: #e5ead7;--font-display: "Fredoka", "Trebuchet MS", sans-serif;--font-body: "Nunito Sans", "Avenir Next", sans-serif}.brand-logo{position:relative;display:block;width:100%;aspect-ratio:1368 / 556;overflow:hidden}.brand-logo>img{position:absolute;width:112.281%;max-width:none;height:auto;left:-7.749%;top:-42.446%}.brand-cat{position:relative;display:block;aspect-ratio:930 / 797;overflow:hidden}.brand-cat>img{position:absolute;width:134.839%;max-width:none;height:auto;left:-21.075%;top:-32.873%}.brand-cat--cream{aspect-ratio:1084 / 946}.brand-cat--cream>img{width:115.683%;left:-9.779%;top:-16.279%}.market{min-height:0;background:var(--cream)}@media(min-width:48rem){.market{min-height:min(50rem,100svh);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}}@media(max-width:47.99rem){.market{grid-template-columns:1fr}}.preorder-trigger{background:var(--blue);color:var(--cream)}.preorder-trigger:hover{background:var(--blue-dark)}.preorder-count{background:var(--cream);color:var(--blue)}.site-footer{min-height:35rem;border-top:var(--line);background:var(--cream)}.site-footer__inner{display:flex;min-height:35rem;align-items:center;flex-direction:column;justify-content:center;gap:0;padding:5rem var(--page-pad) max(2rem,env(safe-area-inset-bottom));text-align:center}.site-footer__logo{width:clamp(15rem,30vw,24rem);margin-bottom:clamp(1.5rem,3vw,2.25rem)}.site-footer__inner>p{margin:0 0 2rem;font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.8rem);line-height:1.2}.site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin:0 0 4rem;border:0;font-size:.78rem}.site-footer__links a{border-bottom:1px solid currentColor}.site-footer__legal{position:absolute}.drawer-add:disabled{cursor:not-allowed;box-shadow:none;transform:none;opacity:.7}.drawer-flavour__top>img{object-position:50% 36%}@media(max-width:47.99rem){.making__image{object-position:50% 42%;transform:none;will-change:auto}.making__statements p{font-size:clamp(3.25rem,9vw,4.5rem)}}@media(max-width:47.99rem)and (prefers-reduced-motion:no-preference){.making__statements{top:auto;bottom:6rem;transform:none}.making__statements p{top:auto;bottom:0}.making__statements p.is-active{transform:none}}:root{--surface: #fffaf0;--surface-raised: #fffdf7;--surface-blue: #eaf1f8;--surface-pink: #f7e8e5;--surface-green: #edf0e4;--ink-soft: #55708b;--line: color-mix(in oklch, var(--blue) 17%, transparent);--line-strong: color-mix(in oklch, var(--blue) 34%, transparent);--danger: #a43b31;--success: #32653f;--warning: #8a5c13;--header-height: 4.8rem;--sidebar-width: 15.5rem;--radius-sm: .7rem;--radius-md: 1.15rem;--radius-lg: 1.8rem;--shadow: 0 1.2rem 3rem rgb(21 53 86 / .08);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{min-width:20rem;background:var(--cream);color:var(--ink);font-family:var(--font-body);scroll-behavior:smooth}body{min-height:100vh;margin:0;background:radial-gradient(circle at 92% 7%,rgb(244 224 223 / .72),transparent 25rem),var(--surface)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid color-mix(in oklch,var(--blue) 45%,var(--cream));outline-offset:3px}.admin-skip{position:fixed;z-index:1000;top:.65rem;left:.65rem;padding:.75rem 1rem;border-radius:.6rem;background:var(--blue);color:var(--cream);font-weight:800;transform:translateY(-160%);transition:transform .2s var(--ease-out)}.admin-skip:focus{transform:translateY(0)}.eyebrow{margin:0;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-shell{display:grid;min-height:100vh;grid-template-columns:minmax(18rem,.8fr) minmax(26rem,1.2fr)}.login-shell__brand{display:flex;min-height:100vh;padding:clamp(2rem,5vw,5rem);flex-direction:column;justify-content:space-between;background:var(--blue);color:var(--cream)}.login-shell__brand>a:first-child{width:min(19rem,72%);filter:brightness(0) invert(1)}.login-shell__back{align-self:flex-start;border-bottom:1px solid currentColor;font-weight:700}.login-form{display:grid;max-width:43rem;width:100%;align-self:center;justify-self:center;padding:clamp(2.5rem,8vw,7rem)}.login-form h1{margin:1rem 0 1.4rem;color:var(--blue);font-family:var(--font-display);font-size:clamp(4.5rem,10vw,8.5rem);line-height:.82;letter-spacing:-.055em}.login-form__intro{max-width:31rem;margin:0 0 2.4rem;font-size:1.1rem;line-height:1.55}.login-form label{margin-bottom:.5rem;font-size:.78rem;font-weight:800}.password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.password-row input{min-width:0}.login-form button,.primary-action,.secondary-action,.quiet-action,.danger-action{min-height:2.85rem;padding:.65rem 1rem;border:1px solid var(--blue);border-radius:999px;background:var(--blue);color:var(--cream);font-size:.78rem;font-weight:800;transition:transform .18s var(--ease-out),background .18s linear}.login-form button:hover,.primary-action:hover{background:var(--blue-dark);transform:translateY(-1px)}.secondary-action,.quiet-action{background:transparent;color:var(--blue)}.secondary-action:hover,.quiet-action:hover{background:var(--surface-blue)}.quiet-action{min-height:2.35rem;border-color:var(--line-strong);font-size:.72rem}.danger-action{border-color:var(--danger);background:transparent;color:var(--danger)}.danger-action:hover{background:var(--surface-pink)}.form-error{margin:.8rem 0 0;color:var(--danger);font-weight:700}.kitchen-app{min-height:100vh}.kitchen-header{position:sticky;z-index:50;top:0;display:grid;min-height:var(--header-height);grid-template-columns:10.75rem auto 1fr;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--surface) 93%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.kitchen-brand{width:9.4rem}.kitchen-header__context{display:grid;gap:.08rem}.kitchen-header__context span{color:var(--ink-soft);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.kitchen-header__context strong{color:var(--blue);font-family:var(--font-display);font-size:1.15rem}.kitchen-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.9rem}.text-button{min-height:2.5rem;padding:.4rem;border:0;background:none;color:var(--blue-dark);font-size:.73rem;font-weight:800}.text-button:hover{color:var(--blue);text-decoration:underline;text-underline-offset:.2rem}.environment-badge{padding:.38rem .65rem;border-radius:999px;background:var(--surface-green);color:var(--success);font-size:.62rem;font-weight:800;text-transform:uppercase}.mobile-menu-button{display:none}.sandbox-banner{display:flex;min-height:2.4rem;align-items:center;justify-content:center;gap:.7rem;padding:.45rem 1rem;background:var(--pink);color:var(--danger);font-size:.73rem}.kitchen-layout{display:grid;min-height:calc(100vh - var(--header-height));grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.kitchen-sidebar{position:sticky;top:var(--header-height);display:flex;height:calc(100vh - var(--header-height));padding:1.5rem 1rem 1.2rem;flex-direction:column;border-right:1px solid var(--line);background:color-mix(in oklch,var(--cream) 72%,var(--surface-blue))}.kitchen-sidebar__intro{padding:0 .65rem 1.2rem;border-bottom:1px solid var(--line)}.kitchen-sidebar__intro p{margin:0;color:var(--blue);font-family:var(--font-display);font-size:1.5rem;font-weight:600}.kitchen-sidebar__intro span{color:var(--ink-soft);font-size:.72rem;line-height:1.4}.kitchen-nav{display:grid;gap:.18rem;margin-top:1rem}.kitchen-nav a{display:grid;min-height:2.8rem;grid-template-columns:1.6rem 1fr;align-items:center;padding:.55rem .7rem;border-radius:.75rem;color:var(--ink-soft);font-size:.82rem;font-weight:800;transition:background .15s linear,color .15s linear,transform .2s var(--ease-out)}.kitchen-nav a span{display:grid;width:1.5rem;height:1.5rem;place-items:center;font-family:var(--font-display);font-size:.9rem}.kitchen-nav a:hover{background:#ffffff8c;color:var(--blue);transform:translate(2px)}.kitchen-nav a[aria-current=page]{background:var(--blue);color:var(--cream)}.kitchen-sidebar__footer{display:flex;margin-top:auto;align-items:center;gap:.7rem;padding:1rem .5rem 0;border-top:1px solid var(--line);color:var(--blue)}.kitchen-sidebar__footer .brand-cat{width:2.5rem;flex:0 0 auto}.kitchen-sidebar__footer p{margin:0;font-family:var(--font-display);font-size:.82rem;line-height:1.15}.kitchen-view{min-width:0;padding:clamp(1.5rem,4vw,4rem);outline:none}.view-loading{display:flex;min-height:60vh;align-items:center;justify-content:center;gap:.35rem;color:var(--ink-soft)}.view-loading span{width:.42rem;aspect-ratio:1;border-radius:50%;background:var(--blue);animation:pulse 1s infinite alternate}.view-loading span:nth-child(2){animation-delay:.15s}.view-loading span:nth-child(3){animation-delay:.3s}.view-loading p{margin-left:.5rem;font-size:.8rem;font-weight:700}@keyframes pulse{to{opacity:.2;transform:translateY(-.25rem)}}.mobile-nav,.mobile-more{display:none}.page-shell{max-width:92rem;margin:0 auto;animation:page-enter .35s var(--ease-out) both}@keyframes page-enter{0%{opacity:0;transform:translateY(.55rem)}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(1.8rem,4vw,3.5rem)}.page-header__copy{max-width:48rem}.page-header h1{margin:.45rem 0 0;color:var(--blue);font-family:var(--font-display);font-size:clamp(2.8rem,5vw,5.4rem);line-height:.88;letter-spacing:-.045em}.page-header p:last-child{max-width:43rem;margin:1rem 0 0;color:var(--ink-soft);line-height:1.55}.page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:2.7rem 0 1rem}.section-heading h2{margin:0;color:var(--blue);font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}.section-heading p{max-width:36rem;margin:.35rem 0 0;color:var(--ink-soft);font-size:.84rem}.week-chip{display:inline-flex;min-height:2.7rem;align-items:center;gap:.65rem;padding:.5rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-raised)}.week-chip input{width:8.2rem;border:0;background:transparent;color:var(--blue-dark);font-size:.76rem;font-weight:800}.metric-ribbon{display:grid;grid-template-columns:repeat(5,minmax(8rem,1fr));border-block:1px solid var(--line)}.metric{min-width:0;padding:1.2rem clamp(.8rem,2vw,1.5rem)}.metric+.metric{border-left:1px solid var(--line)}.metric span{display:block;color:var(--ink-soft);font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.metric strong{display:block;margin-top:.35rem;color:var(--blue);font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.4rem);line-height:1}.metric small{display:block;margin-top:.3rem;color:var(--ink-soft);font-size:.65rem}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(17rem,.75fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:start}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.panel{min-width:0;padding:clamp(1rem,2.2vw,1.7rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow)}.panel--blue{background:var(--surface-blue);box-shadow:none}.panel--pink{background:var(--surface-pink);box-shadow:none}.panel--green{background:var(--surface-green);box-shadow:none}.panel__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel__heading h2,.panel__heading h3{margin:0;color:var(--blue);font-family:var(--font-display);font-size:1.4rem;line-height:1.1}.panel__heading p{margin:.2rem 0 0;color:var(--ink-soft);font-size:.75rem}.quick-actions{display:grid;grid-template-columns:repeat(5,minmax(8rem,1fr));gap:.65rem}.quick-action{display:flex;min-height:7.5rem;padding:1rem;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--blue);font-weight:800;transition:transform .2s var(--ease-out),border-color .2s linear}.quick-action:hover{border-color:var(--blue);transform:translateY(-3px)}.quick-action span:first-child{font-family:var(--font-display);font-size:1.6rem}.quick-action span:last-child{font-size:.77rem}.flavour-list{display:grid;gap:.65rem}.flavour-row{display:grid;grid-template-columns:minmax(8rem,1fr) repeat(4,minmax(4.5rem,.5fr));align-items:center;gap:.65rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.flavour-row:last-child{border-bottom:0}.flavour-row strong{color:var(--blue);font-family:var(--font-display)}.flavour-row span{color:var(--ink-soft);font-size:.75rem}.flavour-row b{color:var(--ink);font-size:.85rem}.alert-list,.plain-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.alert-list li,.plain-list li{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.alert-list li:last-child,.plain-list li:last-child{border-bottom:0}.alert-list strong,.plain-list strong{display:block;color:var(--blue-dark);font-size:.82rem}.alert-list span,.plain-list span{color:var(--ink-soft);font-size:.72rem}.empty-state{display:grid;min-height:12rem;place-items:center;padding:2rem;text-align:center}.empty-state .brand-cat{width:4rem;margin:0 auto .8rem;opacity:.6}.empty-state h3{margin:0;color:var(--blue);font-family:var(--font-display);font-size:1.35rem}.empty-state p{max-width:28rem;margin:.5rem auto 0;color:var(--ink-soft);font-size:.82rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:.38rem;min-width:0}.field--wide{grid-column:1 / -1}.field label,.field>span{color:var(--blue-dark);font-size:.68rem;font-weight:800;letter-spacing:.02em}.field small{color:var(--ink-soft);font-size:.66rem;line-height:1.35}input,select,textarea{width:100%;min-height:2.75rem;padding:.65rem .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);transition:border-color .15s linear,box-shadow .15s linear}textarea{min-height:7rem;resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in oklch,var(--blue) 14%,transparent);outline:0}input[readonly],.calculated-field{border-style:dashed;background:var(--surface-blue);color:var(--blue-dark)}.form-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1rem}.form-note{color:var(--ink-soft);font-size:.72rem;line-height:1.45}.checkbox-field{display:flex;min-height:2.75rem;align-items:center;gap:.55rem}.checkbox-field input{width:1.15rem;min-height:1.15rem}.inline-fields{display:grid;grid-template-columns:minmax(9rem,1fr) repeat(2,minmax(6rem,.55fr)) auto;gap:.6rem;align-items:end}.recipe-lines-editor{display:grid;gap:.6rem;margin-top:.8rem}.recipe-line-editor{display:grid;grid-template-columns:7.5rem minmax(10rem,1.2fr) 6rem 6rem 2.5rem;gap:.5rem;align-items:center}.recipe-line-editor button{width:2.4rem;height:2.4rem;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--danger)}.tabs{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-blue)}.tabs button{min-height:2.25rem;padding:.45rem .8rem;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.7rem;font-weight:800}.tabs button[aria-selected=true],.tabs button[aria-pressed=true]{background:var(--blue);color:var(--cream)}.status-pill{display:inline-flex;min-height:1.65rem;align-items:center;padding:.25rem .55rem;border-radius:999px;background:var(--surface-blue);color:var(--blue-dark);font-size:.6rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.status-pill--confirmed,.status-pill--costed,.status-pill--paid{background:var(--surface-green);color:var(--success)}.status-pill--estimate,.status-pill--warning{background:#f8edcf;color:var(--warning)}.status-pill--missing,.status-pill--cancelled,.status-pill--unpaid{background:var(--surface-pink);color:var(--danger)}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}table{width:100%;border-collapse:collapse;font-size:.76rem}th{padding:.75rem;background:var(--surface-blue);color:var(--blue-dark);font-size:.62rem;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}td{padding:.8rem .75rem;border-top:1px solid var(--line);vertical-align:top}td strong{color:var(--blue-dark)}td small{display:block;margin-top:.2rem;color:var(--ink-soft);line-height:1.35}.numeric{text-align:right;font-variant-numeric:tabular-nums}.table-action{min-height:2rem;padding:.3rem .6rem;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--blue);font-size:.66rem;font-weight:800}.table-action:hover{background:var(--surface-blue)}.record-list{display:grid;gap:.75rem}.record-card{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.record-card__top{display:flex;align-items:start;justify-content:space-between;gap:1rem}.record-card h3{margin:0;color:var(--blue);font-family:var(--font-display);font-size:1.2rem}.record-card p{margin:.35rem 0 0;color:var(--ink-soft);font-size:.75rem;line-height:1.45}.record-card__meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.8rem;color:var(--ink-soft);font-size:.7rem}details{border-top:1px solid var(--line)}details:first-of-type{border-top:0}summary{min-height:3.2rem;padding:.85rem 0;color:var(--blue-dark);font-weight:800;cursor:pointer}details[open] summary{color:var(--blue)}.details-body{padding:0 0 1rem}.recipe-workspace{display:grid;grid-template-columns:minmax(17rem,.62fr) minmax(0,1.38fr);gap:1rem;align-items:start}.recipe-library{position:sticky;top:calc(var(--header-height) + 1rem);padding:1rem;box-shadow:none}.recipe-library__heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.2rem .2rem .8rem}.recipe-library__heading h2{margin:.2rem 0 0;color:var(--blue);font-family:var(--font-display);font-size:1.45rem;line-height:1}.recipe-library__heading>span{display:grid;min-width:2rem;height:2rem;place-items:center;border-radius:999px;background:var(--surface-blue);color:var(--blue);font-size:.7rem;font-weight:800}.recipe-search input{min-height:2.65rem;padding-left:.85rem;background:var(--surface)}.recipe-filters{display:flex;flex-wrap:wrap;gap:.3rem;margin:.65rem 0 .8rem}.recipe-filters button{min-height:2rem;padding:.35rem .65rem;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.63rem;font-weight:800}.recipe-filters button:hover{border-color:var(--blue);color:var(--blue)}.recipe-filters button[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:var(--cream)}.recipe-index{display:grid;max-height:calc(100vh - var(--header-height) - 13rem);gap:.9rem;overflow-y:auto;padding-right:.2rem;overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent}.recipe-index__group h3{margin:0 0 .25rem;padding:0 .35rem;color:var(--ink-soft);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}.recipe-index__group>div{display:grid;gap:.16rem}.recipe-index button{display:flex;min-height:3.35rem;align-items:center;justify-content:space-between;gap:.7rem;padding:.6rem .7rem;border:1px solid transparent;border-radius:.75rem;background:transparent;color:var(--ink-soft);text-align:left}.recipe-index button>span{display:grid;min-width:0;gap:.1rem}.recipe-index button>b{color:var(--line-strong);font-family:var(--font-display);font-size:1.4rem;transition:transform .18s var(--ease-out)}.recipe-index button:hover{background:var(--surface-blue)}.recipe-index button:hover>b{color:var(--blue);transform:translate(2px)}.recipe-index button[aria-pressed=true]{background:var(--blue);color:var(--cream)}.recipe-index button[aria-pressed=true]>b{color:var(--cream)}.recipe-index strong{overflow:hidden;font-family:var(--font-display);font-size:.91rem;text-overflow:ellipsis;white-space:nowrap}.recipe-index small{overflow:hidden;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.recipe-index__empty{margin:0;padding:1.4rem .6rem;color:var(--ink-soft);font-size:.75rem;text-align:center}.recipe-detail__title{display:flex;align-items:start;justify-content:space-between;gap:1rem}.recipe-detail__title h2{margin:0;color:var(--blue);font-family:var(--font-display);font-size:clamp(2rem,4vw,3.3rem);line-height:.95}.recipe-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0 1.3rem}.ingredient-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.ingredient-list li{display:grid;grid-template-columns:minmax(10rem,1fr) auto;gap:1rem;padding:.72rem 0;border-bottom:1px solid var(--line)}.ingredient-list li:last-child{border-bottom:0}.ingredient-list strong{color:var(--blue-dark);font-size:.82rem}.ingredient-list span{color:var(--ink-soft);font-size:.78rem}.method-list{margin:0;padding-left:1.3rem}.method-list li{padding:.35rem 0 .35rem .3rem;line-height:1.5}.scaler-layout{display:grid;grid-template-columns:minmax(15rem,.55fr) minmax(0,1.45fr);gap:1rem}.scaler-summary{display:grid;grid-template-columns:repeat(4,minmax(7rem,1fr));gap:.6rem;margin-bottom:1rem}.summary-tile{padding:.85rem;border-radius:.9rem;background:var(--surface-blue)}.summary-tile span{display:block;color:var(--ink-soft);font-size:.6rem;font-weight:800;text-transform:uppercase}.summary-tile strong{display:block;margin-top:.25rem;color:var(--blue);font-family:var(--font-display);font-size:1.25rem}.warning-box{padding:.85rem 1rem;border-radius:.9rem;background:#f8edcf;color:var(--warning);font-size:.75rem;line-height:1.5}.warning-box strong{display:block;margin-bottom:.2rem}.production-entry{display:grid;grid-template-columns:minmax(10rem,1.4fr) repeat(4,minmax(5rem,.7fr));align-items:center;gap:.65rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.production-entry:first-child{color:var(--ink-soft);font-size:.62rem;font-weight:800;text-transform:uppercase}.production-entry:last-child{border-bottom:0}.production-entry strong{color:var(--blue-dark)}.production-entry input{min-height:2.45rem;padding:.45rem .55rem}.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.requirement-group h3{margin:0 0 .5rem;color:var(--blue);font-family:var(--font-display)}.shopping-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.shopping-filters{display:flex;flex-wrap:wrap;gap:.45rem}.shopping-row--purchased{opacity:.58}.shopping-row--purchased strong{text-decoration:line-through}.order-editor-products{display:grid;gap:.5rem}.order-product-row{display:grid;grid-template-columns:minmax(10rem,1fr) 6rem 7rem;gap:.55rem;align-items:center}.order-product-row strong{color:var(--blue-dark);font-size:.8rem}.order-card__items{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem}.order-card__items span{padding:.35rem .55rem;border-radius:999px;background:var(--surface-blue);color:var(--blue-dark);font-size:.68rem;font-weight:700}.cost-product{display:grid;gap:.75rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.cost-product:last-child{border-bottom:0}.cost-product__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cost-product__head h3{margin:0;color:var(--blue);font-family:var(--font-display);font-size:1.35rem}.cost-product__numbers{display:grid;grid-template-columns:repeat(4,minmax(6rem,1fr));gap:.55rem}.cost-product__numbers div{padding:.7rem;border-radius:.75rem;background:var(--surface-blue)}.cost-product__numbers span{display:block;color:var(--ink-soft);font-size:.56rem;font-weight:800;text-transform:uppercase}.cost-product__numbers strong{display:block;margin-top:.2rem;color:var(--blue-dark)}.cost-breakdown{display:flex;flex-wrap:wrap;gap:.4rem 1rem;color:var(--ink-soft);font-size:.68rem}.admin-toast{position:fixed;z-index:200;right:1rem;bottom:1rem;max-width:min(24rem,calc(100vw - 2rem));padding:.85rem 1rem;border-radius:.85rem;background:var(--blue-dark);color:var(--cream);box-shadow:0 1rem 2.5rem #15355647;font-size:.78rem;font-weight:700;animation:toast-in .3s var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem)}}@media(max-width:76rem){:root{--sidebar-width: 13.5rem}.metric-ribbon{grid-template-columns:repeat(3,minmax(8rem,1fr))}.metric:nth-child(4){border-left:0}.metric:nth-child(n+4){border-top:1px solid var(--line)}.quick-actions{grid-template-columns:repeat(3,minmax(8rem,1fr))}.three-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:61.99rem){:root{--header-height: 4.25rem}body{padding-bottom:calc(4.3rem + env(safe-area-inset-bottom))}.kitchen-header{grid-template-columns:2.8rem 7.7rem minmax(0,1fr);gap:.65rem;min-height:var(--header-height);padding:.55rem .8rem}.mobile-menu-button{display:grid;width:2.7rem;height:2.7rem;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:var(--blue);font-size:1.15rem}.kitchen-brand{width:7.3rem}.kitchen-header__context{display:none}.kitchen-header__actions{gap:.4rem}.kitchen-header__actions .text-button[data-refresh-data],.environment-badge{display:none}.kitchen-layout{display:block}.kitchen-sidebar{position:fixed;z-index:90;top:var(--header-height);bottom:0;left:0;width:min(20rem,88vw);height:auto;transform:translate(-105%);transition:transform .28s var(--ease-out);box-shadow:1rem 0 3rem #1535562e}.kitchen-sidebar.is-open{transform:translate(0)}.kitchen-view{padding:1.4rem 1rem 2.5rem}.mobile-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;min-height:calc(4.15rem + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);padding:.35rem .35rem env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in oklch,var(--surface) 95%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav a,.mobile-nav button{display:grid;min-width:0;min-height:3.4rem;place-items:center;align-content:center;gap:.1rem;border:0;border-radius:.7rem;background:transparent;color:var(--ink-soft)}.mobile-nav a>span,.mobile-nav button>span{font-family:var(--font-display);font-size:1.05rem;line-height:1}.mobile-nav small{font-size:.58rem;font-weight:800}.mobile-nav a[aria-current=page]{background:var(--surface-blue);color:var(--blue)}.mobile-more{position:fixed;z-index:79;right:.65rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));display:grid;width:min(15rem,calc(100vw - 1.3rem));padding:.5rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-raised);box-shadow:var(--shadow)}.mobile-more a{min-height:2.8rem;padding:.7rem .8rem;border-radius:.65rem;color:var(--blue-dark);font-size:.8rem;font-weight:800}.mobile-more a[aria-current=page]{background:var(--blue);color:var(--cream)}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.page-header h1{font-size:clamp(3.1rem,12vw,5rem)}.page-actions{justify-content:flex-start}.content-grid,.recipe-workspace,.scaler-layout{grid-template-columns:1fr}.recipe-library{position:static}.recipe-index{max-height:none;overflow:visible;padding-right:0}.recipe-index__group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.three-column{grid-template-columns:1fr}}@media(max-width:42rem){.login-shell{display:block}.login-shell__brand{min-height:14rem;padding:1.5rem}.login-shell__brand>a:first-child{width:10rem}.login-form{padding:2.5rem 1.25rem}.login-form h1{font-size:clamp(4rem,22vw,6.5rem)}.password-row{grid-template-columns:1fr}.sandbox-banner{justify-content:flex-start}.sandbox-banner span{display:none}.metric-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(3){border-top:1px solid var(--line);border-left:0}.metric:nth-child(4){border-left:1px solid var(--line)}.metric:nth-child(5){border-left:0}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action{min-height:6.3rem}.form-grid,.form-grid--three{grid-template-columns:1fr}.field--wide{grid-column:auto}.inline-fields{grid-template-columns:1fr 1fr}.inline-fields>:first-child{grid-column:1 / -1}.recipe-line-editor{grid-template-columns:1fr 1fr 2.5rem;padding:.7rem;border:1px solid var(--line);border-radius:.8rem}.recipe-line-editor>:nth-child(1),.recipe-line-editor>:nth-child(2){grid-column:1 / -1}.recipe-index__group>div{grid-template-columns:1fr}.scaler-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.production-entry{grid-template-columns:minmax(8rem,1.2fr) repeat(3,minmax(4rem,.6fr))}.production-entry>:nth-child(5){display:none}.requirement-grid{grid-template-columns:1fr}.cost-product__numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.flavour-row{grid-template-columns:minmax(8rem,1fr) repeat(2,minmax(4rem,.5fr))}.flavour-row>:nth-child(4),.flavour-row>:nth-child(5){display:none}.order-product-row{grid-template-columns:minmax(8rem,1fr) 5rem}.order-product-row>:nth-child(3){display:none}.responsive-table{border:0;background:transparent;overflow:visible}.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table thead{display:none}.responsive-table tr{margin-bottom:.7rem;padding:.85rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface-raised)}.responsive-table td{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border:0;text-align:right}.responsive-table td:before{flex:0 0 42%;color:var(--ink-soft);content:attr(data-label);font-size:.62rem;font-weight:800;text-align:left;text-transform:uppercase}.responsive-table td:first-child{display:block;margin-bottom:.45rem;padding-bottom:.65rem;border-bottom:1px solid var(--line);text-align:left}.responsive-table td:first-child:before{display:none}}@media(max-width:22rem){.kitchen-header__actions .text-button{font-size:.65rem}.quick-actions,.metric-ribbon{grid-template-columns:1fr}.metric+.metric{border-top:1px solid var(--line);border-left:0}}@media print{.kitchen-header,.kitchen-sidebar,.mobile-nav,.page-actions,.sandbox-banner,.admin-toast{display:none!important}body{padding:0;background:#fff}.kitchen-layout{display:block}.kitchen-view{padding:0}.panel{box-shadow:none;break-inside:avoid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[data-fulfilment-form] input[type=checkbox],input[data-fulfilment-open]{width:1.25rem;min-height:1.25rem;margin:0 .4rem 0 0;padding:0;vertical-align:middle;accent-color:var(--blue)}.delivery-weekdays{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin:0;padding:.5rem 0;border:0}.delivery-weekdays label{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;cursor:pointer}.delivery-weekdays input{width:1.15rem;height:1.15rem;min-height:0;accent-color:var(--blue)}.space-top{margin-top:1rem}.space-top-large{margin-top:1.2rem}.space-top-small{margin-top:.8rem}.space-block{margin:1rem 0}
