#appmain>.tab:not(#home){padding-top:40px}#plan>.section-head{gap:24px;align-items:center;margin-bottom:22px}#plan>.section-head .eyebrow{margin-bottom:14px}#plan>.section-head h2{margin-bottom:0}.nutrition-jump{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin:28px 0;background:var(--surface);border:1px solid var(--line);border-radius:16px;line-height:1.5}.nutrition-jump>div{display:grid;gap:5px}.nutrition-jump strong{font-size:16px}.nutrition-jump>div>span{font-size:14px;color:var(--muted)}.nutrition-jump a{font-weight:700;white-space:nowrap;text-decoration:none;min-height:44px;display:flex;gap:10px;align-items:center}.nutrition-jump a:hover{text-decoration:underline}#menutoggle svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}#menutoggle{border:0;background:transparent;box-shadow:none;border-radius:0;padding:7px;min-width:50px;min-height:50px}#menutoggle:hover{background:transparent;color:var(--green)}@media(max-width:1100px){#appheader #mainnav{width:min(360px,82vw);padding:22px 18px}#appheader #mainnav button{font-size:18px;font-weight:700;padding:16px 14px;min-height:54px;overflow-wrap:normal;border-radius:10px}#appheader #mainnav #closemenu{font-size:34px;width:50px;min-height:50px;margin-bottom:20px}#appheader.menu-open #mainnav{gap:6px}}@media(max-width:700px){#appmain>.tab:not(#home){padding-top:30px}#plan>.section-head{gap:20px}.nutrition-jump{align-items:flex-start;flex-direction:column;gap:10px;padding:20px}.nutrition-jump a{white-space:normal}.plan-nutrition>.section-head{align-items:stretch;gap:18px}.plan-nutrition>.section-head h2{font-size:27px}.plan-nutrition>.section-head label{display:grid;gap:8px}.plan-nutrition>.section-head select{width:100%;min-height:48px}}
#mainnav a{display:block;text-decoration:none;color:var(--ink);font:600 14px 'DM Sans',sans-serif;padding:11px 16px;border-radius:8px}#mainnav a.active{background:var(--soft)}#mainnav a:hover{background:var(--hover)}.intro-actions>a.primary,.intro-finish>a.primary{display:inline-block;text-decoration:none;border-radius:8px;padding:17px 28px;font-weight:700}.intro-account a[data-tab]{display:inline-block;text-decoration:none;border:1px solid var(--line);padding:12px 18px;border-radius:8px;background:var(--field)}
header#appheader #menutoggle{width:56px;height:56px;min-width:56px;min-height:56px;padding:8px;border:0!important;border-radius:0;background:transparent!important;box-shadow:none;align-items:center;justify-content:center;color:var(--ink)}#menutoggle .menu-lines{display:flex;flex-direction:column;justify-content:space-between;width:34px;height:26px;flex:none}#menutoggle .menu-lines i{display:block;width:34px;height:3px;border-radius:2px;background:currentColor}
@media(max-width:1100px){header#appheader #menutoggle{display:flex}#appheader #mainnav{width:40vw;min-width:0;max-width:40vw;padding:18px 8px;box-sizing:border-box}#appheader #mainnav :is(a,button){font-size:clamp(12px,3.4vw,18px);font-weight:700;padding:14px 7px;line-height:1.4;min-height:48px;text-align:left;white-space:normal;overflow-wrap:anywhere}#appheader #mainnav a.account-nav{margin-top:auto;padding-top:18px;border-left:0;border-top:1px solid var(--line)}#appheader #mainnav #closemenu{width:44px;font-size:30px;text-align:center}}

.clear-meals-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}
@media(max-width:700px){#plan>.section-head{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:22px;width:100%;text-align:left}#plan>.section-head>div{width:100%}#plan>.section-head .portion{align-self:flex-start;display:flex;align-items:center;justify-content:flex-start;gap:14px;margin:0}#plan>.section-head h2{font-size:clamp(25px,6.5vw,32px);line-height:1.25}.plan-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:stretch}.plan-actions #calculate{grid-column:1/-1;width:100%;min-height:54px}.plan-actions #random,.plan-actions #clear{width:100%;min-height:48px;font-size:14px;padding:12px 8px}.plan-actions #guidedmenu{grid-column:1/-1;margin:0;width:100%}.plan-actions #guidedmenu>summary{min-height:48px;font-size:14px;padding:12px 14px;justify-content:space-between;box-sizing:border-box}.plan-actions #summary{grid-column:1/-1;order:initial;font-size:14px;padding-top:3px}.guided-panel{width:100%;box-sizing:border-box}.clear-meals-actions>button{flex:1;min-height:48px}}

/* Shared menu icons: fixed square, theme-aware colour and transparent cutouts. */
#appheader #mainnav a{display:flex;align-items:center;gap:9px;min-width:0}
#mainnav .nav-icon{display:block;width:24px;height:24px;flex:0 0 24px;overflow:visible}
#mainnav .nav-label{min-width:0}
@media(max-width:1100px){
 #appheader #mainnav a{gap:7px;padding-left:4px;padding-right:4px}
 #mainnav .nav-icon{width:clamp(19px,5.3vw,25px);height:clamp(19px,5.3vw,25px);flex-basis:clamp(19px,5.3vw,25px)}
 #mainnav .nav-label{overflow-wrap:normal;word-break:normal;hyphens:auto}
 #mainnav #count{display:inline-block;font-size:.8em;padding:2px 4px}
}

/* Desktop navigation: larger labels, only Account keeps its icon. */
@media(min-width:1101px){
 #appheader #mainnav a{font-size:16px;padding:11px 12px}
 #appheader #mainnav a:not(.account-nav) .nav-icon{display:none}
}

/* Menu labels must not inherit the old recipe-count badge styling. */
#appheader #mainnav .nav-label{font:inherit;color:inherit;background:none;padding:0;border:0;border-radius:0}
#appheader #mainnav a,#appheader #mainnav a.active,#appheader #mainnav a:hover{background:transparent;border-radius:0}
#appheader #mainnav a.active .nav-label{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
#appheader #mainnav a:hover .nav-label{text-decoration:underline;text-underline-offset:7px}
#appheader #mainnav #count{background:none;padding:0 0 0 3px;border-radius:0;color:var(--muted);font-size:.68em;vertical-align:super}
@media(min-width:1101px){
 header#appheader{gap:clamp(24px,3vw,56px)}
 #appheader>.brand{flex:none}
 #appheader #mainnav{flex:1;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(8px,1vw,20px)}
 #appheader #mainnav a{flex:none;white-space:nowrap;font-size:clamp(16px,1.45vw,25px);font-weight:600;padding:12px 0}
 #appheader #mainnav .account-nav{margin-left:0;padding-left:0;border-left:0}
}
@media(max-width:1100px){
 #appheader #mainnav a{font-size:clamp(14px,3.65vw,19px)}
}

/* Align the words themselves; hover decoration never includes the count. */
#appheader #mainnav a.active .nav-label,#appheader #mainnav a:hover .nav-label{text-decoration:none}
#appheader #mainnav .nav-label{position:relative;line-height:1.2}
#appheader #mainnav .nav-label::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .15s ease}
@media(hover:hover){#appheader #mainnav a:hover .nav-label::after{transform:scaleX(1)}}
#appheader #mainnav #count{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.65em;height:2.65em;padding:0;background:#FFD16A;color:#493323;font-family:Impact,"Arial Narrow",sans-serif;font-size:.78em;font-weight:900;line-height:1;letter-spacing:-.04em;vertical-align:baseline;text-decoration:none;transform:rotate(-9deg);clip-path:polygon(50.00% 0.00%,58.00% 9.79%,69.13% 3.81%,72.78% 15.91%,85.36% 14.64%,84.09% 27.22%,96.19% 30.87%,90.21% 42.00%,100.00% 50.00%,90.21% 58.00%,96.19% 69.13%,84.09% 72.78%,85.36% 85.36%,72.78% 84.09%,69.13% 96.19%,58.00% 90.21%,50.00% 100.00%,42.00% 90.21%,30.87% 96.19%,27.22% 84.09%,14.64% 85.36%,15.91% 72.78%,3.81% 69.13%,9.79% 58.00%,0.00% 50.00%,9.79% 42.00%,3.81% 30.87%,15.91% 27.22%,14.64% 14.64%,27.22% 15.91%,30.87% 3.81%,42.00% 9.79%)}
@media(min-width:1101px){
 header#appheader{align-items:baseline;gap:clamp(38px,4vw,72px)}
 #appheader>.brand{line-height:1.2}
 #appheader #mainnav{align-items:baseline}
 #appheader #mainnav a{position:relative;display:inline-flex;align-items:baseline;line-height:1.2;padding:12px 0}
 #appheader #mainnav .account-nav .nav-icon{align-self:center}
 #appheader #mainnav a[data-tab="recipes"]{padding-right:2.25em}
 #appheader #mainnav #count{position:absolute;right:0;top:50%;transform:translateY(-50%) rotate(-9deg)}
}
@media(max-width:1100px){
 #appheader #mainnav a[data-tab="recipes"]{flex-wrap:wrap}
 #appheader #mainnav #count{font-size:11px;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){#appheader #mainnav .nav-label::after{transition:none}}

.auth-links{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.gate-card #showlogin,.gate-card #backtoguest{margin-top:14px}.gate-card form[hidden]{display:none}

/* Recipe badge shares the fixed logo green. */
#appheader #mainnav #count{background:#BFD69C;color:#20392c}
@media(max-width:1100px){
 #appheader #mainnav a[data-tab="recipes"]{position:relative;flex-wrap:nowrap;margin-top:0}
 #appheader #mainnav a[data-tab="recipes"] #count{position:absolute;right:2px;top:0;margin:0;width:2.65em;height:2.65em;font-size:11px;transform:translateY(-70%) rotate(-15deg);pointer-events:none}
}

#introguestnote[hidden]{display:none}
