
:root{
  --nf-nl-width-wide:1120px;
  --nf-nl-width-shell:var(--nf-nl-width-wide);
  --nf-nl-width-calculator:960px;
  --nf-nl-width-standard:1040px;
  --nf-nl-tool-gap:24px;
  --nf-nl-section-gap:32px;
  --nf-nl-ink:#f4f8fb;
  --nf-nl-muted:#b8cad8;
  --nf-nl-line:rgba(144,190,218,.24);
  --nf-nl-line-strong:rgba(125,202,244,.42);
  --nf-nl-surface:rgba(6,17,26,.82);
  --nf-nl-surface-strong:rgba(7,21,32,.94);
  --nf-nl-accent:#69c4fb;
  --nf-nl-accent-ink:#06131d;
  --nf-nl-radius:16px;
  --nf-nl-control-height:44px;
}

html:has(body #nf #neuform-lab){scrollbar-gutter:stable}
body:has(#nf #neuform-lab)>#Footer{overflow-x:clip}

/* Authenticated Designer structure: shared ancestors stay visible and unconstrained. */
body #nf,
body #nf>.wrap,
body #nf>.wrap>main#neuform-lab.nf-lab-container,
body #nf>.wrap>.nf-welcome-runtime-host,
main#neuform-lab.nf-lab-container>[data-nl-visual-root],
main#neuform-lab.nf-lab-container>[data-nl-group]{
  background-color:transparent!important;
  background-image:none!important;
}
body #nf,
body #nf>.wrap{
  position:static;
  width:auto;
  height:auto;
  min-width:0;
  min-height:0;
  overflow:visible;
  border:0;
}
body #nf>.wrap>main#neuform-lab.nf-lab-container{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  width:auto;
  max-width:none;
  height:auto;
  min-width:0;
  min-height:0;
  margin:0 16px;
  padding:24px 0 72px;
  overflow:visible;
  color:var(--nf-nl-ink);
  border:0;
}

/* Only the authenticated 10/10 direct-child visual roots receive group visibility. */
main#neuform-lab.nf-lab-container>[data-nl-visual-root]{
  box-sizing:border-box;
  align-self:center;
  width:min(100%,var(--nf-nl-width-standard));
  max-width:100%;
  scroll-margin-top:calc(var(--nf-header-offset,69px) + 80px);
  height:auto;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  opacity:1;
}
main#neuform-lab.nf-lab-container>[data-nl-visual-root][data-nl-width-tier="calculator"]{
  width:min(100%,var(--nf-nl-width-calculator));
}
main#neuform-lab.nf-lab-container>[data-nl-visual-root][data-nl-width-tier="standard"]{
  width:min(100%,var(--nf-nl-width-standard));
}
main#neuform-lab.nf-lab-container>[data-nl-visual-root][data-nl-width-tier="wide"]{
  width:min(100%,var(--nf-nl-width-wide));
}

/* Keep Plan embeds centered while repairing live Webflow height constraints. */
main#neuform-lab.nf-lab-container>[data-nl-plan-host-chain]{
  box-sizing:border-box;
  align-self:center!important;
  width:min(100%,var(--nf-nl-width-standard))!important;
  max-width:100%!important;
  min-width:0!important;
  margin-inline:auto!important;
}
main#neuform-lab.nf-lab-container>[data-nl-visual-root][data-nl-group-active="true"]{
  display:block;
}
main#neuform-lab.nf-lab-container>[data-nl-visual-root][data-nl-group-active="true"]~[data-nl-visual-root][data-nl-group-active="true"]{
  margin-top:var(--nf-nl-tool-gap);
}
main#neuform-lab.nf-lab-container>[data-nl-visual-root][data-nl-group-active="false"],
main#neuform-lab.nf-lab-container>[data-nl-visual-root][hidden]{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
}
main#neuform-lab.nf-lab-container>[data-nl-welcome-source]{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
}

