.spa-page{--spa-ink-strong:color-mix(in srgb,var(--primary) 52%,#000 48%);--spa-ink-strong-contrast:#fff;--spa-ink-strong-muted:color-mix(in srgb,#fff 78%,var(--primary) 22%);--spa-hairline:color-mix(in srgb,var(--border) 55%,var(--surface) 45%);--spa-hover-bg:color-mix(in srgb,var(--primary) 8%,var(--surface) 92%);min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:.9375rem;line-height:1.55;overflow-x:clip}.spa-page h1,.spa-page h2,.spa-page h3,.spa-page p{margin:0}.spa-page [id]{scroll-margin-top:80px}.spa-main{flex:1 1;display:flex;flex-direction:column}.spa-container{width:100%;max-width:1200px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.spa-band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.spa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spa-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.spa-title{font-family:var(--font-title);font-weight:700;font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.15;text-wrap:balance}.spa-lead{color:var(--text-2);text-wrap:pretty}.spa-heading{display:flex;flex-direction:column;gap:.625rem;max-width:640px}.spa-split-head{display:flex;flex-wrap:wrap;gap:1rem 3rem;align-items:flex-end;justify-content:space-between}.spa-split-head .spa-lead{max-width:420px}.spa-link{color:var(--primary);font-weight:500}.spa-link:hover{color:var(--primary);text-decoration:underline}.spa-pill{align-self:flex-start;font-size:.75rem;font-weight:600;padding:.2rem .625rem;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);color:var(--primary)}.spa-card{background:var(--surface);border:1px solid var(--border);border-radius:18px}.spa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--r-pill);border:1px solid transparent;font-weight:600;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.spa-btn--sm{padding:.5rem 1rem;font-size:.875rem}.spa-btn--lg{padding:.8rem 1.4rem}.spa-btn--primary,.spa-btn--primary:hover{color:var(--primary-contrast)}.spa-btn--primary{background:var(--primary)}.spa-btn--primary:hover{background:color-mix(in srgb,var(--primary) 86%,#000 14%)}.spa-btn--ghost,.spa-btn--ghost:hover{color:var(--text)}.spa-btn--ghost{background:var(--surface);border-color:var(--border)}.spa-btn--ghost:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border) 60%)}.spa-btn--inverse,.spa-btn--inverse:hover{color:var(--spa-ink-strong)}.spa-btn--inverse{background:#fff}.spa-btn--inverse:hover{background:color-mix(in srgb,#fff 90%,var(--primary) 10%)}.spa-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.spa-header__inner{display:flex;align-items:center;gap:.75rem 1.5rem;padding-top:.75rem;padding-bottom:.75rem}.spa-header__brand,.spa-header__brand:hover{color:var(--text)}.spa-header__nav{display:flex;flex:1 1;gap:.25rem;flex-wrap:wrap}.spa-header__link,.spa-header__link:hover{color:var(--text-2)}.spa-header__link{padding:.375rem .75rem;border-radius:8px;font-weight:500;white-space:nowrap;transition:background-color .15s ease}.spa-header__link:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.spa-header__actions{display:flex;gap:.5rem;align-items:center;margin-left:auto}.spa-brand{gap:.625rem}.spa-brand,.spa-brand__monogram{display:inline-flex;align-items:center}.spa-brand__monogram{width:32px;height:32px;border-radius:10px;background:var(--primary);color:var(--primary-contrast);justify-content:center;font:700 .875rem var(--font-title)}.spa-brand__wordmark{font:700 1.3rem var(--font-title)}.spa-brand__accent{color:var(--primary)}.spa-hero{display:flex;flex-wrap:wrap;gap:3rem;align-items:center;padding-top:4.5rem;padding-bottom:3.5rem}.spa-hero__copy{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:1.375rem}.spa-hero__phases{display:flex;gap:.375rem;flex-wrap:wrap}.spa-hero__phases .phase-chip{padding:.2rem .625rem}.spa-hero__title{font-family:var(--font-title);font-weight:700;font-size:clamp(2.375rem,5vw,3.75rem);line-height:1.05;letter-spacing:-.01em;text-wrap:balance}.spa-hero__lead{font-size:1.125rem;color:var(--text-2);max-width:520px;text-wrap:pretty}.spa-hero__actions{display:flex;gap:.625rem;flex-wrap:wrap}.spa-hero__highlights{list-style:none;margin:0;padding:0;display:flex;gap:.5rem 1.125rem;flex-wrap:wrap;color:var(--muted);font-size:.8125rem}.spa-hero__highlights li{display:inline-flex;align-items:center;gap:.375rem}.spa-checklist svg,.spa-hero__highlights svg{--phase-tone:#2c6e4a;color:color-mix(in srgb,var(--phase-tone) 80%,var(--text) 20%);flex-shrink:0}.spa-hero__preview{flex:1 1 440px;min-width:0;position:relative;padding:.75rem 0 2.25rem}.spa-preview{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 60px -24px rgba(30,42,90,.25);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.spa-preview__patient{display:flex;align-items:center;gap:.75rem}.spa-preview__avatar{width:42px;height:42px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.spa-preview__who{flex:1 1;min-width:0;display:flex;flex-direction:column}.spa-preview__who strong{font-weight:600}.spa-preview__label,.spa-preview__who span{font-size:.75rem;color:var(--muted)}.spa-preview__label{font-weight:500}.spa-preview__weeks{display:flex;gap:.375rem}.spa-preview__weeks span{flex:1 1;height:6px;border-radius:var(--r-pill);background:var(--border)}.spa-preview__weeks span.is-done{background:var(--primary)}.spa-preview__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.spa-preview__tile{border:1px solid var(--spa-hairline);border-radius:14px;padding:.875rem;display:flex;flex-direction:column;gap:.6rem}.spa-preview__value{display:flex;align-items:baseline;gap:.375rem}.spa-preview__value strong{font:700 1.75rem var(--font-title)}.spa-preview__value span{color:var(--muted);font-size:.8125rem}.spa-preview__bars{display:flex;align-items:flex-end;gap:4px;height:44px}.spa-preview__bars span{flex:1 1;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--primary) 30%,var(--surface) 70%)}.spa-preview__bars span.is-current{background:var(--primary)}.spa-preview__ok{--phase-tone:#2c6e4a;font-size:.75rem;font-weight:500;color:color-mix(in srgb,var(--phase-tone) 80%,var(--text) 20%)}.spa-preview__micro{display:flex;flex-direction:column;gap:.25rem;--micro-tone:color-mix(in srgb,var(--phase-tone) 80%,var(--text) 20%)}.spa-preview__micro-row{display:flex;justify-content:space-between;font-size:.75rem}.spa-preview__micro-row span{font-weight:500}.spa-preview__micro-row strong{font-weight:600;color:var(--micro-tone)}.spa-preview__track{height:5px;border-radius:var(--r-pill);background:var(--spa-hairline);overflow:hidden}.spa-preview__track span{display:block;height:100%;border-radius:var(--r-pill);background:var(--micro-tone)}.spa-preview__alert{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-radius:12px;background:color-mix(in srgb,var(--phase-tone) 10%,var(--surface) 90%);color:color-mix(in srgb,var(--phase-tone) 80%,var(--text) 20%);font-size:.8125rem}.spa-preview__alert svg{flex-shrink:0}.spa-preview__toast{position:absolute;left:-12px;bottom:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 30px -12px rgba(30,42,90,.25);padding:.625rem .875rem;display:flex;align-items:center;gap:.625rem;font-size:.8125rem}.spa-preview__toast>span:last-child{display:flex;flex-direction:column}.spa-preview__toast strong{font-weight:600}.spa-preview__toast>span:last-child>span{color:var(--muted)}.spa-preview__toast-icon{width:30px;height:30px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--phase-tone) 13%,var(--surface) 87%);color:color-mix(in srgb,var(--phase-tone) 80%,var(--text) 20%);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.spa-phases{padding-top:4.5rem;padding-bottom:4.5rem;display:flex;flex-direction:column;gap:2.25rem}.spa-phases__title{max-width:560px}.spa-phases__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.spa-phase{border-radius:18px;background:color-mix(in srgb,var(--phase-tone) 12%,var(--surface) 88%);padding:1.375rem;display:flex;flex-direction:column;gap:.875rem}.spa-phase__mark{display:flex;align-items:center;gap:.625rem;color:color-mix(in srgb,var(--phase-tone) 85%,var(--text) 15%)}.spa-phase__mark span{font-size:.75rem;font-weight:700;letter-spacing:.06em}.spa-phase h3{font:700 1.5rem var(--font-title);color:color-mix(in srgb,var(--phase-tone) 70%,var(--text) 30%)}.spa-phase ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:color-mix(in srgb,var(--phase-tone) 30%,var(--text) 70%)}.spa-why{display:flex;flex-wrap:wrap;gap:2rem 4rem;align-items:flex-start;padding-top:5rem}.spa-why__intro{flex:1 1 320px;display:flex;flex-direction:column;gap:.875rem}.spa-why__grid{flex:2 1 520px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.spa-value{padding:1.375rem;display:flex;flex-direction:column;gap:.625rem}.spa-value__icon{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--phase-tone) 12%,var(--surface) 88%);color:color-mix(in srgb,var(--phase-tone) 85%,var(--text) 15%);display:inline-flex;align-items:center;justify-content:center}.spa-value h3{font:700 1.25rem var(--font-title)}.spa-value p{color:var(--text-2);font-size:.875rem;text-wrap:pretty}.spa-features{padding-top:5rem;padding-bottom:5rem;display:flex;flex-direction:column;gap:2rem}.spa-features__body{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:stretch}.spa-features__list{flex:1 1 280px;max-width:100%;display:flex;flex-direction:column;gap:.25rem}.spa-features__tab{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.spa-features__tab:hover{background:var(--surface)}.spa-features__tab:focus-visible{outline:none;box-shadow:var(--focus)}.spa-features__tab.is-active{background:var(--surface);border-color:var(--border)}.spa-features__tab-icon{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--primary) 10%,var(--surface) 90%);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.spa-features__tab.is-active .spa-features__tab-icon{background:var(--primary);color:var(--primary-contrast)}.spa-features__tab-text{flex:1 1;min-width:0;display:flex;flex-direction:column}.spa-features__tab-text strong{font-weight:600}.spa-features__tab-text span{font-size:.8125rem;color:var(--muted)}.spa-features__tab-arrow{color:var(--border);flex-shrink:0}.spa-features__tab.is-active .spa-features__tab-arrow{color:var(--primary)}.spa-features__panel{flex:2 1 520px;min-width:0;border-radius:20px;padding:1.75rem;display:flex;flex-direction:column;gap:1.375rem}.spa-features__panel-head{display:flex;flex-direction:column;gap:.625rem}.spa-features__panel-head h3{font:700 1.75rem/1.2 var(--font-title);text-wrap:balance}.spa-features__panel-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.spa-checklist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.625rem}.spa-checklist li{display:flex;gap:.625rem;align-items:flex-start}.spa-checklist svg{margin-top:3px}.spa-features__outcome{border-radius:14px;background:var(--bg);padding:1.125rem;display:flex;flex-direction:column;gap:.5rem}.spa-features__outcome span{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.spa-features__outcome strong{font:700 1.2rem/1.35 var(--font-title);text-wrap:pretty}.spa-plans{padding-top:5rem;padding-bottom:5rem;display:flex;flex-direction:column;gap:2rem}.spa-plans__head{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between}.spa-segmented{display:flex;padding:4px;gap:2px;border-radius:var(--r-pill);background:var(--surface-2)}.spa-segmented__option{padding:.45rem 1rem;border-radius:var(--r-pill);border:none;background:transparent;color:var(--muted);font:600 .8125rem var(--font-body);cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.spa-segmented__option.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(20,23,43,.12)}.spa-segmented__option:focus-visible{outline:none;box-shadow:var(--focus)}.spa-plans__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem;align-items:stretch}.spa-plan{--plan-sub:var(--muted);--plan-check:color-mix(in srgb,#2c6e4a 80%,var(--text) 20%);border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:1.625rem;display:flex;flex-direction:column;gap:1.125rem}.spa-plan--featured{--plan-sub:var(--spa-ink-strong-muted);--plan-check:color-mix(in srgb,var(--primary) 35%,#fff 65%);background:var(--spa-ink-strong);border-color:var(--spa-ink-strong);color:var(--spa-ink-strong-contrast)}.spa-plan__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.spa-plan__top h3{font:700 1.5rem var(--font-title)}.spa-plan__badge{font-size:.75rem;font-weight:600;padding:.2rem .625rem;border-radius:var(--r-pill);background:hsla(0,0%,100%,.18);color:#fff}.spa-plan__price{display:flex;flex-direction:column;gap:.125rem}.spa-plan__amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:.375rem}.spa-plan__amount strong{font:700 2.5rem/1 var(--font-title)}.spa-plan__amount span,.spa-plan__tagline{font-size:.875rem;color:var(--plan-sub)}.spa-plan__note{font-size:.8125rem;color:var(--plan-sub)}.spa-plan__features{flex:1 1;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5625rem;font-size:.875rem}.spa-plan__features li{display:flex;gap:.625rem;align-items:flex-start}.spa-plan__features svg{margin-top:2px;flex-shrink:0;color:var(--plan-check)}.spa-plan__features li.is-excluded{color:var(--muted)}.spa-plan__features li.is-excluded svg{color:color-mix(in srgb,var(--muted) 75%,var(--surface) 25%)}.spa-plan__cta,.spa-plan__cta:hover{color:var(--text)}.spa-plan__cta{text-align:center;padding:.75rem;border-radius:var(--r-pill);font-weight:600;background:var(--surface);border:1px solid var(--border);transition:border-color .15s ease,background-color .15s ease}.spa-plan__cta:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border) 60%)}.spa-plan--featured .spa-plan__cta,.spa-plan--featured .spa-plan__cta:hover{color:var(--spa-ink-strong)}.spa-plan--featured .spa-plan__cta{background:#fff;border-color:transparent}.spa-plan--featured .spa-plan__cta:hover{background:color-mix(in srgb,#fff 90%,var(--primary) 10%)}.spa-plan__cta[aria-disabled=true]{pointer-events:none;opacity:.7}.spa-plans__current{color:var(--text-2);font-size:.875rem}.spa-faq{padding-top:5rem;padding-bottom:5rem;display:flex;flex-wrap:wrap;gap:2rem 4rem}.spa-faq__intro{flex:1 1 300px;display:flex;flex-direction:column;gap:.75rem}.spa-faq__list{flex:2 1 520px;min-width:0;display:flex;flex-direction:column;border-top:1px solid var(--border)}.spa-faq__item{border-bottom:1px solid var(--border)}.spa-faq__question{width:100%;display:flex;align-items:center;gap:1rem;padding:1.125rem 0;border:none;background:transparent;color:var(--text);font:600 1rem var(--font-body);text-align:left;cursor:pointer}.spa-faq__question:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}.spa-faq__question span{flex:1 1}.spa-faq__question svg{color:var(--muted);flex-shrink:0}.spa-faq__answer{padding:0 2.5rem 1.125rem 0;color:var(--text-2);text-wrap:pretty}.spa-final{padding-bottom:5rem}.spa-final__box{border-radius:24px;background:var(--spa-ink-strong);color:var(--spa-ink-strong-contrast);padding:3rem;display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between}.spa-final__copy{flex:1 1 420px;display:flex;flex-direction:column;gap:.625rem}.spa-final__copy p{color:var(--spa-ink-strong-muted)}.spa-footer{border-top:1px solid var(--border);background:var(--surface)}.spa-footer__grid{display:flex;flex-wrap:wrap;gap:2rem 4rem;padding-top:2.5rem;padding-bottom:2.5rem}.spa-footer__brand{flex:2 1 280px;display:flex;flex-direction:column;gap:.5rem}.spa-footer__brand p{color:var(--muted);font-size:.875rem;max-width:340px}.spa-footer__col{flex:1 1 160px;display:flex;flex-direction:column;gap:.375rem;font-size:.875rem}.spa-footer__col strong{font-weight:600}.spa-footer__col a,.spa-footer__col a:hover{color:var(--text-2)}.spa-footer__col a:hover{text-decoration:underline}.spa-footer__bottom{border-top:1px solid var(--spa-hairline);padding:1rem 1.5rem;text-align:center;font-size:.8125rem;color:var(--muted)}@media (min-width:1000px){.spa-why__intro{position:-webkit-sticky;position:sticky;top:96px}}@media (max-width:860px){.spa-header__inner{flex-wrap:wrap}.spa-header__nav{order:3;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -.75rem}.spa-header__nav::-webkit-scrollbar{display:none}}@media (max-width:640px){.spa-container{padding-left:1rem;padding-right:1rem}.spa-hero{padding-top:2.5rem;gap:2rem}.spa-faq__list,.spa-features__panel,.spa-final__copy,.spa-hero__copy,.spa-hero__preview,.spa-why__grid{flex-basis:100%}.spa-preview__toast{left:.5rem}.spa-faq,.spa-features,.spa-phases,.spa-plans{padding-top:3.5rem;padding-bottom:3.5rem}.spa-why{padding-top:3.5rem}.spa-features__panel{padding:1.25rem}.spa-final{padding-bottom:3.5rem}.spa-final__box{padding:2rem 1.5rem}.spa-faq__answer{padding-right:0}}@media (max-width:420px){.spa-header__actions .spa-btn--ghost{display:none}}@media (prefers-reduced-motion:reduce){.spa-btn,.spa-features__tab,.spa-header__link,.spa-plan__cta,.spa-segmented__option{transition:none}}@media print{body{background:#fff}.btn,.btn-icon,.print-hidden,.toast-container{display:none!important}.inline-edit{border:none!important;background:transparent!important;padding:0!important}.app-header,.inline-edit-actions{display:none!important}.app-shell{display:block!important}.app-sidebar,.mobile-nav{display:none!important}.card{border:none;padding:0}.card,.chart-card{box-shadow:none}.plan-layout{display:block}.plan-main,.plan-side{width:100%}.plan-side{margin-top:var(--space-5)}.meal-card,.meal-item-row,.plan-day-card,.plan-month-cell{break-inside:avoid;page-break-inside:avoid}.recipe-ingredients{display:grid!important}.card,.chart-card,.metric-card{break-inside:avoid;page-break-inside:avoid}.section-grid{gap:var(--space-4)}.chart-axis{font-size:.7rem}.chart-card svg{max-height:200px}.report-card{break-inside:auto;page-break-inside:auto}body[data-print-target=meal-plan-export]>:not(.meal-plan-export-print-root){display:none!important}body[data-print-target=meal-plan-export] .meal-plan-export-print-root{display:block!important;page:meal-plan}body[data-print-target=meal-plan-export] .mp-print{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@page meal-plan{size:A4;margin:16mm}