*{box-sizing:border-box}:root{--bg:#f4f7f6;--surface:rgba(255,255,255,0.86);--surface-strong:#ffffff;--text:#163126;--muted:#5e746a;--line:#dfe9e3;--line-strong:#d3e0d9;--green:#0f9f62;--green-dark:#0f6b46;--green-soft:#eef8f3;--shadow:0 16px 40px rgba(18,52,39,0.08);--shadow-soft:0 8px 24px rgba(18,52,39,0.05);--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px}html{font-family:Arial,Helvetica,sans-serif}body{margin:0;background:radial-gradient(circle at top left,rgba(20,148,93,.06),transparent 25%),radial-gradient(circle at top right,rgba(25,184,117,.06),transparent 20%),linear-gradient(180deg,#f6f9f7,#eef5f1);color:var(--text)}button,input,select,textarea{font:inherit}.page{min-height:100vh;padding:10px 14px 36px}.container{max-width:1180px;margin:0 auto}.hero-shell{margin-bottom:16px}.hero-bar{display:flex;flex-direction:column;gap:12px;padding:10px 6px 0}.hero-brand{text-align:center}.hero-brand-badge{display:inline-flex;padding:6px 12px;border-radius:999px;background:rgba(15,159,98,.08);border:1px solid rgba(15,159,98,.14);color:var(--green-dark);font-size:.82rem;font-weight:700;letter-spacing:.02em;margin-bottom:10px}.hero-actions{display:flex;justify-content:center}.hero-button{min-width:180px}.title{margin-top:0;margin-bottom:6px;font-size:2.2rem;letter-spacing:-.03em}.subtitle,.title{text-align:center}.subtitle{margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;grid-gap:18px;gap:18px}.grid>.card{min-width:0;max-width:100%}.grid-apple{align-items:start}@media (min-width:980px){.grid{grid-template-columns:minmax(0,390px) minmax(0,1fr)}}.card{background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-xl);padding:18px;box-shadow:var(--shadow)}.form-card,.results-card{position:relative}.card h2{margin-top:0;margin-bottom:16px;font-size:1.4rem;letter-spacing:-.02em}.card-topline{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--green-dark);margin-bottom:8px}.form-row{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.form-group,.form-row>*{min-width:0}.form-row-2{grid-template-columns:minmax(0,1fr)}@media (min-width:680px){.form-row{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-group{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.form-group label{font-size:.93rem;font-weight:700;color:#214437}.input,.select{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:14px;background:rgba(255,255,255,.92);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.input:focus,.select:focus,.textarea:focus{border-color:rgba(15,159,98,.45);box-shadow:0 0 0 4px rgba(15,159,98,.08)}.textarea{min-height:92px;resize:vertical}.button{width:100%;border:0;border-radius:16px;padding:14px 16px;background:var(--green);color:white;font-weight:700;cursor:pointer;transition:transform .15s ease,opacity .2s ease,box-shadow .2s ease}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px rgba(15,159,98,.2)}.button:disabled{opacity:.7;cursor:not-allowed}.primary-cta{margin-top:8px;min-height:52px;font-size:1rem;letter-spacing:-.01em}.secondary-button{width:auto;padding:11px 15px;background:rgba(234,246,239,.92);color:var(--green-dark);border:1px solid #bfdacb;box-shadow:none}.secondary-button:hover:not(:disabled){background:#e2f3ea;box-shadow:0 8px 16px rgba(15,107,70,.08)}.result-block{white-space:pre-wrap;line-height:1.6}.small{font-size:.95rem;color:var(--muted)}.error{color:#b42318;border-radius:14px;background:#fff2f0;border:1px solid #f3c7c0}.error,.save-success{font-weight:700;padding:12px 14px;margin-top:10px}.save-success{border-radius:14px;background:#edf9f2;border:1px solid #cfe8da;color:var(--green-dark)}.loading-box{margin-top:8px;padding:18px;border:1px solid #d7e6dd;border-radius:22px;background:linear-gradient(180deg,#fbfdfb,#f3faf6);text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.loading-text{font-weight:700;margin:12px 0 8px;font-size:1rem;color:var(--green-dark)}.spinner{width:36px;height:36px;margin:0 auto;border:4px solid #dce9e1;border-top:4px solid var(--green);border-radius:50%;animation:spin .9s linear infinite}.progress-bar{width:100%;height:12px;background:#dfeae4;border-radius:999px;overflow:hidden;margin:14px 0 16px}.progress-fill{height:100%;background:linear-gradient(90deg,#0f9f62,#19b875);transition:width .45s ease;border-radius:999px}.stages-progress{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.stage-chip{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:14px;background:#eef5f1;color:#4b6458;text-align:left;transition:all .25s ease;border:1px solid transparent}.stage-chip.done{background:#dff4e7;color:#0e7a4d;font-weight:700;border-color:#bde4cb}.stage-chip.active{background:#edf8f2;color:var(--green);font-weight:700;border:1px solid #b8dfc8;box-shadow:0 0 0 3px rgba(15,159,98,.08)}.stage-icon{width:20px;display:inline-flex;justify-content:center;flex-shrink:0}.field-help{display:block;margin-top:4px;font-size:.88rem;line-height:1.45;color:var(--muted)}.results-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.shopping-box{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:22px;background:rgba(248,252,249,.9)}.section-heading{margin:0;font-size:1.12rem;color:var(--green-dark);letter-spacing:-.02em}.fitness-section-header{display:grid;grid-gap:4px;gap:4px;margin-bottom:12px}.fitness-section-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.metrics-stack,.nutrition-summary{display:grid;grid-gap:12px;gap:12px}.fitness-metric-card,.summary-row{padding:14px;border-radius:18px;background:rgba(243,248,245,.95);border:1px solid #e0ebe4}.summary-help{margin:8px 0 0;color:var(--muted);line-height:1.55}.fitness-metric-top{display:flex;align-items:flex-start;gap:12px}.fitness-metric-emoji{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:white;border:1px solid var(--line);flex-shrink:0;font-size:1rem}.fitness-energy-card{padding:16px;border-radius:20px;background:linear-gradient(180deg,#f6fbf8,#eef8f2);border:1px solid #d9e9df}.fitness-energy-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:white;border:1px solid #d5e6dc;color:var(--green-dark);font-weight:700}.fitness-energy-text{margin-top:12px}.fitness-energy-diff{margin-top:14px;padding-top:12px;border-top:1px solid #d9e7df;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted)}.shopping-render{display:grid;grid-gap:12px;gap:12px}.shopping-list{display:grid;grid-gap:10px;gap:10px}.shopping-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:white;border:1px solid #e0ebe4}.shopping-food{font-weight:700}.shopping-amount{color:var(--muted);text-align:right}.week-plan{display:grid;grid-gap:16px;gap:16px;margin-top:18px}.day-card{padding:16px;border-radius:22px;background:rgba(248,252,249,.92);border:1px solid #dce9e1}.day-card-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.day-title{margin:0;font-size:1.15rem;color:var(--green-dark);letter-spacing:-.02em}.day-pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:white;border:1px solid var(--line);font-size:.82rem;color:var(--muted);font-weight:700}.meal-list{display:grid;grid-gap:12px;gap:12px}.meal-card{padding:14px;border-radius:18px;background:white;border:1px solid #e2ece6;box-shadow:var(--shadow-soft)}.meal-title{margin:0 0 10px;font-size:1rem;line-height:1.4}.meal-label{color:var(--green-dark)}.ingredient-list{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.macros-pill{margin-top:12px;display:inline-block;padding:9px 12px;border-radius:999px;background:#fff4e8;color:#a14b00;font-weight:700;font-size:.92rem}.premium-cover{position:relative;overflow:hidden;padding:24px 18px;border-radius:28px;background:radial-gradient(circle at top right,rgba(25,184,117,.18),transparent 28%),radial-gradient(circle at bottom left,rgba(15,159,98,.12),transparent 30%),linear-gradient(135deg,#0f6b46,#14945d 55%,#1bb574);color:white;box-shadow:0 18px 34px rgba(15,107,70,.2)}.premium-cover:before{width:180px;height:180px;top:-60px;right:-60px;background:rgba(255,255,255,.08)}.premium-cover:after,.premium-cover:before{content:"";position:absolute;border-radius:50%}.premium-cover:after{width:130px;height:130px;bottom:-45px;left:-35px;background:rgba(255,255,255,.06)}.premium-cover>*{position:relative;z-index:1}.premium-cover-badge{display:inline-block;margin-bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:.84rem;font-weight:700;letter-spacing:.02em}.cover-ring-grid{display:grid;grid-template-columns:112px 1fr;grid-gap:16px;gap:16px;align-items:center}.cover-ring{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ffffff 0deg,rgba(255,255,255,.26) 300deg,rgba(255,255,255,.12) 1turn);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.cover-ring-inner{width:78px;height:78px;border-radius:50%;background:rgba(15,107,70,.72);border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;align-items:center;justify-content:center}.cover-ring-value{font-size:1.15rem;font-weight:800;line-height:1}.cover-ring-label{margin-top:4px;font-size:.72rem;opacity:.85;text-transform:uppercase;letter-spacing:.05em}.premium-cover-title{margin:0;font-size:2rem;line-height:1.08;letter-spacing:-.03em}.premium-cover-subtitle{margin:8px 0 0;max-width:640px;color:rgba(255,255,255,.9);line-height:1.5}.premium-cover-name{margin-top:16px;font-size:1.15rem;font-weight:700}.premium-cover-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.premium-chip{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:.9rem;font-weight:700}.premium-cover-stats{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.premium-cover-stats-apple{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-stat{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.premium-stat-label{display:block;margin-bottom:4px;font-size:.84rem;color:rgba(255,255,255,.82)}.premium-stat strong{font-size:1rem}.results-section{animation:fadeUp .35s ease;margin-top:18px}.empty-state{margin-top:20px;padding:28px 18px;border-radius:22px;border:1px dashed #cfe0d6;background:rgba(255,255,255,.6);text-align:center}.empty-state-icon{font-size:2rem;margin-bottom:10px}.only-print,.pdf-export-area,.pdf-header,.print-header{display:none}@media (max-width:900px){.result-actions{width:100%;display:grid;grid-gap:10px;gap:10px}.result-actions .button{width:100%}.cover-ring-grid{grid-template-columns:1fr;justify-items:center}.cover-main-info,.cover-ring-grid{text-align:center}.premium-cover-chips{justify-content:center}}@media (max-width:640px){.page{padding:6px 12px 26px}.card{padding:14px;border-radius:22px}.title{font-size:1.95rem}.subtitle{font-size:.95rem}.shopping-item{flex-direction:column;align-items:flex-start}.shopping-amount{text-align:left}.loading-box{padding:16px 14px}.premium-cover{padding:20px 16px;border-radius:24px}.premium-cover-title{font-size:1.7rem}.premium-cover-stats-apple{grid-template-columns:1fr}.cover-ring{width:96px;height:96px}.cover-ring-inner{width:68px;height:68px}.hero-bar{padding-top:2px}}@media print{body{background:white;color:#000}.no-print{display:none!important}.page{padding:0;min-height:auto}.container{max-width:100%}.grid{display:block}.card{box-shadow:none;border:0;border-radius:0;padding:0;background:white}.print-area{display:block}.day-card,.fitness-energy-card,.fitness-metric-card,.meal-card,.shopping-box,.shopping-item,.summary-row{break-inside:avoid;page-break-inside:avoid}.day-card{margin-bottom:16px;border:1px solid #ddd;background:white}.fitness-energy-card,.fitness-metric-card,.meal-card,.shopping-item,.summary-row{border:1px solid #ddd;background:white;box-shadow:none}.day-title,.meal-label,.section-heading{color:#000}.day-pill,.fitness-energy-badge,.macros-pill{border:1px solid #ccc;background:white;color:#000}.premium-cover{background:#f3f7f4;color:#163126;box-shadow:none}.premium-stat{background:white;border:1px solid #ddd}.premium-stat-label{color:#456457}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.history-block{padding:16px;border-radius:20px;background:rgba(248,252,249,.95);border:1px solid #dce9e1;box-shadow:var(--shadow-soft)}.results-card{scroll-margin-top:12px}.recipe-intro{min-width:0;max-width:100%;margin-top:12px;border-radius:22px;padding:20px;background:linear-gradient(125deg,#0f6b46,#159961);color:white;box-shadow:0 12px 26px rgba(15,107,70,.16)}.recipe-intro-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.recipe-intro-badge{padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);font-size:.83rem;font-weight:800}.recipe-intro-person{color:rgba(255,255,255,.92);font-size:.88rem;overflow-wrap:anywhere}.recipe-intro h3{font-size:clamp(1.35rem,3.2vw,1.75rem);line-height:1.15;margin:16px 0 8px;letter-spacing:-.02em}.recipe-intro p{margin:0;max-width:580px;line-height:1.5;color:rgba(255,255,255,.92)}.recipe-quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:16px}.recipe-quick-stat{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:11px 8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.12);border-radius:13px;min-width:0;text-align:center}.recipe-quick-stat strong{font-size:clamp(.96rem,2vw,1.18rem);line-height:1.2;font-weight:800}.recipe-quick-stat span{font-size:.77rem;line-height:1.25;color:rgba(255,255,255,.91)}.recipe-quick-stat-main{background:rgba(255,255,255,.21)}.recipe-intro-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.recipe-intro-tags span{font-size:.82rem;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}.recipe-book{margin-top:22px}#generated-plan-pdf-area,.recipe-book,.recipe-book-heading,.recipe-book-heading>div,.recipe-screen-week{min-width:0;max-width:100%}.recipe-book-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.recipe-book-heading .section-heading{font-size:1.2rem;margin-top:4px}.recipe-book-helper{color:var(--muted);font-size:.9rem;line-height:1.5;margin:7px 0 0}.recipe-days-count{flex:0 0 auto;border-radius:999px;padding:7px 10px;background:var(--green-soft);color:var(--green-dark);font-weight:800;font-size:.85rem}.recipe-day-tabs{display:flex;width:100%;min-width:0;max-width:100%;gap:8px;padding:2px 1px 12px;margin-bottom:4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity}.recipe-day-tab{flex:0 0 auto;min-width:82px;min-height:60px;padding:9px 10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:14px;border:1px solid #dce9e1;background:#fff;color:var(--text);font-size:.93rem;font-weight:800;cursor:pointer;scroll-snap-align:start;transition:background .15s ease,border-color .15s ease}.recipe-day-tab-number{font-size:.73rem;color:var(--muted);font-weight:700}.recipe-day-tab.is-selected{background:var(--green-dark);border-color:var(--green-dark);color:#fff;box-shadow:0 5px 12px rgba(15,107,70,.13)}.recipe-day-tab.is-selected .recipe-day-tab-number{color:rgba(255,255,255,.82)}.recipe-day-tab:focus-visible,.recipe-meal-trigger:focus-visible,.results-accordion>summary:focus-visible{outline:3px solid #f2b84d;outline-offset:3px}.recipe-active-day{padding:14px}.recipe-active-day .day-card-header{margin-bottom:12px}.recipe-meal-card{background:#fff;border-radius:16px;border:1px solid #e0ebe4;overflow:hidden;box-shadow:0 5px 18px rgba(18,52,39,.04)}.recipe-meal-trigger{width:100%;min-height:72px;display:flex;gap:11px;align-items:center;padding:12px;text-align:left;border:0;background:transparent;color:var(--text);cursor:pointer}.recipe-meal-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--green-soft);font-size:1.3rem;flex:0 0 auto}.recipe-meal-caption{display:grid;flex:1 1 auto;min-width:0;grid-gap:4px;gap:4px}.recipe-meal-type{font-size:.81rem;color:var(--green-dark);font-weight:800}.recipe-meal-name{font-size:.98rem;line-height:1.4;overflow-wrap:anywhere}.recipe-meal-toggle{flex:0 0 auto;font-size:1.38rem;line-height:1;color:var(--green-dark);font-weight:400}.recipe-meal-details{display:grid;grid-gap:16px;gap:16px;padding:15px;border-top:1px solid var(--line);color:var(--text);line-height:1.5}.recipe-meal-details .meal-subtitle{font-weight:800;margin-bottom:8px;color:var(--green-dark)}.recipe-meal-details .preparation-list{margin:0;padding-left:20px;display:grid;grid-gap:7px;gap:7px}.recipe-meal-details .macros-pill{margin:0;justify-self:start;max-width:100%;white-space:normal;line-height:1.4}.results-accordion{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.results-accordion>summary{display:flex;align-items:center;gap:12px;padding:16px 14px;list-style:none;cursor:pointer;min-height:73px}.results-accordion>summary::-webkit-details-marker{display:none}.results-accordion-icon{font-size:1.35rem}.results-accordion-title{flex:1 1;display:grid;grid-gap:4px;gap:4px;min-width:0}.results-accordion-title strong{font-size:1rem}.results-accordion-title small{color:var(--muted);line-height:1.35;font-size:.82rem}.results-accordion-arrow{color:var(--green-dark);font-size:1.7rem;line-height:1;transition:transform .2s ease}.results-accordion[open] .results-accordion-arrow{transform:rotate(180deg)}.results-accordion-content{padding:0 14px 16px;border-top:1px solid var(--line)}.results-accordion-content>.metrics-stack,.results-accordion-content>.shopping-render{margin-top:14px}.recipe-result-footer{margin-top:20px}.recipe-result-footer .save-success{margin:0 0 12px;font-size:.87rem}.recipe-result-footer .result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.recipe-result-footer .result-actions>.button{flex:1 1 190px;text-align:center;justify-content:center}.recipe-progress-count{display:block;margin-top:12px;font-size:1.04rem;color:var(--green-dark)}.recipe-print-only,.recipe-print-week{display:none}@media (max-width:480px){.recipe-intro{padding:16px}.recipe-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-book-heading .section-heading{font-size:1.12rem}.recipe-day-tab{min-width:76px}.recipe-active-day{padding:11px}}@media print{.recipe-screen-week{display:none!important}.recipe-print-only,.recipe-print-week{display:grid!important;grid-gap:12px;gap:12px;margin-top:18px}.recipe-intro{background:#f1f7f3;color:#153f2b;border:1px solid #cfe0d5;box-shadow:none}.recipe-intro p,.recipe-intro-person,.recipe-quick-stat span{color:#375c49}.recipe-intro-badge,.recipe-intro-tags span,.recipe-quick-stat{background:#fff;border:1px solid #d1e1d7}}