/* Compact task navigation. Profile details stay in normal document flow. */
body #nf>.wrap>.nf-welcome-runtime-host[data-nl-workspace-shell]{
  box-sizing:border-box;
  position:relative;
  z-index:1200;
  width:min(calc(100% - 32px),var(--nf-nl-width-shell));
  max-width:var(--nf-nl-width-shell);
  min-width:0;
  height:auto;
  min-height:0;
  margin:0 auto;
  padding:0;
  overflow:visible;
  border:0;
}
.nf-welcome-sentinel[data-nl-welcome-sentinel]{
  display:block;
  width:100%;
  height:1px;
  min-height:1px;
  pointer-events:none;
}
body #nf>.wrap>.nf-welcome-runtime-host[data-nl-workspace-shell].is-compact,
body #nf>.wrap>.nf-welcome-runtime-host[data-nl-workspace-shell][data-nl-compact="true"]{
  position:sticky;
  top:calc(var(--nf-header-offset,69px) + 8px);
}
.nf-welcome-runtime-host [data-nf-welcome]{
  box-sizing:border-box;
  display:grid;
  gap:8px;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  width:100%;
  min-width:0;
  margin:0;
  padding:8px 16px;
  color:var(--nf-nl-ink);
  background:
    var(
      --nf-glass-bg,
      radial-gradient(760px 220px at 50% 0%,rgba(52,152,219,.10),transparent 72%),
      linear-gradient(180deg,rgba(0,0,0,.94),rgba(2,8,14,.98))
    );
  border:var(--nf-glass-border,1px solid rgba(52,152,219,.28));
  border-radius:var(--nf-nl-radius);
  box-shadow:var(
    --nf-glass-shadow,
    0 24px 64px rgba(0,0,0,.58),
    0 0 0 1px rgba(52,152,219,.05) inset
  );
  backdrop-filter:var(--nf-glass-blur,blur(12px));
  -webkit-backdrop-filter:var(--nf-glass-blur,blur(12px));
}
.nf-welcome__orientation{
  display:grid;
  gap:6px;
}
.nf-welcome__orientation h2,
.nf-welcome__orientation p,
.nf-welcome__recommendation p,
.nf-welcome__resume p,
.nf-welcome__safety{
  margin:0;
}
.nf-welcome__orientation h2{
  color:var(--nf-nl-ink);
  font-size:1.2rem;
  line-height:1.15;
}
.nf-welcome__orientation>p:last-child{
  max-width:68ch;
  color:var(--nf-nl-muted);
}
.nf-welcome__eyebrow,
.nf-welcome__recommendation-label{
  color:var(--nf-nl-accent);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nf-workspace-nav{
  grid-column:1/-1;
  grid-row:2;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  min-width:0;
  margin:0;
}
.nf-workspace-nav button{
  box-sizing:border-box;
  display:grid;
  gap:2px;
  align-content:center;
  width:100%;
  min-width:0;
  min-height:var(--nf-nl-control-height);
  padding:8px 10px;
  color:var(--nf-nl-ink);
  font:inherit;
  font-weight:800;
  text-align:center;
  background:rgba(14,35,49,.88);
  border:1px solid rgba(142,197,228,.34);
  border-radius:12px;
  cursor:pointer;
}
.nf-workspace-nav button small{
  overflow:hidden;
  color:var(--nf-nl-muted);
  font-size:.72rem;
  font-weight:650;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nf-workspace-nav button[aria-current="page"],
.nf-workspace-nav button[aria-pressed="true"]{
  color:var(--nf-nl-accent-ink);
  background:var(--nf-nl-accent);
  border-color:#a9e1ff;
}
.nf-welcome__recommendation{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 18px;
  align-items:center;
  min-width:0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
}
.nf-welcome__recommendation-copy{
  display:grid;
  gap:4px;
  min-width:0;
}
.nf-welcome__recommendation-label{display:none}
.nf-welcome__recommendation-copy strong{
  color:var(--nf-nl-ink);
}
.nf-welcome__recommendation-copy p{
  color:var(--nf-nl-muted);
  font-size:.9rem;
}
.nf-welcome__recommendation button,
.nf-welcome__resume button,
.nf-sticky-brief.nf-sticky-jobs button{
  box-sizing:border-box;
  min-height:var(--nf-nl-control-height);
  padding:8px 14px;
  color:var(--nf-nl-accent-ink);
  font:inherit;
  font-weight:850;
  background:var(--nf-nl-accent);
  border:1px solid #a9e1ff;
  border-radius:999px;
  cursor:pointer;
}
.nf-target-review{min-width:0;padding:12px;border:1px solid var(--nf-nl-line);border-radius:12px;}
.nf-target-review summary{cursor:pointer;font-weight:750;min-height:44px;display:list-item;padding-block:10px;box-sizing:border-box;}
.nf-target-review ul{padding:0;list-style:none;display:grid;gap:12px;}
.nf-target-review li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;}
.nf-target-review li strong,.nf-target-review li span{flex:1 1 100%;overflow-wrap:anywhere;}
.nf-target-review button{min-height:44px;font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:8px;padding:6px 12px;}
.nf-welcome__resume{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--nf-nl-muted);
}
.nf-welcome__resume[hidden]{
  display:none!important;
}
.nf-welcome__safety{
  color:var(--nf-nl-muted);
  font-size:.86rem;
}
.nf-sticky-brief.nf-sticky-jobs{
  display:none;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
}
.nf-sticky-brief__context{
  display:grid;
  gap:2px;
  min-width:0;
}
.nf-sticky-brief__context span{
  color:var(--nf-nl-accent);
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nf-sticky-brief__context strong{
  overflow:hidden;
  color:var(--nf-nl-ink);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.nf-welcome-runtime-host.is-compact [data-nf-welcome],
.nf-welcome-runtime-host[data-nl-compact="true"] [data-nf-welcome]{
  grid-template-columns:1fr;
  gap:0;
  padding:10px;
  border-radius:13px;
  box-shadow:0 10px 26px rgba(0,0,0,.32);
}
.nf-welcome-runtime-host.is-compact .nf-welcome__orientation,
.nf-welcome-runtime-host.is-compact .nf-welcome__recommendation { display:none; }
.nf-profile-context { grid-column:2; grid-row:1; min-width:0; color:var(--nf-nl-muted); }
.nf-profile-context[open] { grid-column:1/-1; grid-row:3; }
.nf-profile-context .nf-welcome__recommendation { display:grid; margin-block:12px; }
.nf-profile-context>summary { cursor:pointer; min-height:44px; padding:10px 0; box-sizing:border-box; font-weight:700; }
.nf-profile-context>button { font:inherit; min-height:44px; padding:8px 12px; border:1px solid var(--nf-nl-line-strong); border-radius:9px; color:var(--nf-nl-ink); background:transparent; }
.nf-profile-context [data-nl-target-overview] { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px 20px; margin:14px 0; }
.nf-profile-context [data-nl-target-overview] p { margin:0; font-size:.9rem; }
@media(min-width:768px){
.nf-welcome-runtime-host.is-compact [data-nf-welcome]{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.nf-welcome-runtime-host.is-compact .nf-workspace-nav{grid-column:1;grid-row:1}
}
.nf-welcome-runtime-host{scroll-margin-top:calc(var(--nf-header-offset,69px) + 8px)}
body #nf>.wrap>.nf-welcome-runtime-host:has(details[open]) { position:relative; top:auto; }
@media(max-width:767px),(max-height:600px) {
  body #nf>.wrap>.nf-welcome-runtime-host[data-nl-workspace-shell].is-compact { position:relative; top:auto; }
}

/* Tool, section, result-summary, card, and control hierarchy. */
[data-nl-visual-root]{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
}
#tdee-tool,
#goal-tool,
#protein-tool,
#hydration-tool,
#macro-tool,
#week-planner-tool,
#meal-planner-tool,
#meal-prep-planner-tool,
#pantry-tool,
#recipe-generator-tool,
#progress-tool{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  margin:0;
  color:var(--nf-nl-ink);
  background-color:var(--nf-nl-surface);
  background-image:none!important;
  border:1px solid var(--nf-nl-line);
  border-radius:var(--nf-nl-radius);
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}
[data-nl-tool-header]{
  box-sizing:border-box;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
[data-nl-tool-header] h2{
  min-width:0;
  margin-block-start:0;
}
#neuform-lab [data-nl-tool-toggle]{
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  min-width:44px;
  min-height:44px;
  max-width:100%;
  padding:9px 12px;
  color:#f4f8fb;
  background-color:#0a1e2c;
  background-image:none;
  border:1px solid #69c4fb;
  border-color:#69c4fb;
  border-radius:10px;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset;
  font:inherit;
  font-size:.8125rem;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  touch-action:manipulation;
}
#neuform-lab [data-nl-tool-toggle]::after{
  content:"";
  display:block;
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);
  transform-origin:center;
}
#neuform-lab [data-nl-tool-toggle][aria-expanded="true"]::after{
  transform:rotate(225deg) translate(-1px,-1px);
}
#neuform-lab [data-nl-tool-toggle]:hover{
  color:#fff;
  background-color:#12364e;
  border-color:#9addff;
}
#neuform-lab [data-nl-tool-toggle]:active{
  color:#fff;
  background-color:#061925;
  border-color:#69c4fb;
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset;
  transform:translateY(1px);
}
#neuform-lab [data-nl-tool-toggle]:focus-visible{
  outline:3px solid #a9e1ff;
  outline-offset:3px;
}
[data-nl-tool-body]{
  box-sizing:border-box;
  min-width:0;
  min-height:0;
  row-gap:var(--nf-nl-section-gap);
}
[data-nl-tool-body][hidden]{
  display:none!important;
}
[data-nl-result-summary-host]{
  box-sizing:border-box;
  min-width:0;
  margin-block:var(--nf-nl-section-gap) 0;
}
[data-nl-result-summary-host]:empty{
  display:none;
  margin:0;
}
.nf-calc-summary{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 14px;
  align-items:center;
  min-width:0;
  padding:14px;
  color:var(--nf-nl-ink);
  background:rgba(8,27,40,.94);
  border:1px solid var(--nf-nl-line-strong);
  border-radius:14px;
}
.nf-calc-summary__status{
  grid-column:1/-1;
  color:var(--nf-nl-accent);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.nf-calc-summary__value{
  min-width:0;
  overflow-wrap:anywhere;
}
.nf-calc-summary__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.nf-calc-summary__actions button{
  box-sizing:border-box;
  min-height:40px;
  padding:6px 12px;
  color:var(--nf-nl-ink);
  background:rgba(105,196,251,.14);
  border:1px solid var(--nf-nl-line-strong);
  border-radius:999px;
}
#neuform-lab .nf-card,
#neuform-lab .nf-panel,
#neuform-lab .result-card,
#neuform-lab .nf-result-shell{
  box-sizing:border-box;
  min-width:0;
  color:var(--nf-nl-ink);
  background-color:rgba(9,25,37,.82);
  background-image:none;
  border-color:var(--nf-nl-line);
}
#neuform-lab input:not([type="checkbox"]):not([type="radio"]),
#neuform-lab select,
#neuform-lab textarea,
#neuform-lab button{
  max-width:100%;
}
#neuform-lab input:not([type="checkbox"]):not([type="radio"]),
#neuform-lab select,
#neuform-lab textarea{
  box-sizing:border-box;
  min-height:var(--nf-nl-control-height);
  color:var(--nf-nl-ink);
  background-color:rgba(4,13,21,.9);
  border-color:rgba(149,200,229,.38);
}
#neuform-lab button,
.nf-welcome-runtime-host button{
  touch-action:manipulation;
}
#neuform-lab button:focus-visible,
#neuform-lab input:focus-visible,
#neuform-lab select:focus-visible,
#neuform-lab textarea:focus-visible,
.nf-welcome-runtime-host button:focus-visible{
  outline:3px solid #a9e1ff;
  outline-offset:3px;
}
#week-planner-tool .week-grid,
#week-planner-tool .nf-week-grid,
#meal-planner-tool .meal-grid,
#meal-planner-tool .nf-meal-grid{
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}
#pantry-tool .pantry-grid,
#pantry-tool .nf-pantry-grid,
#recipe-generator-tool .recipe-grid,
#recipe-generator-tool .nf-recipe-grid{
  min-width:0;
}
#progress-tool canvas,
#progress-tool svg{
  max-width:100%;
  height:auto;
}
#nf-upgrade-modal,
#pd-suggestion-dialog{
  z-index:10000;
}
#pd-suggestion-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;}
#pd-suggestion-dialog>.card{box-sizing:border-box;min-width:0;width:100%;margin:0;}
#neuform-lab .nf-sticky-actions,
#neuform-lab [data-nl-sticky-controls]{
  z-index:900;
}

