@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#253a31;background:#f8f9f6;font-synthesis:none;--green:#285d48;--muted:#879089;--line:#e6e9e2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #adbb72;outline-offset:3px}button{transition:background .18s,transform .18s}button:hover{filter:brightness(.97)}a{color:inherit;text-decoration:none}svg{flex-shrink:0;vertical-align:middle}#app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:37px 23px 22px}.brand{display:flex;align-items:center;font-family:Manrope,sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px}.brand-icon{display:grid;place-items:center;background:var(--green);color:white;width:34px;height:37px;border-radius:11px 11px 11px 3px;margin-right:9px;transform:rotate(-5deg)}.brand-icon svg{width:24px;height:24px}.brand-dot{color:#b8be7c}.workspace-label{font-size:9px;letter-spacing:1.2px;color:#949a92;margin:43px 0 18px 10px;font-weight:600}nav{display:grid;gap:9px}.nav-item{display:flex;align-items:center;gap:13px;border:0;border-radius:7px;padding:14px 13px;background:none;text-align:left;font-size:13px;font-weight:550;color:#6e7a71}.nav-item.active{color:var(--green);background:#edf3ec;font-weight:700}.nav-count{margin-left:auto;background:#e3eadd;font-size:10px;border-radius:5px;padding:3px 6px}.sidebar-note{margin-top:auto;margin-bottom:30px;background:#f7f8f2;border:1px solid #edf0e6;padding:18px 15px;border-radius:10px}.note-icon{display:block;color:#76865b;margin-bottom:14px}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:11px;line-height:1.8;color:#87907d}.sidebar-note>span:last-child{font-size:9px;color:#959d89}.profile{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#efeee7;border-radius:50%;color:#788165}.profile strong{display:block;font-size:11px}.profile small{display:block;font-size:9px;color:#90968f;margin-top:5px}.online-dot{margin-left:auto;background:#729267;width:6px;height:6px;border-radius:50%}main{margin-left:240px;width:calc(100% - 240px);min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:11px;color:#8c948d}.crumb{margin:0 14px;color:#c6cbc1}.topbar strong{font-weight:500;color:#526151}.saved{font-size:10px;display:flex;align-items:center;gap:7px}.saved i{width:5px;height:5px;border-radius:50%;background:#86a074}.content{padding:34px 42px 10px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.65px;color:#899377;margin-bottom:10px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:28px;font-weight:750;letter-spacing:-1.1px;line-height:1.4}.page-heading p{font-size:12px;color:#8b928b;margin-top:7px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:#fff;border:1px solid transparent;border-radius:7px;padding:12px 17px;font-size:11px;font-weight:650;white-space:nowrap}.button svg{width:16px;height:16px}.button.white{background:white;color:#405343;border-color:#e1e6dc;box-shadow:0 2px 2px #00000002}.button-badge{background:#edf1e8;padding:2px 6px;border-radius:4px;color:#758269;margin-left:4px;font-size:10px}.hero{height:267px;background:#244c3c;position:relative;overflow:hidden;border-radius:13px;isolation:isolate;display:flex}.hero-copy{width:55%;padding:29px 32px;z-index:2;background:linear-gradient(90deg,#244c3c 72%,transparent)}.hero-tag{font-size:9px;color:#dbe2c9;display:flex;align-items:center;gap:6px;margin-bottom:13px}.hero-tag svg{width:13px;height:13px}.hero h2{font-size:29px;letter-spacing:-.8px;line-height:1.27;color:#fff;font-weight:600}.hero p{font-size:11px;line-height:1.8;color:#ced9cc;margin:11px 0 17px}.button.cream{background:#edf0dc;color:#31543e;padding:10px 13px;font-size:10px}.hero-photo{position:absolute;inset:0 0 0 37%;z-index:-1;background:linear-gradient(90deg,#244c3c,transparent 30%),url('https://images.unsplash.com/photo-1512621776951-a57141f2eefd?auto=format&fit=crop&w=1400&q=90') center 52%/cover}.hero-photo-label{position:absolute;right:20px;bottom:19px;background:#fffef4e8;padding:9px 13px;border-radius:5px;font-size:9px;color:#576647;transform:rotate(-3deg)}.hero-photo-label span{margin-left:12px}.plan-section{margin-top:31px}.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.week-control{display:flex;align-items:center;gap:12px}.week-control h2{font-size:16px;letter-spacing:-.5px}.kw{font-size:9px;color:#8a9580;background:#eef1e8;border:1px solid #e5e9db;border-radius:4px;padding:4px 6px}.week-arrows{display:flex;gap:4px;margin-left:2px}.icon-button{display:grid;place-items:center;min-width:25px;height:27px;border:1px solid #e3e7dd;border-radius:5px;background:white;font-size:21px;color:#85917d}.date-range{font-size:10px;color:#788470;white-space:nowrap}.people-control{display:flex;align-items:center;gap:9px;font-size:10px;color:#7e8977;white-space:nowrap}.people-control>svg{width:15px;height:15px}.people-control button{width:24px;height:24px;background:white;border:1px solid #e1e6d9;border-radius:5px;font-size:15px}.people-control strong{color:#4a5f46;font-size:11px}.plan-subline{display:flex;align-items:center;justify-content:space-between;margin:13px 0 19px;font-size:10px;color:#9aA18f}.separator{margin:0 6px}.text-button{display:flex;align-items:center;gap:6px;border:0;background:none;color:#6b805f;font-size:10px;padding:4px 0}.text-button svg{width:13px;height:13px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.day-card{background:#fff;border:1px solid #e2e7dc;border-radius:9px;overflow:hidden;min-width:0;display:flex;flex-direction:column}.day-card.today{border-color:#759268;box-shadow:0 0 0 1px #75926820}.day-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 10px;font-size:10px;gap:3px;background:#fcfcfa}.day-heading strong{font-weight:600}.day-heading>span{font-size:9px;color:#909a87}.today .day-heading{background:#eff3e9}.today .day-heading>span{font-size:8px;color:#638454;background:#e0e9d7;padding:3px 5px;border-radius:4px}.food-image{height:119px;width:100%;padding:0;border:0;position:relative;display:block;overflow:hidden}.food-image img,.tile-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.food-image:hover img,.tile-image:hover img{transform:scale(1.05)}.meal-label{position:absolute;bottom:8px;left:8px;padding:4px 6px;border-radius:3px;background:#fffef3e8;font-size:7px;color:#536247}.card-content{padding:12px 10px 9px;display:flex;flex-direction:column;flex:1}.diet{display:flex;align-items:center;gap:4px;font-size:8px;color:#8c9a68;font-weight:500}.diet svg{width:10px;height:10px}.diet.fish{color:#739297}.recipe-title{font-family:Manrope,sans-serif;font-size:12px;line-height:1.55;font-weight:750;letter-spacing:-.2px;text-align:left;border:0;background:none;padding:7px 0 10px;min-height:55px}.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#8a9380;gap:5px;margin-top:auto}.card-meta span,.card-meta button{display:flex;align-items:center;gap:3px;white-space:nowrap}.card-meta svg{width:11px;height:11px}.card-meta button{background:#f4f6ef;border:0;border-radius:4px;padding:4px;font-size:9px;color:#748764}.swap-button{border:0;border-top:1px solid #eff1e9;display:flex;align-items:center;justify-content:center;gap:4px;background:none;font-size:8px;color:#949d89;padding:11px 0 1px;margin-top:12px;white-space:nowrap}.swap-button svg{width:11px;height:11px}.empty-card{background:#f9faf6;border-style:dashed}.empty-content{display:flex;flex:1;min-height:257px;align-items:center;justify-content:center;flex-direction:column;gap:12px;border:0;padding:15px 10px;background:none;text-align:center}.add-circle{width:33px;height:33px;border:1px dashed #c9d1bc;background:#f0f3e8;border-radius:50%;display:grid;place-items:center;color:#97a583}.add-circle svg{width:16px;height:16px}.empty-content strong{font-size:10px;font-weight:500;color:#929c84;line-height:1.8}.empty-content>span:last-child{font-size:8px;color:#a7ae9b}.bottom-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:17px;margin-top:25px}.shopping-preview{padding:20px;background:#fff;border:1px solid #e3e8dc;display:flex;gap:15px;border-radius:9px;align-items:flex-start}.section-icon{width:39px;height:42px;border-radius:9px;background:#edf2e5;color:#73905b;display:grid;place-items:center;flex-shrink:0}.shopping-preview>div:nth-child(2){flex:1}.shopping-preview h3,.shopping-summary h3{font-size:12px;font-weight:700}.shopping-preview p,.shopping-summary p{font-size:9px;color:#929b87;margin-top:5px;line-height:1.7}.shopping-preview>.icon-button{border:0;background:none;align-self:center}.mini-progress{height:4px;background:#eef2e7;border-radius:4px;margin:12px 0 5px;overflow:hidden}.mini-progress span{display:block;height:100%;background:#83a266}.shopping-preview small{font-size:8px;color:#9aa48c}.tip{display:flex;gap:13px;padding:24px 20px;background:#f0f2e7;border:1px solid #e9ecdd;border-radius:9px}.tip>span{font-size:23px;color:#a1ac75}.tip strong{font-size:11px;color:#727f53}.tip p{font-size:10px;color:#979e82;line-height:1.9;margin-top:7px}footer{display:flex;align-items:center;justify-content:space-between;max-width:1600px;padding:23px 42px 20px;margin:auto;color:#a9af9d;font-size:9px}footer>span{font-weight:700;letter-spacing:-.3px;color:#9aa58d}.recipe-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0}.search{display:flex;align-items:center;gap:9px;background:white;border:1px solid #e0e5da;border-radius:7px;padding:11px 14px;flex:1;max-width:450px}.search span{font-size:23px;line-height:18px;color:#819271}.search input{border:0;background:none;width:100%;outline:none;font-size:12px;color:#36513c}.search:focus-within{outline:2px solid #85a277}.filters{display:flex;gap:5px}.filters button{border:1px solid #e0e5da;background:#fff;border-radius:6px;padding:9px 11px;font-size:10px}.filters button.selected{background:var(--green);color:white;border-color:var(--green)}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recipe-tile{overflow:hidden;border:1px solid #e1e6d9;border-radius:10px;background:white}.tile-image{width:100%;height:175px;border:0;padding:0;overflow:hidden;display:block}.recipe-tile>div{padding:18px}.recipe-tile .diet{font-size:10px}.recipe-tile h3{font-size:16px;margin-top:8px}.recipe-tile p{font-size:11px;color:#8a9581;margin-top:7px}.tile-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.tile-bottom>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#8c977f}.tile-bottom svg{width:14px;height:14px}.button.small{font-size:10px;padding:8px 10px}.shopping-summary{display:flex;align-items:center;gap:15px;background:#edf2e5;border:1px solid #e0e8d6;border-radius:10px;padding:20px;margin-bottom:25px}.shopping-summary h3{font-size:15px}.shopping-summary p{font-size:11px}.shopping-summary>.text-button{margin-left:auto}.shopping-groups{display:grid;grid-template-columns:1fr 1fr;gap:23px;align-items:start}.shopping-group{background:#fff;border:1px solid #e1e7da;border-radius:10px;padding:22px}.shopping-group h2{font-size:16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.shopping-group h2 span{font-size:11px;color:#8b9a7b;background:#f0f4ea;padding:4px 7px;border-radius:4px}.shopping-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f0f2ec;font-size:12px;cursor:pointer}.shopping-item:last-child{border:0;padding-bottom:0}.shopping-item input{accent-color:var(--green);width:17px;height:17px;cursor:pointer}.shopping-item strong{margin-left:auto;font-size:11px;color:#80906f;font-weight:500}.shopping-item.is-checked>span{text-decoration:line-through;color:#a0aa95}.pantry-note{font-size:11px;color:#919c83;line-height:1.8;margin:25px 0}.blank-state{padding:35px}.blank-state h2{font-size:20px}.blank-state p{font-size:13px;margin:12px 0 20px;color:#8b9680}dialog{border:1px solid #e3e7dc;border-radius:15px;max-width:900px;width:calc(100% - 40px);padding:32px;color:#29422f;background:#f8f9f5;max-height:88vh;box-shadow:0 30px 100px #102d2533}dialog::backdrop{background:#152b2477;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:15px;top:13px;width:30px;height:30px;border:1px solid #dfe5d8;border-radius:50%;background:#fff;font-size:22px;z-index:2}.modal-recipes{grid-template-columns:repeat(2,minmax(0,1fr))}dialog h2{font-size:25px;letter-spacing:-.7px;margin:8px 25px 10px 0}dialog>p{font-size:12px;color:#899780}.day-select{display:flex;align-items:center;gap:15px;font-size:12px;color:#809271;margin-top:20px}select,input[type=number]{border:1px solid #dce3d2;border-radius:6px;background:white;padding:8px 10px;color:#42613b}.detail-photo{height:220px;width:100%;object-fit:cover;border-radius:9px;margin-bottom:20px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0}.detail-columns h3{font-size:15px;margin-bottom:15px}.ingredient{font-size:12px;display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e3e8dc}.ingredient strong{font-weight:500;color:#83976e}.detail-columns small{font-size:10px;display:block;margin-top:15px;color:#87977a}.detail-columns ol{padding-left:20px;font-size:12px;line-height:1.8;color:#697f5c}.detail-columns li{padding:0 0 14px 5px}.danger{background:#f4e6df;color:#975b49}.schedule-days{display:grid;gap:8px;margin-top:25px}.schedule-days button{display:flex;align-items:center;gap:15px;background:white;border:1px solid #dfe6d5;border-radius:7px;padding:15px;text-align:left;font-size:12px}.schedule-days strong{min-width:90px}.schedule-days span{color:#859677}.schedule-days svg{margin-left:auto}#servings-form{display:flex;align-items:center;gap:20px;margin:30px 0 10px}#servings-form label{font-size:12px}#servings-form input{margin-left:10px;width:85px}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#254f3e;color:white;border-radius:8px;padding:13px 20px;box-shadow:0 6px 25px #173d3222;font-size:12px;z-index:10;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.no-results{font-size:13px;padding:30px;color:#819271}
@media(min-width:1600px){.food-image{height:160px}.recipe-title{font-size:14px}.day-heading{font-size:12px}.card-meta{font-size:10px}.card-content{padding:14px}.hero{height:300px}.hero-copy{padding:36px}.hero h2{font-size:34px}}
@media(max-width:1250px){.sidebar{width:210px;padding:30px 17px}.brand{font-size:22px}main{margin-left:210px;width:calc(100% - 210px)}.content{padding:28px 26px 10px}.topbar{padding:0 26px}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.week-control{gap:8px;flex-wrap:wrap}.plan-toolbar{align-items:flex-start}.date-range{flex-basis:100%}.food-image{height:140px}.recipe-title{min-height:48px}.empty-content{min-height:270px}footer{padding-left:26px;padding-right:26px}.bottom-grid{grid-template-columns:1.4fr 1fr}.page-heading h1{font-size:25px}.hero h2{font-size:27px}.recipe-controls{flex-wrap:wrap}.search{max-width:none;min-width:240px}}
@media(max-width:850px){.sidebar{width:76px;padding:27px 12px}.brand{font-size:0;justify-content:center}.brand-icon{margin:0}.brand-dot,.workspace-label,.sidebar-note,.profile{display:none}nav{margin-top:45px}.nav-item{font-size:0;padding:14px;justify-content:center;position:relative}.nav-item svg{width:22px;height:22px}.nav-count{position:absolute;right:0;top:2px;font-size:8px;padding:2px 4px}main{margin-left:76px;width:calc(100% - 76px)}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{width:65%}.hero-photo{left:30%}.hero-photo-label{font-size:8px}.bottom-grid{grid-template-columns:1fr}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:flex-start}.page-heading>.button{font-size:0;padding:12px}.page-heading>.button svg{width:18px;height:18px}.page-heading>.button .button-badge{font-size:10px}.shopping-groups{grid-template-columns:1fr}.shopping-summary{flex-wrap:wrap}.shopping-summary>.text-button{margin-left:54px}.people-control>span{display:none}.hero h2{font-size:26px}.hero-copy{padding-left:24px}}
@media(max-width:560px){#app{display:block}.sidebar{position:sticky;top:0;width:100%;height:66px;z-index:5;flex-direction:row;justify-content:space-between;align-items:center;padding:10px 17px;border-bottom:1px solid var(--line);border-right:0}.brand{font-size:19px}.brand-icon{width:27px;height:30px;margin-right:6px}.brand-icon svg{width:20px}.brand-dot{display:inline}nav{display:flex;margin:0;gap:5px}.nav-item{padding:10px}.nav-item svg{width:19px;height:19px}.nav-count{display:none}main{margin:0;width:100%}.topbar{height:45px;padding:0 20px;font-size:9px}.saved{font-size:8px}.content{padding:25px 18px 5px}.page-heading{margin-bottom:23px;gap:8px}.page-heading h1{font-size:24px;line-height:1.3;letter-spacing:-.9px}.page-heading p{font-size:11px;line-height:1.7;max-width:270px}.eyebrow{font-size:8px;letter-spacing:1.2px}.page-heading>.button{padding:10px;margin-top:22px}.button-badge{display:none}.hero{height:251px;border-radius:10px}.hero-copy{padding:23px 20px;width:85%;background:linear-gradient(90deg,#244c3cf5 45%,#244c3c90 75%,transparent)}.hero-photo{left:10%;background-position:65% center;opacity:.65}.hero h2{font-size:26px}.hero-photo-label{display:none}.hero-tag{font-size:9px}.hero p{font-size:10px}.plan-section{margin-top:26px}.week-control{gap:7px}.week-control h2{font-size:15px}.week-arrows{margin:0}.week-arrows .icon-button{min-width:22px;height:24px}.date-range{font-size:10px;margin-top:5px}.people-control{gap:6px;align-items:center;margin-top:1px}.people-control>svg{display:none}.plan-toolbar{gap:8px}.plan-subline{font-size:8px;margin:15px 0}.plan-subline .separator{margin:0 3px}.text-button{font-size:8px}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.day-heading{font-size:11px}.food-image{height:125px}.recipe-title{font-size:13px;min-height:60px}.card-content{padding:12px}.diet{font-size:9px}.card-meta{font-size:9px}.swap-button{font-size:9px}.empty-content{min-height:268px}.empty-content strong{font-size:12px}.empty-content>span:last-child{font-size:10px}.bottom-grid{margin-top:21px;gap:12px}.shopping-preview{padding:17px 13px;gap:10px}.shopping-preview h3{font-size:12px}.shopping-preview p{font-size:9px}.tip{padding:18px}.tip p{font-size:11px}footer{font-size:8px;padding:20px 18px}.recipe-grid{grid-template-columns:1fr}.filters{width:100%;justify-content:space-between}.filters button{flex:1;padding:9px}.tile-image{height:190px}.shopping-summary{padding:15px;gap:10px}.shopping-summary h3{font-size:13px}.shopping-summary p{font-size:10px}.shopping-summary>.text-button{margin-left:49px;font-size:10px}.shopping-group{padding:17px}.shopping-item{font-size:11px}.shopping-item strong{white-space:nowrap}dialog{padding:22px;width:calc(100% - 24px);max-height:90vh}dialog h2{font-size:22px}.detail-columns{grid-template-columns:1fr;gap:25px}.detail-photo{height:170px}.schedule-days button{flex-wrap:wrap;gap:7px}.schedule-days strong{min-width:75px}.schedule-days span{font-size:10px}.schedule-days svg{width:16px}.modal-recipes{grid-template-columns:1fr}#servings-form{gap:12px;flex-wrap:wrap}#toast{width:max-content;max-width:90%;text-align:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Institutional menu planning */
.content{max-width:1800px}h1{font-size:29px}.page-heading p{max-width:760px;line-height:1.8}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.page-heading .actions{justify-content:flex-end}.button{font-size:12px}.notice{padding:16px 20px;background:#f0f3e6;border:1px solid #dee6cc;border-radius:9px;font-size:12px;line-height:1.8;margin-bottom:23px;display:flex;gap:15px;align-items:center;justify-content:space-between}.notice.error{background:#fff0e8;border-color:#e6c4ae}.notice.subtle{background:white;color:#7d8973}.context-strip{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px 16px;font-size:11px;color:#859178;margin-bottom:23px}.context-strip>.button{margin-left:auto;font-size:10px;padding:8px 12px}.cycle-pill{background:#eaf1e2;color:#5b7646;white-space:nowrap;padding:6px 9px;border-radius:5px;font-weight:600}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.segmented{display:flex;padding:4px;border-radius:8px;background:#e9ede2;gap:4px}.segmented button{border:0;background:none;padding:10px 25px;border-radius:6px;font-size:12px;color:#7c8d70}.segmented button.selected{background:white;box-shadow:0 1px 6px #263d2110;color:#355933;font-weight:650}.week-navigation{display:flex;align-items:center;gap:10px}.week-navigation strong{font-size:11px;font-weight:500}.week-navigation>.button{font-size:10px;padding:6px 10px}.planner-toolbar>.button{font-size:10px;padding:9px 12px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}.service-day{border:1px solid #dfe5d7;border-radius:10px;background:#fff;overflow:hidden}.service-day>header{padding:15px 12px;display:flex;justify-content:space-between;align-items:center;gap:5px;background:#f1f4eb}.service-day>header strong{font-size:12px}.service-day>header small{display:block;font-size:9px;color:#8b987d;margin-top:3px}.service-day>header button{border:1px solid #dce5d1;background:white;border-radius:5px;padding:6px 8px;font-size:10px;color:#6f815d}.service-day>header button span{margin-left:4px}.menu-slot{padding:14px 12px;border-bottom:1px solid #e9eee1;min-width:0}.slot-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.line-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#6a7e5e}.gentle .line-label{color:#9b865b}.vegetarian .line-label{color:#73924e}.portion-badge{white-space:nowrap;font-size:9px;color:#95a084}.menu-open{border:0;background:none;padding:9px 0 8px;display:block;text-align:left;width:100%}.menu-open>strong{font-family:Manrope,sans-serif;font-size:12px;line-height:1.7;display:block;color:#355137}.component-lines{display:grid;gap:4px;font-size:10px;line-height:1.5;color:#8b987d;margin-top:6px;min-height:48px}.component-lines>span{display:block}.slot-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px}.slot-bottom .text-button{font-size:9px;color:#9aa78b}.review-badge{font-size:8px;color:#a18a5a;background:#f7f2e6;border-radius:4px;padding:4px 6px}.ok-badge{font-size:8px;color:#8a9d6f}.hit-counts{padding:12px;font-size:9px;display:grid;gap:7px;background:#fbfcf8;color:#8b977c}.hit-counts span{display:flex;justify-content:space-between}.extra-slot{border:0;border-bottom:1px solid #e8eddf;background:#f7f8f1;display:block;width:100%;padding:13px 12px;text-align:left}.extra-slot>span{display:flex;justify-content:space-between;font-size:9px;color:#8f9777;margin-bottom:7px}.extra-slot>span b{font-weight:400}.extra-slot strong{display:block;color:#6f7c58;font-size:10px;line-height:1.8}.hits-section{background:#244c3c;color:#fff;border-radius:12px;padding:22px;margin-bottom:24px;display:grid;grid-template-columns:1fr 1.6fr;gap:25px;align-items:center}.hits-section .eyebrow{color:#b2c499}.hits-section h2{font-size:22px;line-height:1.5;letter-spacing:-.5px}.hits-section p{color:#c0d0b3;font-size:11px;line-height:1.8;margin-top:8px}.hits-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hits-grid .menu-slot{background:#fff;border-radius:8px;border:0}.cycle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px}.cycle-card{background:#fff;border:1px solid #dfe6d5;border-radius:12px;padding:23px}.cycle-card h2{font-size:18px;margin:9px 0 19px}.cycle-card p{font-size:12px;color:#738360}.cycle-card small{font-size:10px;color:#a3ad96;display:block;margin-top:7px}.cycle-progress{height:5px;background:#eef2e7;border-radius:5px;overflow:hidden;margin-bottom:13px}.cycle-progress span{display:block;height:100%;background:#839e61}.cycle-card ul{list-style:none;padding:0;margin:25px 0}.cycle-card li{margin:14px 0}.cycle-card li>span{font-size:9px;color:#9aa68b;display:block;margin-bottom:5px}.cycle-card li strong{font-size:12px;font-weight:500}.cycle-card>.button{width:100%;font-size:11px}.cycle-empty{padding:40px 0;color:#a0ac91;font-size:13px}.component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.component-card{padding:22px;background:white;border:1px solid #e0e7d6;border-radius:10px}.component-card h3{font-size:15px;line-height:1.7}.component-tags{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.component-tags span{font-size:9px;color:#849472;background:#f0f4e9;border-radius:4px;padding:5px 7px}.component-tags .season-no{background:#f7eee4;color:#a28660}.component-card p{font-size:10px;color:#99a48a;margin:14px 0}.component-card .button{font-size:10px;padding:8px}.day-filters{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.day-filters label{display:flex;gap:8px;align-items:center;background:white;border:1px solid #dfe5d6;border-radius:6px;padding:9px 13px;font-size:12px;color:#6f815c}.day-filters input{accent-color:var(--green)}.form-panel{padding:25px;border:1px solid #dfe6d5;background:white;border-radius:10px;margin-bottom:20px}.form-panel h2{font-size:18px;margin-bottom:20px}.form-panel p{font-size:12px;line-height:1.8;color:#8b987b;margin:12px 0}.form-panel a{color:#527642;text-decoration:underline}.settings-form{max-width:1000px}.settings-form>.button{margin:0 0 12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.shares-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}form label{font-size:12px;color:#6d7d5c;display:grid;gap:8px;margin:13px 0}form input:not([type=checkbox]),form select,form textarea{width:100%;padding:11px 12px;border:1px solid #dce4d2;border-radius:6px;background:#fff;color:#3b5436;font-size:12px;outline-offset:2px}form input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}form input[readonly]{background:#f3f5ed;color:#8d9a7c}.form-panel>label{max-width:800px}.form-panel .check-label,form .check-label{display:flex;align-items:center;gap:9px;line-height:1.7}.field-note{font-size:11px!important;color:#94a182!important;line-height:1.8}.form-error{font-size:12px;color:#ac5941;line-height:1.8;margin:15px 0}.ingredient-reference{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;font-size:11px}.ingredient-reference code{background:#f1f4eb;padding:3px 6px;border-radius:3px;display:inline-block;color:#7c9266;margin-right:8px}.form-panel summary{font-size:13px;cursor:pointer}.backup-panel .actions{margin-top:20px}.component-editor{margin:25px 0}.component-edit-row{display:grid;grid-template-columns:1fr 80px;gap:17px;align-items:center}.component-edit-row label{min-width:0}.component-edit-row .compact{font-size:10px;margin-top:35px}.editor-issues{background:#f5f0e5;border-radius:6px;padding:4px 12px;margin-bottom:20px}.editor-issues:empty{display:none}.editor-issues p{font-size:11px;color:#9a875e;line-height:1.8;margin:7px 0}.portion-table{margin:25px 0}.portion-table>div{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:15px;align-items:center;margin:12px 0}.portion-table strong{font-weight:500;font-size:12px}.portion-header{font-size:10px;color:#9ba88b}.variant-row{display:grid;grid-template-columns:1fr 100px 90px 30px;gap:12px;align-items:center;border-bottom:1px solid #e5eada;padding-bottom:10px}.variant-row .check-label{margin-top:37px;font-size:10px}.variant-row>.icon-button{margin-top:23px}.ingredient-row{display:grid;grid-template-columns:1fr 140px 30px;gap:10px;margin:12px 0}.month-checkboxes{display:flex;flex-wrap:wrap;gap:12px}.month-checkboxes label{display:flex;align-items:center}.audit-list{display:grid;gap:9px;margin:25px 0;max-height:60vh;overflow:auto}.audit-list>div{padding:13px 16px;border:1px solid #e5e8da;background:white;border-radius:6px}.audit-list span{display:block;font-size:10px;color:#98a486;margin-bottom:6px}.audit-list strong{font-size:12px;font-weight:500;color:#7a8068}.proposal-stats{display:flex;gap:20px;padding:20px;background:#eaf0e1;border-radius:8px;margin:25px 0;font-size:13px}.proposal-stats span{color:#8a9975}.proposal-weeks>details{border:1px solid #dfe7d4;border-radius:8px;margin-bottom:15px;background:white}.proposal-weeks summary{font-size:13px;padding:18px;cursor:pointer;font-weight:600}.proposal-day{padding:20px;border-top:1px solid #e6ebde}.proposal-day h3{font-size:16px;margin-bottom:18px}.proposal-day h4{font-size:12px;color:#64834c;background:#eff4e8;padding:9px;border-radius:4px}.proposal-day p{font-size:12px;line-height:1.8;margin:12px 0}.proposal-day b{display:inline-block;min-width:140px;font-size:10px;color:#82946f}.proposal-day small,.proposal-hits small{display:block;font-size:10px;color:#9aa88a;margin:3px 0}.proposal-hits{padding:0 20px 15px}.proposal-hits p{font-size:12px;margin:10px 0;line-height:1.8}.sticky-actions{position:sticky;bottom:-32px;background:#f8f9f5;padding:20px 0;border-top:1px solid #e1e7d8}.loading-line{height:5px;border-radius:5px;background:linear-gradient(90deg,#dee8d4,#749452,#dee8d4);background-size:200% 100%;animation:loading 1.5s infinite;margin:30px 0}.recipe-controls select{padding:10px 13px;border:1px solid #dfe5d6;border-radius:6px;background:#fff;font-size:12px;color:#718561}dialog{max-width:970px}dialog form{margin-top:23px}dialog h3{font-size:15px;margin:22px 0 12px}dialog>p{line-height:1.8}.shopping-summary p{font-size:11px}.nav-item span{white-space:nowrap}form fieldset{border:1px solid #dfe5d7;border-radius:6px;padding:10px 15px;margin:20px 0}form legend{font-size:11px;color:#8b9b79}
@keyframes loading{to{background-position:-200% 0}}
@media(min-width:1750px){.service-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.content{padding-left:35px;padding-right:35px}.component-lines{min-height:65px}.service-day>header{flex-wrap:wrap}.menu-slot{padding:13px 10px}}
@media(max-width:1250px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cycle-grid,.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hits-section{grid-template-columns:1fr}.hits-section h2{font-size:20px}.planner-toolbar{flex-wrap:wrap}.page-heading{align-items:flex-start}.page-heading .actions{max-width:210px}.context-strip{flex-wrap:wrap}}
@media(max-width:850px){.nav-item span{display:none}.sidebar-note{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shares-grid{grid-template-columns:1fr 1fr}.page-heading .actions{max-width:170px}.page-heading .actions .button{font-size:10px;padding:10px 12px}.ingredient-reference{grid-template-columns:1fr}.variant-row{grid-template-columns:1fr 70px 70px 25px;gap:8px}.variant-row .check-label{font-size:9px}.portion-table strong{font-size:11px}}
@media(max-width:560px){.brand{font-size:16px}.sidebar{padding:10px 12px}.brand-icon{width:24px;height:27px}.nav-item{padding:8px}.nav-item svg{width:17px;height:17px}nav{gap:1px}.content{padding:22px 16px 5px}.page-heading{display:block}.page-heading .actions{margin-top:17px;max-width:none;justify-content:flex-start}.page-heading h1{font-size:25px}.page-heading .actions .button{font-size:11px;padding:11px 14px}.notice{display:block;padding:15px;font-size:11px}.notice>.button{margin-top:10px}.context-strip{gap:10px;line-height:1.8;padding:13px}.context-strip>.button{margin-left:0}.planner-toolbar{gap:13px}.segmented button{padding:9px 25px}.week-navigation{order:3;flex-basis:100%;justify-content:space-between}.planner-toolbar>.button{font-size:10px}.service-grid{grid-template-columns:1fr}.service-day>header{padding:17px}.service-day>header strong{font-size:14px}.service-day>header small{font-size:10px}.service-day>header button{font-size:12px;padding:8px 11px}.menu-slot{padding:17px}.line-label{font-size:10px}.portion-badge{font-size:10px}.menu-open>strong{font-size:14px}.component-lines{font-size:12px;min-height:0;gap:5px;line-height:1.7}.slot-bottom{margin-top:7px}.slot-bottom .text-button{font-size:10px}.review-badge,.ok-badge{font-size:9px}.hit-counts{padding:17px;font-size:11px}.extra-slot{padding:17px}.extra-slot>span{font-size:10px}.extra-slot strong{font-size:12px}.hits-section{padding:19px;gap:17px}.hits-grid{grid-template-columns:1fr}.hits-section h2{font-size:20px}.cycle-grid,.component-grid{grid-template-columns:1fr}.cycle-card{padding:22px}.form-grid{grid-template-columns:1fr;gap:0}.shares-grid{grid-template-columns:1fr 1fr;gap:10px}.form-panel{padding:19px}.shares-grid label{font-size:10px}.form-panel h2{font-size:17px}.variant-row{grid-template-columns:1fr 80px 25px}.variant-row>label:first-child{grid-column:1/-1;margin-bottom:0}.variant-row .check-label{grid-column:1;margin-top:8px;grid-row:2}.variant-row>label:nth-child(2){grid-column:2;grid-row:2}.variant-row>.icon-button{grid-column:3;grid-row:2}.ingredient-row{grid-template-columns:1fr 85px 24px;gap:5px}.ingredient-row select{font-size:10px;padding:10px 5px}.ingredient-row input{padding:10px 6px;font-size:11px}.component-edit-row{grid-template-columns:1fr 65px;gap:8px}.component-edit-row select{font-size:11px;padding:11px 7px}.portion-table>div{grid-template-columns:1.25fr .8fr .8fr;gap:8px}.portion-table input{padding:10px 6px}.portion-table strong{font-size:10px}.portion-header{font-size:9px}.component-editor{margin:15px 0}.proposal-day{padding:15px}.proposal-day b{display:block}.proposal-stats{font-size:12px;gap:12px}.sticky-actions{bottom:-22px}.sticky-actions .button{font-size:11px}.day-filters{gap:6px}.day-filters label{padding:8px;gap:5px;font-size:10px}dialog{width:calc(100% - 20px);padding:22px 16px}.form-panel .button{font-size:11px}.shopping-item{font-size:11px}}
.export-actions{margin:24px 0}.export-preview{width:100%;min-height:260px;margin-top:15px;border:1px solid #dfe5d5;border-radius:6px;padding:12px;background:white;color:#617451;font:11px/1.6 monospace;resize:vertical}dialog>details>summary{font-size:12px;cursor:pointer;color:#7c9067}
dialog h2,.menu-open>strong,.component-card h3{overflow-wrap:anywhere}
.portion-control{grid-column:1/-1;margin:0 0 15px!important;padding:12px;background:#f0f4e9;border-radius:6px}.portion-control>span{display:flex;align-items:center;gap:10px;font-size:11px}.portion-control input{max-width:125px}.portion-control small{font-size:10px;font-weight:400;line-height:1.6;color:#87977a}.slot-bottom{flex-wrap:wrap}

.calculation-basis{display:grid;gap:8px;max-width:480px;margin-bottom:16px}.production-detail{padding:16px;background:#f0f4e9;border-radius:8px;margin:20px 0}.production-detail summary{cursor:pointer;font-weight:600}.production-detail p{font-size:13px}.portion-header span{overflow-wrap:anywhere}

.excluded-tags{border:0;padding:0;margin:20px 0;min-width:0}.excluded-tags legend{font-weight:600;font-size:13px;color:var(--green)}.excluded-tag-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 18px}.excluded-tag-options .check-label{margin:0;padding:10px 12px;background:#f5f7f1;border-radius:6px;overflow-wrap:anywhere}.excluded-tag-options input{flex-shrink:0}

.season-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.season-checkboxes label{display:flex;align-items:center;gap:10px;margin:0;padding:10px;background:#f0f4e9;border-radius:6px}.season-checkboxes input{width:auto;flex-shrink:0}.season-checkboxes small{display:block;margin-top:4px;font-size:11px;font-weight:400}@media(max-width:420px){.season-checkboxes{grid-template-columns:1fr}}

.season-tabs{margin-bottom:20px;display:flex;flex-wrap:wrap}.season-tabs button{flex:1}

.component-tags .subcategory-tag{background:#e4eee8;color:#245c49;font-weight:600}

.component-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.component-filters label{display:grid;gap:7px;font-size:12px}.component-filters select{width:100%;min-width:0}.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-size:13px}@media(max-width:850px){.component-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.component-filters{grid-template-columns:1fr}.filter-summary{flex-wrap:wrap}}

.component-edit-row[hidden]{display:none}.coverage-note{display:block;font-size:11px;line-height:1.5;color:#607364;margin:8px 0}.component-edit-row>.coverage-note{grid-column:1/-1}

@font-face{font-family:MenuPrint;src:url('/assets/fonts/LiberationSans-Regular.ttf')}@font-face{font-family:MenuPrint;src:url('/assets/fonts/LiberationSans-Bold.ttf');font-weight:700}
.menu-export-dialog{width:min(1200px,calc(100vw - 24px));max-width:1200px}.menu-export-dialog>header{display:flex;align-items:center;justify-content:space-between}.menu-export-dialog [data-export-status]{margin:16px 0}.menu-export-dialog [hidden]{display:none}.menu-pdf-preview{margin-top:20px;display:grid;gap:20px;background:#e5e8e4;padding:16px}.menu-pdf-page{display:block;width:100%;height:auto;box-shadow:0 2px 10px #0002}.pdf-print-frame{position:fixed;width:1px;height:1px;left:0;bottom:0;border:0;opacity:0;pointer-events:none}
