.mpg{gap:1.5rem;display:grid}.mpg__h{margin:0 0 1rem;font-size:1.35rem}.mpg__form{gap:1.1rem;padding:clamp(1.25rem,3vw,1.75rem);display:grid}.mpg__targets{grid-template-columns:repeat(4,1fr);gap:.85rem;display:grid}.mpg__row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.mpg__field{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;display:flex}.mpg__field span{color:var(--ink)}.mpg__field input,.mpg__field select{border:1.5px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:#fff;width:100%;padding:.65rem .75rem;font-weight:600}.mpg__field input:focus-visible,.mpg__field select:focus-visible{border-color:var(--green-accent)}.mpg__field small{color:var(--muted);font-weight:500}.mpg__hint{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:.7rem .9rem;font-size:.85rem}.mpg__allergens{border:0;margin:0;padding:0}.mpg__allergens legend{margin-bottom:.5rem;padding:0;font-size:.9rem;font-weight:600}.mpg__chips{flex-wrap:wrap;gap:.5rem;display:flex}.mpg__chip{border:1.5px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;user-select:none;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:inline-flex}.mpg__chip input{opacity:0;width:0;height:0;position:absolute}.mpg__chip.is-on{border-color:var(--green-accent);background:var(--mint-50);color:var(--green-700)}.mpg__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.mpg__safety{border-radius:var(--radius);color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:1.25rem 1.5rem}.mpg__safety strong{font-family:var(--font-display);margin-bottom:.4rem;font-size:1.05rem;display:block}.mpg__safety p{margin:0 0 .5rem;font-size:.92rem;line-height:1.6}.mpg__safety a{color:#92400e;font-weight:700;text-decoration:underline}.mpg__safety--soft{background:var(--surface-2);border-color:var(--border);color:var(--ink)}.mpg__safety--soft a{color:var(--green-700)}.mpg__ainote{color:var(--muted);margin:0;font-size:.85rem;font-style:italic}.mpg__plan{gap:1.5rem;display:grid}.mpg__plan-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.mpg__plan-head .mpg__h{margin:0}.mpg__days{grid-template-columns:repeat(2,1fr);gap:1.1rem;display:grid}.mpg__day{align-content:start;gap:.85rem;padding:1.1rem 1.2rem 1.25rem;display:grid}.mpg__day-head{justify-content:space-between;align-items:center;display:flex}.mpg__day-head h3{margin:0;font-size:1.1rem}.mpg__day-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);border:1px solid var(--border);padding:.2rem .6rem;font-size:.7rem;font-weight:700}.mpg__day-badge.is-on{background:var(--mint-50);color:var(--green-700);border-color:#bbf7d0}.mpg__bars{grid-template-columns:1fr 1fr;gap:.5rem .85rem;display:grid}.mpg__bar-top{color:var(--muted);justify-content:space-between;margin-bottom:.2rem;font-size:.74rem;display:flex}.mpg__bar-top span:first-child{color:var(--ink);font-weight:700}.mpg__bar-track{border-radius:var(--radius-pill);background:var(--surface-2);height:7px;overflow:hidden}.mpg__bar-fill{border-radius:var(--radius-pill);height:100%;transition:width .3s}.mpg__bar-fill.is-ok{background:var(--green-accent)}.mpg__bar-fill.is-off{background:#f59e0b}.mpg__meals{gap:.5rem;display:grid}.mpg__meal{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;display:flex}.mpg__meal-main{gap:.1rem;min-width:0;display:grid}.mpg__meal-type{text-transform:uppercase;letter-spacing:.06em;color:var(--green-700);font-size:.68rem;font-weight:700}.mpg__meal-name{font-size:.92rem;font-weight:700;line-height:1.25}.mpg__meal-macros{color:var(--muted);font-size:.78rem}.mpg__meal-controls{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.mpg__stepper{border:1px solid var(--border);border-radius:var(--radius-pill);background:#fff;align-items:center;gap:.2rem;padding:.1rem;display:inline-flex}.mpg__stepper button{width:26px;height:26px;color:var(--green-700);background:0 0;border:0;border-radius:50%;font-size:1.1rem;font-weight:700;line-height:1}.mpg__stepper button:hover{background:var(--mint-50)}.mpg__stepper span{text-align:center;min-width:2.2rem;font-size:.8rem;font-weight:700}.mpg__swap{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--green-700);background:#fff;padding:.35rem .75rem;font-size:.78rem;font-weight:700}.mpg__swap:hover{border-color:var(--green-accent);background:var(--mint-50)}.mpg__grocery{padding:clamp(1.25rem,3vw,1.6rem)}.mpg__grocery-sub{color:var(--muted);margin:-.5rem 0 1rem;font-size:.9rem}.mpg__grocery-list{grid-template-columns:repeat(3,1fr);gap:.5rem 1.25rem;display:grid}.mpg__grocery-list li{border-bottom:1px solid var(--border);text-transform:capitalize;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .2rem;font-size:.9rem;display:flex}.mpg__grocery-count{color:var(--muted);background:var(--surface-2);border-radius:var(--radius-pill);padding:.1rem .45rem;font-size:.72rem;font-weight:700}@media (width<=760px){.mpg__targets{grid-template-columns:1fr 1fr}.mpg__row,.mpg__days{grid-template-columns:1fr}.mpg__grocery-list{grid-template-columns:1fr 1fr}}@media (width<=460px){.mpg__meal{flex-direction:column;align-items:stretch}.mpg__meal-controls{justify-content:space-between}.mpg__grocery-list{grid-template-columns:1fr}}