@media(max-width:991px){
  body #nf>.wrap>main#neuform-lab.nf-lab-container{
    margin-inline:12px;
    padding-top:18px;
  }
  body #nf>.wrap>.nf-welcome-runtime-host[data-nl-workspace-shell]{
    width:min(calc(100% - 24px),var(--nf-nl-width-shell));
  }
}

@media(max-width:767px){
  body #nf>.wrap>main#neuform-lab.nf-lab-container{
    margin-inline:8px;
    padding-top:12px;
    padding-bottom:56px;
  }
  body #nf>.wrap>.nf-welcome-runtime-host[data-nl-workspace-shell]{
    width:calc(100% - 16px);
  }
  .nf-welcome-runtime-host [data-nf-welcome]{
    padding:8px;
  }
  .nf-workspace-nav{
    grid-template-columns:repeat(auto-fit,minmax(90px,1fr));
  }
  .nf-welcome__recommendation{
    grid-template-columns:1fr;
  }
  .nf-welcome__recommendation button{
    justify-self:start;
  }
  .nf-welcome-runtime-host.is-compact [data-nf-welcome],
  .nf-welcome-runtime-host[data-nl-compact="true"] [data-nf-welcome]{
    padding:8px;
  }
  #tdee-tool,
  #goal-tool,
  #protein-tool,
  #hydration-tool,
  #macro-tool,
  #week-planner-tool,
  #meal-planner-tool,
  #meal-prep-planner-tool,
  #pantry-tool,
  #recipe-generator-tool,
  #progress-tool{
    border-radius:14px;
  }
  [data-nl-tool-header]{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:8px 10px;
  }
  [data-nl-tool-header] h2{
    grid-column:1;
    min-width:0;
    overflow-wrap:anywhere;
  }
  [data-nl-tool-header] .lede,
  [data-nl-tool-header] .nl-compact-details{
    grid-column:1/-1;
    min-width:0;
    max-width:100%;
  }
  [data-nl-tool-header] [data-nl-tool-toggle]{
    grid-column:2;
    grid-row:1;
  }
  .nf-calc-summary{
    grid-template-columns:1fr;
  }
  .nf-calc-summary__actions{
    justify-content:flex-start;
  }
}

