@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap');
*{box-sizing:border-box}body{margin:0;background:#f8f2f0;color:#361e27;font:16px 'DM Sans',sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:16px max(4vw,16px);border-bottom:1px solid #eadce0;gap:8px}.brand{font-weight:800;color:inherit;text-decoration:none;letter-spacing:.1em;white-space:nowrap}i{display:inline-block;background:#78283d;width:11px;height:16px;transform:skew(-18deg);margin-right:9px}nav{display:flex;gap:5px}main{max-width:1000px;margin:auto;padding:36px 20px 80px}.hero{background:#78283d;border:1px solid #78283d;border-radius:22px;padding:clamp(20px,5vw,48px);margin-bottom:30px}.eyebrow{color:#78283d;font-size:.75rem;letter-spacing:.16em;font-weight:700;text-transform:uppercase}h1{font:700 clamp(33px,5vw,51px)/1.12 'DM Sans',sans-serif;margin:.16em 0}h2,h3,p{margin:0 0 12px}p,small{color:#624852}button,input,select{font:inherit;border-radius:9px;padding:10px;border:1px solid #d8c3ca;background:#f7eef0;color:inherit}button{cursor:pointer;font-weight:700}button:hover{border-color:#78283d}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #78283d;outline-offset:2px}.primary{background:#78283d;color:#ffffff;border-color:transparent}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.card{border:1px solid #eadce0;background:#ffffff;padding:19px;border-radius:16px;margin-bottom:12px}.line,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.line{justify-content:space-between}.list{padding-left:20px;color:#624852}.list li{margin:8px 0}.field{display:grid;gap:5px;min-width:0}input,select{width:100%;min-width:0}.editor,.set{display:grid;gap:8px;align-items:end;margin:10px 0}.editor{grid-template-columns:2fr 1fr 1fr auto}.set{grid-template-columns:1fr 1fr 1fr auto;align-items:center}.set small{font-size:.75rem}.error{color:#a02843}progress{width:100%;accent-color:#78283d}details{margin:8px 0}summary{cursor:pointer}@media(max-width:520px){.editor{grid-template-columns:1fr 1fr auto}.editor .field:first-child{grid-column:1/-1}.set{grid-template-columns:1fr 1fr auto}.set small{grid-column:1/-1}main{padding-top:20px}}
.food-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px;align-items:start}.food-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.meal-form{grid-template-columns:minmax(105px,.45fr) minmax(0,1fr) auto}.food-note,.food-ideas{margin-top:14px}.food-idea{padding:14px 0;border-top:1px solid #eadce0}.food-idea h3{margin-bottom:4px}.food-idea details p{margin-top:8px}.food-pantry,.food-log{list-style:none;padding:0;margin:14px 0 0}.food-pantry{display:flex;gap:8px;flex-wrap:wrap}.food-pantry li{display:flex;align-items:center;gap:5px;background:#f2e1e6;border-radius:10px;padding-left:10px;overflow-wrap:anywhere}.food-pantry button{border:0;background:transparent;padding:6px 10px}.food-log li{padding:12px 0;border-top:1px solid #eadce0}.food-log strong{overflow-wrap:anywhere}@media(max-width:640px){header{flex-wrap:wrap}nav{flex-wrap:wrap}nav button{padding:8px}.food-grid{grid-template-columns:1fr}.meal-form{grid-template-columns:1fr}}
.nutrition{grid-column:1/-1;min-width:0;border:1px solid #eadce0;border-radius:12px;padding:12px;margin:6px 0}.nutrition legend{font-weight:700;padding:0 6px}.nutrition-item{border-top:1px solid #eadce0;padding:10px 0}.nutrition-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0}.nutrition-total{margin:10px 0 0;color:#78283d}.food-log details ul{padding-left:20px}.food-log details li{padding:4px 0;border:0}@media(max-width:640px){.nutrition-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.plan-gear{margin:14px 0 0;border:1px solid #eadce0;border-radius:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.plan-gear input,.plan-exercises input{width:auto;accent-color:#78283d}.plan-exercises{list-style:none;padding:0;margin:12px 0}.plan-exercises li{padding:10px 0;border-top:1px solid #eadce0}.plan-exercises small{display:block;margin-top:3px}.plan-dinners{margin-top:14px}.plan-dinners article{min-width:0}#plan-message{margin:8px 0 0}
.tutorial-link{display:inline-block;color:#78283d;margin:6px 10px 8px 0}.venue-field{margin-top:12px}.card a{color:#78283d}.scan-panel{padding:8px 0}.scan-panel .field{margin:8px 0}.scan-panel [role=status]{margin-top:8px}.scan-panel .primary{margin-top:10px}.week-goals{grid-template-columns:repeat(4,minmax(0,1fr))}.week-days summary{line-height:1.5}.week-days .cards{margin-top:12px}button:disabled{opacity:.5;cursor:default}@media(max-width:700px){header{flex-wrap:wrap}nav{flex-wrap:wrap}.week-goals{grid-template-columns:repeat(2,minmax(0,1fr))}}

header{position:fixed;inset:0 auto 0 0;width:224px;background:#fff;border:0;display:block;padding:21px 16px;z-index:5}
.brand{display:inline-block;margin-left:6px;color:#78283d;font-size:23px;font-weight:700;letter-spacing:0}
nav{display:grid;gap:10px;margin-top:42px}
nav button{min-height:42px;text-align:left;border:0;background:#fff;color:#624852;border-radius:12px;padding:10px 14px;font-size:14px}
nav button.primary,nav button:hover{background:#f2e1e6;color:#78283d}
main{margin-left:224px;max-width:1120px;padding:38px 40px 80px}
.hero{min-height:191px;padding:23px 24px;margin-bottom:24px;color:#fff}
.hero .eyebrow{color:#f8cad6}
.hero p{color:#f9e4ea;font-size:15px;margin:13px 0 0}
.hero h1{margin:7px 0 0}
.eyebrow{letter-spacing:0}
.card{border-radius:20px;padding:19px 20px}
.card>.eyebrow{display:block;margin-bottom:5px;color:#87364d;font-size:11px}
.plan-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.plan-layout>.card{min-height:215px;margin:0}
.plan-layout{margin-bottom:20px}
.plan-dinner>.eyebrow{color:#895433}
.place-options{margin:14px 0}
.place-options button{border:0;border-radius:12px;padding:11px 14px}
.place-options button[aria-pressed=true]{background:#f3e0e6;color:#78283d}
.mobile-label,.current-section{display:none}
@media(max-width:740px){
 header{position:sticky;inset:0 0 auto;width:auto;min-height:68px;padding:16px 22px;display:flex;align-items:center;justify-content:space-between}
 .brand{margin:0}
 .current-section{display:block;color:#78283d;font-weight:700;font-size:14px}
 nav{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eadce0}
 nav button{text-align:center;font-size:13px;padding:8px 2px}
 nav button.primary{background:#fff}
 .desktop-label{display:none}.mobile-label{display:inline}
 main{margin:0;padding:20px 16px calc(88px + env(safe-area-inset-bottom))}
 .hero{min-height:161px;margin-bottom:19px}
 .plan-layout{grid-template-columns:1fr}
}
