.gp-foodplan{background:#192a23;color:#f5f5ee;padding:clamp(1.1rem,3vw,2.2rem);border:1px solid #5d7164;border-radius:4px;margin:1.4rem 0 2rem}
.gp-foodplan *{box-sizing:border-box;min-width:0}.gp-foodplan__eyebrow{letter-spacing:.15em;font-size:.76rem;font-weight:800;color:#eac389}.gp-foodplan h2,.gp-foodplan h3,.gp-foodplan h4{color:#fff}.gp-foodplan h2{font-size:clamp(1.4rem,2.5vw,2rem)}.gp-foodplan__intro{max-width:73ch;line-height:1.65}.gp-foodplan__example{background:#263d31;border-left:4px solid #d6b37b;padding:1rem;margin:1rem 0 1.5rem;line-height:1.65}
.gp-foodplan fieldset{border:1px solid #6b8272;margin:0 0 1rem;padding:1rem 1.15rem}.gp-foodplan legend{color:#f3d19e;font-weight:800;padding:.1rem .35rem}.gp-foodplan__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.gp-foodplan label{display:flex;flex-direction:column;font-weight:650;font-size:.94rem;gap:.5rem;color:#fff}.gp-foodplan label strong{color:#efce93}.gp-foodplan input,.gp-foodplan select{width:100%;background:#101c17;border:1px solid #82978a;color:white;border-radius:4px;padding:.8rem;font:inherit;min-height:44px}.gp-foodplan input:focus-visible,.gp-foodplan select:focus-visible,.gp-foodplan button:focus-visible,.gp-foodplan a:focus-visible{outline:3px solid #eac389;outline-offset:3px}.gp-foodplan__optional,.gp-foodplan__footnote,.gp-foodplan__quiet{color:#d6dfd4!important;font-size:.87rem}.gp-foodplan__footnote{margin:.9rem 0 0;line-height:1.6}.gp-foodplan__power-fields{background:#304033;padding:1rem;margin:.85rem 0 0;border-left:4px solid #f4bf69}.gp-foodplan__power-fields p{margin:0 0 .9rem}.gp-foodplan [hidden]{display:none!important}
.gp-foodplan__submit-panel{background:#253b30;padding:1rem 1.1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center}.gp-foodplan__submit-panel p{font-size:.86rem;color:#dfe5d8;flex:1 1 240px;margin:0}.gp-foodplan button{cursor:pointer;border:1px solid #d9b87f;border-radius:3px;padding:.85rem 1.15rem;font:inherit;font-size:.87rem;font-weight:800}.gp-foodplan__calculate{background:#ddb87f;color:#19251b}.gp-foodplan__secondary{background:transparent!important;color:#ffdfa8!important}.gp-foodplan__result-anchor{scroll-margin-top:105px;padding:1.4rem 0 0;margin:1rem 0;border-top:1px solid #68806d}#gp-foodplan-status{color:#ffe3b8;font-size:.9rem;font-weight:650;min-height:1.3rem}#gp-foodplan-results{outline-offset:5px}#gp-foodplan-results h3{font-size:clamp(1.2rem,2vw,1.6rem)}.gp-foodplan__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:.7rem;margin:1rem 0}.gp-foodplan__metric{background:#2c4034;border:1px solid #5a7360;padding:1rem;display:flex;flex-direction:column;gap:.4rem}.gp-foodplan__metric span{font-size:.85rem;color:#d8e0d8}.gp-foodplan__metric strong{color:#fff;font-size:1.1rem;line-height:1.35}.gp-foodplan__metrics--gap .gp-foodplan__metric{background:#354434;border-color:#b18e62}.gp-foodplan__recommend{border-left:4px solid #deb773;background:#2e3a30;padding:1rem;margin:1rem 0}.gp-foodplan__warning{border-left:4px solid #f0b66e;background:#393b2c;padding:1rem;margin:1rem 0}.gp-foodplan__error{background:#452e2e;border-left:4px solid #ef9898;padding:1rem;color:#fff}.gp-foodplan__meal-types{border:1px solid #617a68;padding:1rem;margin:1rem 0}.gp-foodplan__meal-types h4{margin:0}.gp-foodplan__advice{margin:1rem 0}.gp-foodplan__advice li{margin:.35rem 0;line-height:1.6}.gp-foodplan__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0}.gp-foodplan__safety{border:1px solid #6b816e;background:#273b2e;padding:1.2rem;line-height:1.6}.gp-foodplan__safety strong{color:#e8c58c}.gp-foodplan a{color:#ffd6a0;text-decoration:underline}
@media(max-width:650px){.gp-foodplan__fields{grid-template-columns:1fr}.gp-foodplan fieldset{padding:.85rem}.gp-foodplan__metrics{grid-template-columns:1fr 1fr}.gp-foodplan__metric{padding:.8rem}.gp-foodplan__metric strong{font-size:1rem}}
@media(max-width:380px){.gp-foodplan__metrics{grid-template-columns:1fr}}
@media print{.gp-foodplan{background:white;color:#111;border:0;padding:0}.gp-foodplan p,.gp-foodplan h2,.gp-foodplan h3,.gp-foodplan h4,.gp-foodplan strong{color:#111!important}.gp-foodplan form,.gp-foodplan button,.gp-foodplan__actions{display:none!important}.gp-foodplan__metric,.gp-foodplan__advice,.gp-foodplan__safety{background:white;color:#111;border:1px solid #aaa}.gp-foodplan__result-anchor{scroll-margin-top:0}.gp-foodplan__recommend,.gp-foodplan__warning{background:#f4f4f4;color:#111}.gp-foodplan__metric span,.gp-foodplan__quiet{color:#333!important}}
/* 0.6.9: meal-choice and shopping list follow the household-days estimate. */
.gp-mealshop{margin:1.4rem 0;border-top:2px solid #b9a477;padding-top:1.2rem}
.gp-mealshop [hidden]{display:none!important}.gp-mealshop__context,.gp-mealshop__stats{background:#2f4438;border-left:4px solid #ddb87f;padding:.9rem 1rem;margin:1rem 0;line-height:1.6}
.gp-mealshop__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.gp-mealshop__option-group{margin:0!important;padding:.8rem!important}.gp-mealshop__option{flex-direction:row!important;align-items:flex-start;gap:.6rem!important;padding:.65rem .2rem;font-weight:500!important;border-bottom:1px solid #466050}
.gp-mealshop__option input,.gp-mealshop__item input{width:1.2rem!important;min-width:1.2rem!important;height:1.2rem!important;min-height:1.2rem!important;flex:none;margin:.1rem 0 0}
.gp-mealshop textarea{display:block;width:100%;background:#101c17;border:1px solid #82978a;color:white;padding:.8rem;border-radius:4px;min-height:84px;font:inherit;margin:.25rem 0 1rem}
.gp-mealshop__result-anchor{scroll-margin-top:105px;border-top:1px solid #6b8272;margin-top:1.3rem;padding-top:1rem}
.gp-mealshop__result-anchor h3,.gp-mealshop__result-anchor h4{color:#fff!important}
.gp-mealshop__stats{display:flex;flex-direction:column;gap:.25rem}
.gp-mealshop__plan{border:1px solid #5d7164;padding:1rem;margin:1rem 0}
.gp-mealshop__plan li{line-height:1.65;margin:.3rem 0}
.gp-mealshop__list{padding:0;list-style:none;margin:0}
.gp-mealshop__item{padding:1rem .8rem;border-bottom:1px solid #526a58;background:#283d32;margin:.35rem 0}
.gp-mealshop__item label{display:flex!important;flex-direction:row!important;align-items:flex-start;font-size:.96rem!important;gap:.75rem!important}
.gp-mealshop__item p{padding-left:1.9rem;margin:.25rem 0 0}.gp-mealshop__item--covered{opacity:.64}.gp-mealshop__item--covered label span{text-decoration:line-through}
.gp-mealshop button:focus-visible,.gp-mealshop input:focus-visible,.gp-mealshop textarea:focus-visible{outline:3px solid #eac389;outline-offset:3px}
@media(max-width:920px){.gp-mealshop__choices{grid-template-columns:1fr}}
@media print{.gp-mealshop{background:white;color:#111}.gp-mealshop [hidden]{display:none!important}.gp-mealshop form,.gp-mealshop__actions{display:none!important}.gp-mealshop__plan,.gp-mealshop__item,.gp-mealshop__stats{background:white;color:#111!important;border-color:#999}.gp-mealshop__item label span,.gp-mealshop__item p{color:#111!important}.gp-mealshop__result-anchor{scroll-margin-top:0}}