@media(max-width:479px){
  body #nf{
    align-self:stretch;
  }
  body #nf>.wrap>main#neuform-lab.nf-lab-container{
    margin-inline:6px;
  }
  body #nf>.wrap>.nf-welcome-runtime-host[data-nl-workspace-shell]{
    width:calc(100% - 12px);
  }
  .nf-workspace-nav button{
    padding-inline:7px;
    text-align:center;
  }
  .nf-workspace-nav button small{
    display:none;
  }
  .nf-welcome__resume{
    display:grid;
    justify-content:stretch;
  }
  .nf-welcome__resume button{
    justify-self:start;
  }
  .nf-welcome-runtime-host.is-compact [data-nf-welcome],
  .nf-welcome-runtime-host[data-nl-compact="true"] [data-nf-welcome]{
    padding:6px;
  }
  .nf-sticky-brief.nf-sticky-jobs{
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
  }
  .nf-sticky-brief.nf-sticky-jobs button{
    min-height:40px;
    padding:6px 10px;
  }
  .nf-calc-summary__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:359px){
  #neuform-lab [data-nl-tool-toggle]{
    min-width:44px;
    min-height:44px;
    padding-inline:8px;
    font-size:.75rem;
  }
  .nf-welcome-runtime-host [data-nf-welcome]{
    padding:10px;
  }
  .nf-workspace-nav{
    gap:6px;
  }
  .nf-welcome__recommendation{
    padding:10px;
  }
}

