.msai-fpo-open{overflow:hidden}.msai-fpo-cta{display:flex;align-items:center;gap:20px;padding:22px 25px;margin:0 0 24px;background:#f4f8ff;border:1px solid #d7e5fb;border-radius:20px;box-shadow:0 12px 34px rgba(28,60,112,.07);color:#173254}.msai-fpo-cta__mark{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:16px;background:#e0edff;color:#2865bd}.msai-fpo-cta__mark svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.msai-fpo-cta>div:nth-child(2){flex:1;min-width:0}.msai-fpo-cta h2{margin:0 0 4px;font-size:clamp(19px,2vw,24px);line-height:1.2;letter-spacing:-.02em;color:#173254}.msai-fpo-cta p{margin:0;color:#4e6581;line-height:1.45}.msai-fpo-cta button,.msai-fpo-primary,.msai-fa-plan-cta-preview button{border:0;border-radius:13px;background:#2865bd;color:#fff;font:inherit;font-weight:700;padding:13px 20px;min-height:46px;cursor:pointer;white-space:normal;text-align:center;transition:background .18s ease,transform .18s ease}.msai-fpo-cta button:hover,.msai-fpo-primary:hover,.msai-fa-plan-cta-preview button:hover{background:#1c4f9b;transform:translateY(-1px)}.msai-fpo-cta button:focus-visible,.msai-fpo-dialog button:focus-visible{outline:3px solid #87b7ff;outline-offset:3px}
.msai-fpo-overlay{position:fixed;inset:0;z-index:100080;display:grid;place-items:center;padding:24px}.msai-fpo-shade{position:absolute;inset:0;background:rgba(10,26,48,.64);backdrop-filter:blur(5px)}.msai-fpo-dialog{position:relative;display:flex;flex-direction:column;width:min(760px,100%);max-height:min(92dvh,900px);background:#fff;border-radius:24px;box-shadow:0 32px 90px rgba(7,25,52,.25);color:#173254;overflow:hidden;animation:msai-fpo-enter .28s cubic-bezier(.18,.8,.22,1) both}.msai-fpo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;border-bottom:1px solid #e7edf6}.msai-fpo-top>span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#53749d}.msai-fpo-top>div{display:flex;align-items:center;gap:15px}.msai-fpo-top small{font-size:12px;color:#7890aa}.msai-fpo-top button{border:0;background:#f0f4fa;color:#476587;width:34px;height:34px;border-radius:10px;font-size:23px;line-height:1;cursor:pointer}.msai-fpo-top button:hover{background:#dce9fa;color:#173254}.msai-fpo-scroll{overflow:auto;overscroll-behavior:contain;padding:30px}.msai-fpo-step>header h2{margin:0;color:#153052;font-size:clamp(27px,3vw,38px);line-height:1.12;letter-spacing:-.035em}.msai-fpo-step>header p{max-width:62ch;margin:11px 0 0;color:#526882;font-size:16px;line-height:1.55}.msai-fpo-step>footer{display:flex;gap:12px;margin-top:27px}.msai-fpo-secondary{border:1px solid #cbd9eb;background:#fff;color:#28578c;border-radius:13px;font:inherit;font-weight:700;padding:12px 18px;min-height:46px;cursor:pointer}.msai-fpo-secondary:hover{background:#eef5fd;border-color:#8fb5e0}
.msai-fpo-recap{margin-top:24px}.msai-fpo-start{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 18px;border-radius:14px;background:#eaf5ef;color:#1f5a3c}.msai-fpo-start span{font-size:13px;font-weight:700}.msai-fpo-start strong{font-size:17px}.msai-fpo-recap h3{font-size:20px;letter-spacing:-.02em;margin:22px 0 12px}.msai-fpo-metrics,.msai-fpo-nutrition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.msai-fpo-metrics>div,.msai-fpo-nutrition>div{padding:14px 15px;background:#f4f7fb;border-radius:13px}.msai-fpo-metrics span,.msai-fpo-nutrition span{display:block;color:#657b95;font-size:12px;margin-bottom:4px}.msai-fpo-metrics strong{font-size:20px;color:#183a62}.msai-fpo-metrics small{font-size:12px}.msai-fpo-nutrition{grid-template-columns:repeat(4,minmax(0,1fr))}.msai-fpo-nutrition strong{font-size:15px;color:#173254}.msai-fpo-chart{margin:17px 0 0;padding:17px 18px;background:#f7faff;border-radius:15px}.msai-fpo-chart figcaption{display:flex;justify-content:space-between;gap:12px;align-items:center}.msai-fpo-chart figcaption small{color:#6d8098}.msai-fpo-chart svg{display:block;width:100%;height:auto;max-height:170px;margin:13px 0 0;overflow:visible}.msai-fpo-chart line{stroke:#cbd9ed}.msai-fpo-chart polyline{fill:none;stroke:#3674c8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.msai-fpo-chart circle{fill:#2f73c8}.msai-fpo-chart text{fill:#7186a0;font-size:9px}.msai-fpo-recap section{margin-top:22px}.msai-fpo-recap h4{margin:0 0 9px;font-size:15px}.msai-fpo-list{display:grid;gap:7px}.msai-fpo-list>div{display:flex;align-items:center;gap:10px;padding:11px 13px;background:#f5f8fc;border-radius:11px}.msai-fpo-list span{flex:none;width:92px;color:#69809b;font-size:12px}.msai-fpo-list strong{min-width:0;flex:1;font-size:13px}.msai-fpo-list small{color:#6d8098}.msai-fpo-empty{padding:18px;border-radius:13px;background:#f4f7fb;color:#526882}.msai-fpo-learning{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.msai-fpo-learning>div{padding:20px;border-radius:15px;background:#f4f8ff}.msai-fpo-learning strong{color:#1c4c84}.msai-fpo-learning p{margin:7px 0 0;color:#5a6f88;line-height:1.45}@keyframes msai-fpo-enter{from{opacity:0;transform:translateY(13px) scale(.985)}to{opacity:1;transform:none}}
.msai-fa-plan-editor .msai-fa-plan-steps{display:grid;gap:12px}.msai-fa-plan-step{background:#f7faff;border:1px solid #dfe8f4;border-radius:15px;padding:16px}.msai-fa-plan-step__head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.msai-fa-plan-step__head strong{flex:1}.msai-fa-plan-step__head label{white-space:nowrap}.msai-fa-plan-step .msai-fa-admin__fields{gap:12px}.msai-fa-plan-cta-preview{margin:18px 24px 24px;padding:20px;background:#f4f8ff;border:1px solid #dce8f7;border-radius:16px}.msai-fa-plan-cta-preview strong{font-size:19px;color:#173254}.msai-fa-plan-cta-preview p{color:#526882}.msai-fa-plan-preview-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.msai-fa-plan-preview-actions span{color:#6b7d93}
@media(max-width:700px){.msai-fpo-cta{align-items:flex-start;flex-wrap:wrap;padding:18px;gap:12px}.msai-fpo-cta__mark{width:42px;height:42px;border-radius:12px}.msai-fpo-cta>div:nth-child(2){width:calc(100% - 54px)}.msai-fpo-cta button{width:100%}.msai-fpo-overlay{padding:0;align-items:end}.msai-fpo-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.msai-fpo-top{padding:14px 18px}.msai-fpo-scroll{padding:24px 18px 28px}.msai-fpo-step>footer{flex-direction:column}.msai-fpo-step>footer button{width:100%}.msai-fpo-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.msai-fpo-nutrition{grid-template-columns:repeat(2,minmax(0,1fr))}.msai-fpo-list>div{align-items:flex-start;flex-wrap:wrap}.msai-fpo-list span{width:100%}.msai-fpo-learning{grid-template-columns:1fr}.msai-fpo-start{display:block}.msai-fpo-start strong{display:block;margin-top:3px}}
@media(prefers-reduced-motion:reduce){.msai-fpo-dialog{animation:none}.msai-fpo-cta button,.msai-fpo-primary{transition:none}}
.msai-fpo-dialog.is-plan{width:min(1080px,100%)}.msai-fpo-dialog.is-modify{width:min(690px,100%)}.msai-fpo-plan{margin-top:24px}.msai-fpo-plan__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:center;gap:25px;padding:25px;border-radius:19px;background:#edf5ff;color:#193a62}.msai-fpo-plan__intro span{display:block;font-size:11px;font-weight:800;letter-spacing:.11em;color:#4d77a6}.msai-fpo-plan__intro h3{margin:6px 0;font-size:clamp(21px,2.3vw,29px);line-height:1.15;letter-spacing:-.025em}.msai-fpo-plan__intro p{margin:0;color:#49698a;line-height:1.5}.msai-fpo-plan__intro>p{padding:13px 17px;background:#fff;border-radius:13px;color:#2d5b48;font-weight:600}.msai-fpo-plan__facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:15px 0 24px}.msai-fpo-plan__facts>div{padding:14px 13px;background:#f5f8fc;border-radius:12px}.msai-fpo-plan__facts span{display:block;color:#657c98;font-size:11px;margin-bottom:5px}.msai-fpo-plan__facts strong{font-size:18px;color:#193b66;white-space:nowrap}.msai-fpo-plan__facts small{font-size:11px;font-weight:600}.msai-fpo-plan .msai-fpo-chart{margin:0 0 24px}.msai-fpo-week__heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0 14px}.msai-fpo-week__heading strong{display:block;font-size:23px;letter-spacing:-.025em}.msai-fpo-week__heading span{display:block;color:#6a819b;font-size:13px;margin-top:3px}.msai-fpo-week__heading p{max-width:40ch;margin:0;color:#566d87;font-size:13px;text-align:right;line-height:1.45}.msai-fpo-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.msai-fpo-days button{display:grid;gap:3px;padding:11px 7px;border:1px solid #e4ebf5;border-radius:12px;background:#f6f9fd;color:#335273;text-align:center;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.msai-fpo-days button:hover{background:#e9f2ff;border-color:#9bbbe5;transform:translateY(-1px)}.msai-fpo-days button.is-active{border-color:#3778c9;background:#e6f1ff;color:#174c8b;box-shadow:inset 0 0 0 1px #3778c9}.msai-fpo-days span,.msai-fpo-days small{font-size:10px}.msai-fpo-days strong{font-size:14px}.msai-fpo-day-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:19px 0 10px}.msai-fpo-day-summary strong{display:block;font-size:18px}.msai-fpo-day-summary span{color:#69809b;font-size:12px}.msai-fpo-day-summary button{border:0;background:transparent;color:#245da5;font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.msai-fpo-meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.msai-fpo-meal{display:flex;flex-direction:column;min-width:0;border:1px solid #e1eaf5;border-radius:17px;background:#fff;overflow:hidden}.msai-fpo-meal__top{display:flex;gap:14px;padding:13px;background:#f8fbff}.msai-fpo-meal__top img,.msai-fpo-meal__noimage{display:block;flex:none;width:126px;height:114px;object-fit:cover;border-radius:11px;background:#e8f0f8}.msai-fpo-meal__top>div:last-child{min-width:0}.msai-fpo-meal__top span{display:block;color:#55749a;font-size:11px;font-weight:700}.msai-fpo-meal__top h4{margin:5px 0 8px;color:#193a62;font-size:16px;line-height:1.25}.msai-fpo-meal__top p{display:flex;gap:3px 10px;flex-wrap:wrap;margin:0}.msai-fpo-meal__top p span{color:#607792;font-size:11px;font-weight:500}.msai-fpo-meal__top p b{color:#1c426d}.msai-fpo-meal__ingredients{padding:13px 15px}.msai-fpo-meal__ingredients>strong{display:block;margin-bottom:8px;font-size:12px;color:#34587f}.msai-fpo-meal__ingredients>div{display:flex;gap:5px;flex-wrap:wrap}.msai-fpo-meal__ingredients button{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid #dce8f3;background:#f5f9fd;color:#2b4b6d;border-radius:8px;padding:6px 8px;cursor:pointer;font:inherit;font-size:11px}.msai-fpo-meal__ingredients button:hover{border-color:#70a6dd;background:#e9f4ff}.msai-fpo-meal__ingredients button small{color:#607b98}.msai-fpo-meal__prep{margin:0 15px 12px;font-size:12px;color:#566d87}.msai-fpo-meal__prep summary{cursor:pointer;color:#275f9f;font-weight:700}.msai-fpo-meal__prep p{white-space:pre-line;line-height:1.5}.msai-fpo-meal__change{align-self:flex-start;margin:auto 15px 14px;padding:5px 0;border:0;background:none;color:#2364ad;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px}.msai-fpo-week-foods{margin:18px 0 0;border:1px solid #dfebf1;border-radius:14px;padding:14px 17px;background:#f5faf8}.msai-fpo-week-foods summary{cursor:pointer;color:#225743;font-weight:750}.msai-fpo-week-foods summary span{float:right;font-size:12px;color:#5b8a76}.msai-fpo-week-foods>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.msai-fpo-week-foods>div span{padding:6px 9px;background:#fff;border:1px solid #d9e9df;border-radius:7px;color:#376451;font-size:11px}.msai-fpo-plan__actions{margin-top:22px}.msai-fpo-plan__actions h4{margin:0 0 10px}.msai-fpo-plan__actions>div{display:flex;flex-wrap:wrap;gap:7px}.msai-fpo-plan__actions>div span{padding:8px 10px;background:#f2f6fb;border-radius:8px;color:#3e5e81;font-size:12px}.msai-fpo-dialog.is-plan .msai-fpo-step>footer{position:sticky;bottom:-30px;z-index:4;padding:15px 0 0;background:#fff;box-shadow:0 -13px 20px 14px #fff}
.msai-fpo-modify{max-width:640px;margin:auto}.msai-fpo-back{border:0;background:transparent;color:#2e65a4;font:inherit;font-weight:700;font-size:13px;padding:0;cursor:pointer}.msai-fpo-modify header{margin-top:22px}.msai-fpo-modify h2{margin:0;font-size:clamp(28px,3vw,39px);line-height:1.1;letter-spacing:-.035em}.msai-fpo-modify header p,.msai-fpo-modify__preview>p{color:#58718c;line-height:1.55;margin:12px 0 0}.msai-fpo-modify__ideas{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 24px}.msai-fpo-modify__ideas button{border:1px solid #d8e5f3;background:#f5f9ff;color:#315e91;border-radius:9px;padding:9px 12px;font:inherit;font-size:13px;cursor:pointer}.msai-fpo-modify__ideas button:hover{border-color:#70a6dd;background:#eaf4ff}.msai-fpo-modify form label{display:block;font-weight:750;color:#173a64;margin-bottom:10px}.msai-fpo-modify textarea{display:block;width:100%;box-sizing:border-box;min-height:150px;resize:vertical;border:1px solid #a8c4e2;border-radius:13px;padding:15px;color:#173254;background:#fff;font:inherit;line-height:1.55}.msai-fpo-modify textarea:focus{outline:3px solid #dcecff;border-color:#2d72c5}.msai-fpo-modify form>p{margin:11px 0 0;font-size:12px;color:#5a728d}.msai-fpo-modify form footer{display:flex;gap:10px;margin-top:25px}.msai-fpo-modify blockquote{margin:22px 0;padding:18px;border-radius:13px;background:#f2f7fd;white-space:pre-wrap;line-height:1.5}.msai-fpo-modify__preview>button{margin-top:8px}
@media(max-width:800px){.msai-fpo-plan__intro{grid-template-columns:1fr}.msai-fpo-plan__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.msai-fpo-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 6px}.msai-fpo-days button{min-width:92px;scroll-snap-align:start}.msai-fpo-meal-grid{grid-template-columns:1fr}.msai-fpo-week__heading{display:block}.msai-fpo-week__heading p{text-align:left;margin-top:7px}}
@media(max-width:700px){.msai-fpo-dialog.is-plan,.msai-fpo-dialog.is-modify{width:100%}.msai-fpo-plan__intro{padding:18px}.msai-fpo-plan__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.msai-fpo-meal__top img,.msai-fpo-meal__noimage{width:98px;height:98px}.msai-fpo-meal__top h4{font-size:15px}.msai-fpo-modify form footer{flex-direction:column}.msai-fpo-modify form footer button{width:100%}.msai-fpo-day-summary{align-items:flex-start}.msai-fpo-day-summary strong{font-size:16px}}
.msai-fpo-step h2:focus,.msai-fpo-modify h2:focus{outline:none}.msai-fpo-dialog.is-plan .msai-fpo-step>footer{position:static;bottom:auto;padding:0;margin-top:28px;box-shadow:none}
@media(max-width:700px){.msai-fpo-plan{display:flex;flex-direction:column}.msai-fpo-plan__intro{order:0}.msai-fpo-week{order:1}.msai-fpo-plan__facts{order:2;margin-top:22px}.msai-fpo-plan .msai-fpo-chart{order:3}.msai-fpo-plan__actions{order:4}.msai-fpo-plan__intro>p{padding:11px 13px;font-size:13px}.msai-fpo-week__heading{margin-top:22px}}
.msai-fpo-days{scrollbar-width:none}.msai-fpo-days::-webkit-scrollbar{display:none}

/* --- Plan review recap (exact copy of the reference mockup) --- */
.msai-fpo-dialog.is-recap{width:min(1180px,96vw);max-width:1180px;--fpo-accent:#2865bd;--fpo-accent-soft:color-mix(in srgb,var(--fpo-accent) 12%,white);font-family:"Space Grotesk","Segoe UI",sans-serif}
.msai-fpo-dialog.is-recap *{font-family:"Space Grotesk","Segoe UI",sans-serif}
.msai-fpo-dialog.is-recap .msai-fpo-top{display:none}
.msai-fpo-dialog.is-recap .msai-fpo-scroll{padding:0}
.msai-fpo-recap__close,.msai-fpo-recap__close:hover,.msai-fpo-recap__close:focus{position:absolute;top:20px;right:20px;z-index:5;width:36px;height:36px;border:0;border-radius:10px;background:#fff!important;box-shadow:0 4px 14px rgba(10,26,48,.16);color:#476587!important;display:grid;place-items:center;cursor:default;outline:none}
.msai-fpo-recap__close svg{width:16px;height:16px}
.msai-fpo-planreview svg{width:16px;height:16px;flex:none}
.msai-fpo-recap__hero{display:flex;gap:28px;flex-wrap:wrap;padding:32px 60px 24px 36px}
.msai-fpo-recap__hero-copy{flex:1 1 340px;min-width:0}
.msai-fpo-recap__eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:#53749d}
.msai-fpo-recap__hero-copy h1{margin:10px 0 8px;font-size:clamp(25px,3vw,33px);line-height:1.12;letter-spacing:-.025em;color:#173254}
.msai-fpo-recap__hero-copy h1:focus{outline:none}
.msai-fpo-recap__hero-copy p{margin:0;max-width:46ch;color:#526882;font-size:15px;line-height:1.55}
.msai-fpo-recap__flex{flex:1 1 380px;display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:18px;background:var(--fpo-accent-soft)}
.msai-fpo-recap__flex-icon{flex:none;width:34px;height:34px;border-radius:50%;background:var(--fpo-accent-soft);color:var(--fpo-accent);display:grid;place-items:center}
.msai-fpo-recap__flex-copy{min-width:0;flex:1}
.msai-fpo-recap__flex-copy strong{display:block;font-size:14px;color:#173254}
.msai-fpo-recap__flex-copy p{margin:5px 0 0;font-size:12.5px;line-height:1.45;color:#4c5d77}
.msai-fpo-recap__flex-image{flex:none;align-self:center;width:84px;height:84px;border-radius:14px;object-fit:cover}
.msai-fpo-recap__titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px 36px;background:#f4f8ff;border-top:1px solid #e3ecf9;border-bottom:1px solid #e3ecf9}
.msai-fpo-recap__titlebar-copy h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.015em;color:#173254}
.msai-fpo-recap__titlebar-copy span{display:block;margin-top:3px;font-size:13px;color:#657b95}
.msai-fpo-recap__stats{display:flex;gap:10px;flex-wrap:wrap}
.msai-fpo-recap__stat{display:flex;align-items:center;gap:10px;min-width:150px;padding:10px 14px;border:1px solid #dce8f7;border-radius:14px;background:#fff}
.msai-fpo-recap__stat-icon{flex:none;width:30px;height:30px;border-radius:50%;background:var(--fpo-accent-soft);color:var(--fpo-accent);display:grid;place-items:center}
.msai-fpo-recap__stat>div{min-width:0}
.msai-fpo-recap__stat>div>span{display:block;font-size:11px;color:#7890aa}
.msai-fpo-recap__stat strong{font-size:15px;color:#173254;white-space:nowrap}
.msai-fpo-recap__stat strong small{margin-left:2px;font-size:11px;font-weight:600;color:#7890aa}
.msai-fpo-recap__body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;padding:24px 36px 28px}
.msai-fpo-recap__main{min-width:0}
.msai-fpo-recap__days{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;margin-bottom:20px;scrollbar-width:none}
.msai-fpo-recap__days::-webkit-scrollbar{display:none}
.msai-fpo-recap__days button{flex:1 1 0;min-width:92px;padding:10px 8px;border:1.5px solid #e3e9f2;border-radius:14px;background:#fff!important;text-align:center;cursor:pointer;transition:background .16s,border-color .16s}
.msai-fpo-recap__days button:hover{border-color:#9bbbe5;background:#f6f9ff!important;color:#335273!important}
.msai-fpo-recap__days button:hover span{color:#7d93ae!important}
.msai-fpo-recap__days button:hover strong,.msai-fpo-recap__days button:hover small{color:#173254!important}
.msai-fpo-recap__days button.is-active:hover{background:var(--fpo-accent-soft)!important;border-color:var(--fpo-accent);color:var(--fpo-accent)!important}
.msai-fpo-recap__days button.is-active:hover span,.msai-fpo-recap__days button.is-active:hover strong,.msai-fpo-recap__days button.is-active:hover small{color:var(--fpo-accent)!important}
.msai-fpo-recap__days button span{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#90a2ba}
.msai-fpo-recap__days button strong{display:block;margin:2px 0;font-size:13px;color:#173254}
.msai-fpo-recap__days button small{font-size:11px;color:#8494ab}
.msai-fpo-recap__days button.is-active{border-color:var(--fpo-accent);background:var(--fpo-accent-soft)!important}
.msai-fpo-recap__days button.is-active span,.msai-fpo-recap__days button.is-active strong{color:var(--fpo-accent)!important}
.msai-fpo-recap__main>h3{margin:0 0 2px;font-size:19px;font-weight:800;letter-spacing:-.015em;color:#173254}
.msai-fpo-recap__day-sub{margin:0 0 16px;font-size:13px;color:#657b95}
.msai-fpo-recap__meal{display:flex;gap:16px;padding:14px;margin-bottom:14px;border:1px solid #eef2f8;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(20,50,110,.04);animation:msai-fpo-card-in .38s cubic-bezier(.18,.8,.22,1) both;transition:transform .18s ease,box-shadow .18s ease}
.msai-fpo-recap__meal:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(20,50,110,.09)}
.msai-fpo-recap__meal:nth-child(1){animation-delay:.02s}.msai-fpo-recap__meal:nth-child(2){animation-delay:.08s}.msai-fpo-recap__meal:nth-child(3){animation-delay:.14s}.msai-fpo-recap__meal:nth-child(4){animation-delay:.2s}.msai-fpo-recap__meal:nth-child(5){animation-delay:.26s}
@keyframes msai-fpo-card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.msai-fpo-recap__meal{animation:none}}
.msai-fpo-recap__meal-photo{flex:none;width:96px;height:96px;border-radius:12px;object-fit:cover;background:#f4f7fb}
.msai-fpo-recap__meal-photo--empty{display:grid;place-items:center;color:#b7c3d6}
.msai-fpo-recap__meal-photo--empty svg{width:26px;height:26px}
.msai-fpo-recap__meal-body{flex:1;min-width:0}
.msai-fpo-recap__meal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.msai-fpo-recap__meal-slot{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--fpo-accent)}
.msai-fpo-recap__meal-slot svg{width:14px;height:14px}
.msai-fpo-recap__meal-links{display:flex;gap:12px;flex-wrap:wrap}
.msai-fpo-recap__link{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none!important;font:inherit;font-size:12.5px;font-weight:700;color:#28578c!important;cursor:pointer}
.msai-fpo-recap__link:hover{background:none!important;color:#173254!important;text-decoration:underline}
.msai-fpo-recap__link svg{width:14px;height:14px}
.msai-fpo-recap__meal-body h4{margin:6px 0 8px;font-size:16px;font-weight:700;color:#173254;line-height:1.3}
.msai-fpo-recap__macros{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.msai-fpo-recap__macros span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:#526882}
.msai-fpo-recap__macros svg{width:14px;height:14px}
.msai-fpo-recap__macros b{color:#173254}
.msai-fpo-recap__macros .is-kcal svg{color:#ea7a34}
.msai-fpo-recap__macros .is-protein svg{color:#2f9e6e}
.msai-fpo-recap__macros .is-carb svg{color:#c98a1f}
.msai-fpo-recap__macros .is-fat svg{color:var(--fpo-accent)}
.msai-fpo-recap__ingredients{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.msai-fpo-recap__ingredients>span{font-size:12.5px;font-weight:600;color:#7890aa}
.msai-fpo-recap__pill{border:0;border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;color:#34496b!important;background:#f0f3f8!important;cursor:pointer}
.msai-fpo-recap__pill:hover{background:#e3e9f5!important;color:#1f3350!important}
.msai-fpo-recap__pill--static{cursor:default;display:inline-block}
.msai-fpo-recap__pill--static:hover{background:#f0f3f8!important;color:#34496b!important}
.msai-fpo-flex-rules{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:8px}
.msai-fpo-flex-rules li{padding:11px 14px;background:#f5f8fc;border-radius:11px;font-size:13px;line-height:1.5;color:#3e5872}
.msai-fpo-flex-rules li::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--fpo-accent);margin-right:10px;vertical-align:middle}

/* --- Protocols: the complete, situational program a customer activates
   when a real trigger happens (e.g. "if stress hits, run the full
   anti-stress protocol") - deliberately NOT tied to a day tab, shown above
   the daily routine as its own distinct, richer card. --- */
.msai-fpo-protocols{margin:0 0 26px;display:grid;gap:14px}
.msai-fpo-protocol{position:relative;padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--fpo-accent) 7%,white),color-mix(in srgb,var(--fpo-accent) 2%,white));border:1px solid color-mix(in srgb,var(--fpo-accent) 18%,white);box-shadow:0 2px 12px rgba(20,50,110,.05);animation:msai-fpo-card-in .4s cubic-bezier(.18,.8,.22,1) both;transition:transform .18s ease,box-shadow .18s ease}
.msai-fpo-protocol:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,50,110,.1)}
.msai-fpo-protocol:nth-child(1){animation-delay:.03s}.msai-fpo-protocol:nth-child(2){animation-delay:.1s}.msai-fpo-protocol:nth-child(3){animation-delay:.17s}
.msai-fpo-protocol__head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.msai-fpo-protocol__badge{flex:none;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--fpo-accent);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.msai-fpo-protocol__badge svg{width:12px;height:12px}
.msai-fpo-protocol h4{margin:0;font-size:16px;font-weight:800;color:#173254;letter-spacing:-.01em}
.msai-fpo-protocol__situation{margin:6px 0 14px;font-size:13px;line-height:1.5;color:#4c5d77}
.msai-fpo-protocol__situation strong{color:#173254}
.msai-fpo-protocol__steps{margin:0;padding:0;list-style:none;counter-reset:fpo-step;display:grid;gap:8px}
.msai-fpo-protocol__steps li{counter-increment:fpo-step;position:relative;padding:9px 12px 9px 40px;background:rgba(255,255,255,.72);border-radius:10px;font-size:13px;line-height:1.5;color:#2f3f57}
.msai-fpo-protocol__steps li::before{content:counter(fpo-step);position:absolute;left:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--fpo-accent);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center}
.msai-fpo-protocol__weekly{margin:12px 0 0;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--fpo-accent) 25%,white);font-size:12px;color:#657b95}
.msai-fpo-protocol__weekly strong{color:#3e5872;font-weight:700}
@media(prefers-reduced-motion:reduce){.msai-fpo-protocol{animation:none}}

/* --- Richer routine-card detail (cue / expected reward / tracking / fallback) --- */
.msai-fpo-recap__cue{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;font-weight:600;color:color-mix(in srgb,var(--fpo-accent) 70%,#173254)}
.msai-fpo-recap__steps{margin:8px 0 0;padding:0;list-style:none;counter-reset:fpo-mini-step;display:grid;gap:6px}
.msai-fpo-recap__steps li{counter-increment:fpo-mini-step;position:relative;padding:7px 10px 7px 30px;background:#f5f8fc;border-radius:9px;font-size:12.5px;line-height:1.45;color:#3e5872}
.msai-fpo-recap__steps li::before{content:counter(fpo-mini-step);position:absolute;left:8px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:var(--fpo-accent-soft);color:var(--fpo-accent);font-size:9.5px;font-weight:800;display:grid;place-items:center}
.msai-fpo-recap__reward{margin-top:8px;font-size:12px;color:#5b8a76}
.msai-fpo-recap__reward b{color:#2f6b4a}
.msai-fpo-recap__pill-more{font-size:12.5px;color:#90a2ba}
.msai-fpo-recap__details{margin-top:8px}
.msai-fpo-recap__details summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--fpo-accent)}
.msai-fpo-recap__details p{margin:6px 0 0;font-size:13px;line-height:1.5;color:#526882;white-space:pre-line}
.msai-fpo-recap__side{display:flex;flex-direction:column;gap:16px}
.msai-fpo-recap__cta-card{padding:20px;border-radius:18px;background:#eaf5ef}
.msai-fpo-recap__cta-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:10px;border-radius:50%;background:#d3ecdd;color:#1f5a3c}
.msai-fpo-recap__cta-card strong{display:block;margin-bottom:6px;font-size:15px;color:#1f5a3c}
.msai-fpo-recap__cta-card p{margin:0 0 14px;font-size:13px;line-height:1.5;color:#2f6b4a}
.msai-fpo-recap__cta-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 14px;border:1.5px solid var(--fpo-accent);border-radius:12px;background:#fff!important;color:var(--fpo-accent)!important;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.msai-fpo-recap__cta-btn:hover{background:var(--fpo-accent-soft)!important;color:color-mix(in srgb, var(--fpo-accent) 78%, black)!important;border-color:color-mix(in srgb, var(--fpo-accent) 78%, black)}
.msai-fpo-recap__highlights{padding:18px;border-radius:18px;border:1px solid #e3ecf9;background:#f7faff}
.msai-fpo-recap__highlights>strong{display:block;margin-bottom:14px;font-size:12.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#173254}
.msai-fpo-recap__highlight{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.msai-fpo-recap__highlight:last-child{margin-bottom:0}
.msai-fpo-recap__highlight-icon{flex:none;width:30px;height:30px;border-radius:50%;background:var(--fpo-accent-soft);color:var(--fpo-accent);display:grid;place-items:center}
.msai-fpo-recap__highlight:nth-child(1) .msai-fpo-recap__highlight-icon{background:#efeafd;color:#7c5fd6}
.msai-fpo-recap__highlight:nth-child(2) .msai-fpo-recap__highlight-icon{background:#e3f5ea;color:#2f9e6e}
.msai-fpo-recap__highlight:nth-child(3) .msai-fpo-recap__highlight-icon{background:#fdeee1;color:#ea7a34}
.msai-fpo-recap__highlight:nth-child(4) .msai-fpo-recap__highlight-icon{background:var(--fpo-accent-soft);color:var(--fpo-accent)}
.msai-fpo-recap__highlight:nth-child(5) .msai-fpo-recap__highlight-icon{background:#fbe8f0;color:#c94f83}
.msai-fpo-recap__highlight:nth-child(6) .msai-fpo-recap__highlight-icon{background:#e3f6f3;color:#1f9c8a}
.msai-fpo-recap__highlight strong{display:block;font-size:13.5px;color:#173254}
.msai-fpo-recap__highlight span{font-size:12px;color:#7890aa}
.msai-fpo-recap__footer{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:16px 36px;background:#fff;border-top:1px solid #e7edf6;box-shadow:0 -8px 20px rgba(10,26,48,.05)}
.msai-fpo-recap__footer-copy{display:flex;align-items:center;gap:12px}
.msai-fpo-recap__footer-icon{flex:none;width:38px;height:38px;border-radius:50%;background:var(--fpo-accent-soft);color:var(--fpo-accent);display:grid;place-items:center}
.msai-fpo-recap__footer-copy strong{display:block;font-size:14px;color:#173254}
.msai-fpo-recap__footer-copy p{margin:2px 0 0;font-size:12.5px;color:#7890aa}
.msai-fpo-recap__footer-actions{display:flex;gap:10px;flex-wrap:wrap}
.msai-fpo-recap__footer-btn{display:flex;align-items:center;gap:10px;padding:10px 18px;border:0;border-radius:13px;font:inherit;cursor:pointer;text-align:left}
.msai-fpo-recap__footer-btn strong{display:block;font-size:14px;line-height:1.2}
.msai-fpo-recap__footer-btn small{display:block;margin-top:1px;font-size:11px;font-weight:500;line-height:1.3;opacity:.85}
.msai-fpo-recap__footer-btn.is-secondary{border:1.5px solid #cbd9eb;background:#fff!important;color:#28578c!important}
.msai-fpo-recap__footer-btn.is-secondary small{color:#6f89ab}
.msai-fpo-recap__footer-btn.is-secondary:hover{background:var(--fpo-accent-soft)!important;color:color-mix(in srgb, var(--fpo-accent) 78%, black)!important;border-color:var(--fpo-accent)}
.msai-fpo-recap__footer-btn.is-secondary:hover small{color:#5c7ba3!important}
.msai-fpo-recap__footer-btn.is-primary{background:var(--fpo-accent)!important;color:#fff!important}
.msai-fpo-recap__footer-btn.is-primary small{color:#cfe0fb}
.msai-fpo-recap__footer-btn.is-primary:hover{background:color-mix(in srgb, var(--fpo-accent) 78%, black)!important;color:#fff!important}
.msai-fpo-recap__footer-btn.is-primary:hover small{color:#cfe0fb!important}
@media(max-width:900px){.msai-fpo-recap__body{grid-template-columns:1fr}}
@media(max-width:700px){.msai-fpo-dialog.is-recap{width:100%;max-width:100%}.msai-fpo-recap__hero{padding:56px 20px 18px}.msai-fpo-recap__flex{flex-wrap:wrap}.msai-fpo-recap__flex-image{display:none}.msai-fpo-recap__titlebar,.msai-fpo-recap__body,.msai-fpo-recap__footer{padding-left:20px;padding-right:20px}.msai-fpo-recap__stats{width:100%}.msai-fpo-recap__stat{flex:1 1 46%;min-width:0}.msai-fpo-recap__meal{flex-direction:column}.msai-fpo-recap__meal-photo{width:100%;height:140px}.msai-fpo-recap__footer{flex-direction:column;align-items:stretch}.msai-fpo-recap__footer-actions{flex-direction:column}.msai-fpo-recap__footer-btn{justify-content:center}}

/* Keep plan-onboarding actions above Android gesture/three-button navigation.
   The fixed fallback covers WebViews that report a zero safe-area inset. */
@media(max-width:700px){
	.msai-fpo-scroll{padding-bottom:48px;padding-bottom:max(48px,env(safe-area-inset-bottom,0px))}
	.msai-fpo-step>footer{padding-bottom:32px;padding-bottom:max(32px,env(safe-area-inset-bottom,0px))}
	.msai-fpo-recap__footer{padding-bottom:32px;padding-bottom:max(32px,env(safe-area-inset-bottom,0px))}
}