/* Nutrition Lab visual refinement. Presentation only; no state, gating or warning changes. */
#nf:has(#neuform-lab){
  --nf-nl-ink:#edf4fa;
  --nf-nl-muted:#b5c6d3;
  --nf-nl-line:rgba(145,176,196,.22);
  --nf-nl-line-strong:#557186;
  --nf-nl-surface:rgba(8,20,30,.97);
  --nf-nl-surface-strong:#0e2230;
  --nf-nl-accent:#78ccf8;
  --nf-nl-accent-ink:#071925;
  --nf-nl-tool-gap:24px;
}
#nf .nf-welcome-runtime-host [data-nf-welcome]{
  padding:6px 12px;
  gap:6px 14px;
  background:#08151f;
  border:1px solid #2b4353;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
#nf .nf-welcome__orientation h2{font-size:1.075rem;font-weight:700;letter-spacing:-.025em;line-height:1.3}
#nf .nf-profile-context>summary{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:44px;padding:8px 0;font-size:.8125rem;font-weight:600;line-height:1.3;
  color:var(--nf-nl-muted);list-style:none;
}
#nf .nf-profile-context>summary::-webkit-details-marker{display:none}
#nf .nf-profile-context>summary::after{
  content:"";display:block;flex:0 0 6px;width:6px;height:6px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);
}
#nf .nf-profile-context[open]>summary::after{transform:rotate(225deg)}
#nf .nf-profile-context[open]{border-top:1px solid var(--nf-nl-line);padding-top:8px}
#nf .nf-profile-context [data-nl-target-overview]{gap:14px 24px;margin-block:16px}
#nf .nf-workspace-nav{gap:4px;min-width:0}
#nf .nf-workspace-nav>[data-nl-workspace-target]{
  font:600 .875rem/1.2 Inter,sans-serif;min-height:44px;
  background:transparent;border-color:transparent;border-radius:9px;
  color:var(--nf-nl-muted);box-shadow:none;transition:background-color .14s ease,color .14s ease;
}
#nf .nf-workspace-nav>[data-nl-workspace-target][aria-current="page"],
#nf .nf-workspace-nav>[data-nl-workspace-target][aria-pressed="true"]{
  color:var(--nf-nl-accent-ink);background:var(--nf-nl-accent);border-color:transparent;
}
#nf .nf-workspace-nav>[data-nl-workspace-target]:not([aria-current="page"]):hover{background:#173347;color:#edf4fa}
#neuform-lab :is(#tdee-tool,#goal-tool,#protein-tool,#hydration-tool,#macro-tool,#week-planner-tool,#meal-planner-tool,#meal-prep-planner-tool,#pantry-tool,#recipe-generator-tool,#progress-tool){
  background-color:var(--nf-nl-surface);border-color:var(--nf-nl-line);
  box-shadow:0 10px 30px rgba(0,0,0,.17);border-radius:16px;
}
#neuform-lab [data-nl-tool-header]{background:transparent!important;box-shadow:none!important}
#neuform-lab :is([data-nl-tool-header],.wp-header,.mp-header,.pp-header) h2{
  color:var(--nf-nl-ink);font-size:clamp(1.2rem,1.75vw,1.625rem);font-weight:700;letter-spacing:-.03em;line-height:1.25;
}
#neuform-lab :is(.lede,.hint,.muted){color:var(--nf-nl-muted);line-height:1.55;font-weight:400}
#neuform-lab label{font-weight:600;line-height:1.45}
#neuform-lab :is(.btn,.wp-primary,.mp-primary,.pp-primary,[data-nl-tool-toggle],.nf-calc-summary__actions button){
  font-family:Inter,sans-serif;font-weight:600;min-height:44px;
  border-radius:10px;box-shadow:none;letter-spacing:0;line-height:1.3;
}
#neuform-lab :is(.btn.primary,.wp-primary,.mp-primary,.pp-primary):not(:disabled){
  color:#071925!important;background:#78ccf8!important;border-color:#78ccf8!important;box-shadow:none!important;
}
#neuform-lab :is(.btn.primary,.wp-primary,.mp-primary,.pp-primary):not(:disabled):hover{background:#9adafb!important;border-color:#9adafb!important}
#neuform-lab :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){
  color:var(--nf-nl-ink);background-color:#091722;border-color:#557186;
  border-radius:9px;font-family:Inter,sans-serif;font-weight:400;line-height:1.4;
}
#neuform-lab :is(.nf-card,.nf-panel,.result-card,.nf-result-shell){background-color:#0d202c;border-color:var(--nf-nl-line);box-shadow:none}
#neuform-lab .nf-calc-summary{background:#0e2534;border-color:#31576d;border-radius:12px;padding:16px}
#neuform-lab .nf-calc-summary__status{font-weight:600;letter-spacing:.045em}
#neuform-lab .nf-calc-summary__value{font-variant-numeric:tabular-nums}
#neuform-lab :is(td,th){line-height:1.5}
#neuform-lab td{font-weight:400}
#neuform-lab #week-planner-tool .wp-setup>button{align-self:end;min-height:44px;padding:10px 12px;font-weight:600}
#neuform-lab :is(.wp-actions,.mp-actions,.pp-actions){gap:10px}
#neuform-lab :is(.wp-actions,.mp-actions,.pp-actions)>button{min-height:44px;font-weight:600}
#nf :is(.nf-workspace-nav button,.nf-profile-context>summary):focus-visible,
#neuform-lab :is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid #a8e1ff;outline-offset:3px}
@media(min-width:768px){
  #nf .nf-welcome-runtime-host [data-nf-welcome]{grid-template-columns:auto minmax(0,1fr) auto}
  #nf .nf-welcome__orientation{grid-row:1;grid-column:1}
  #nf .nf-workspace-nav{grid-column:2;grid-row:1}
  #nf .nf-profile-context{grid-column:3;grid-row:1}
  #nf .nf-profile-context[open]{grid-column:1/-1;grid-row:2}
  #nf .nf-welcome-runtime-host.is-compact [data-nf-welcome]{grid-template-columns:minmax(0,1fr) auto}
  #nf .nf-welcome-runtime-host.is-compact .nf-workspace-nav{grid-column:1}
  #nf .nf-welcome-runtime-host.is-compact .nf-profile-context{grid-column:2}
  #nf .nf-welcome-runtime-host.is-compact .nf-profile-context[open]{grid-column:1/-1}
}
@media(max-width:767px){
  /* The recipe runtime injects a later flex rule. ID-scoped ownership prevents
     width:100% plus flex:0 0 auto from turning every tab into a full-width page. */
  #nf .nf-workspace-nav{
    display:grid!important;grid-template-columns:repeat(5,minmax(min-content,1fr))!important;
    gap:4px!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:0!important;overscroll-behavior-inline:contain;
  }
  #nf .nf-workspace-nav>[data-nl-workspace-target]{
    width:100%!important;min-width:0!important;min-height:44px!important;
    font-size:.78125rem!important;padding:7px 2px!important;white-space:nowrap;
  }
  #nf .nf-welcome-runtime-host [data-nf-welcome]{padding:6px 8px;gap:4px 10px}
  #neuform-lab :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
  #neuform-lab :is(.wp-actions,.mp-actions,.pp-actions)>button{flex:1 1 145px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  #nf .nf-workspace-nav>[data-nl-workspace-target]{transition:none}
}

#nf .nf-workspace-nav>[data-nl-workspace-target]:focus-visible{outline-offset:-3px}

/* Native controls: preserve a generous label target without stretching the checkbox. */
#neuform-lab #meal-prep-planner-tool input[type="checkbox"]{
  width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;
  flex:0 0 20px;align-self:center;margin:0;accent-color:var(--nf-nl-accent);
}
#neuform-lab #meal-prep-planner-tool label:has(>#pp-ready-only){
  display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px;cursor:pointer;
}
#neuform-lab #week-planner-tool :is(#wp-mode,#wp-phase,#wp-cycle){
  height:44px!important;min-height:44px!important;align-self:start;
}

/* The shared .nf wrapper forces transparent !important. This actual workspace
   surface must retain the same glass layers and opaque backing as the tool
   tiles, including compact/sticky and expanded-profile states. Wrapper and
   page backgrounds deliberately remain untouched. */
#nf .nf-welcome-runtime-host [data-nf-welcome]{
  background:radial-gradient(760px 220px at 50% 0%,rgba(52,152,219,.12),transparent 72%),linear-gradient(180deg,rgba(6,10,14,.96),rgba(2,8,13,.99))!important;
  background-color:#02080e!important;
  border:var(--nf-glass-border,1px solid rgba(52,152,219,.28));
}
