:root{--forest:#11271e;--forest-2:#19382b;--ink:#17291e;--cream:#f5f7ef;--paper:#fffefa;--mint:#d5f4b3;--lime:#c7f083;--leaf:#4e8f63;--muted:#76877b;--line:#dfe7dc;--shadow:0 24px 75px #1d3b2512}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.62;cursor:wait}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #8aca75;outline-offset:3px}.shell{max-width:1190px;width:calc(100% - 56px);margin-inline:auto}.topbar{height:80px;background:var(--forest);color:#f6fff4;border-bottom:1px solid #f4fff319;position:relative;z-index:10}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;background:none;border:0;color:#fff;padding:0;font-size:23px;font-weight:900;letter-spacing:-1px;text-align:left}.brand small{font-size:9px;letter-spacing:2.6px;color:#b7c7b5;display:block;margin-top:1px;font-weight:700}.brand-symbol{display:grid;place-items:center;background:var(--lime);color:var(--forest);height:43px;width:43px;border-radius:14px;font-size:30px;letter-spacing:-3px;line-height:1;position:relative}.brand-symbol span{font-size:13px;position:absolute;bottom:-5px;right:7px}.top-progress{text-align:center;min-width:220px;font-size:10px;font-weight:850;letter-spacing:2px;color:#bbd3bb}.top-progress-rail{margin-top:11px;width:220px;height:4px;border-radius:30px;overflow:hidden;background:#ffffff32}.top-progress-rail div{width:33%;height:100%;background:var(--lime);transition:width .45s cubic-bezier(.22,1,.36,1)}.account-button{border:1px solid #78928370;background:transparent;color:#fff;border-radius:12px;padding:11px 17px;font-size:12px;font-weight:800;transition:background .2s,transform .2s;white-space:nowrap}.account-button:hover{background:#ffffff16;transform:translateY(-1px)}.account-button span{color:var(--lime);margin-left:11px}
.screen{min-height:calc(100vh - 140px)}.active-screen{animation:screen-in .55s cubic-bezier(.2,.9,.2,1) both}@keyframes screen-in{0%{opacity:0;transform:translateY(17px)}100%{opacity:1;transform:translateY(0)}}.home{background:var(--forest);color:#fff;overflow:hidden;position:relative}.home:before{content:"";position:absolute;inset:-300px -250px auto auto;width:750px;height:750px;background:radial-gradient(circle,#6db98619,transparent 67%);pointer-events:none}.hero-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;min-height:660px;padding-block:85px}.hero-copy{position:relative;z-index:2}.eyebrow,.flow-kicker{font-size:11px;font-weight:850;letter-spacing:2.5px;color:#aee580}.eyebrow{display:flex;align-items:center;gap:10px}.mini-star{font-size:17px}.hero-copy h1{font-size:clamp(61px,6.5vw,98px);line-height:1.06;letter-spacing:-6px;margin:30px 0;color:#fff;font-weight:900}.hero-copy h1 em,.flow-screen h2 em,.unlock-copy h2 em,.dashboard-heading h2 em{font-style:normal;color:var(--lime)}.hero-sub{font-size:17px;line-height:1.8;color:#c3d0c7;max-width:485px;margin-bottom:32px}.action{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border:0;border-radius:15px;padding:17px 23px;font-size:14px;font-weight:850;transition:transform .22s,background .22s,box-shadow .22s}.action:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 35px #0002}.action-primary{background:var(--lime);color:var(--forest)}.action-primary:hover{background:#d8f8a6}.action-dark{color:#fff;background:var(--forest);width:100%;justify-content:center}.action span{font-size:21px;line-height:.7}.trust-note{display:flex;align-items:center;gap:9px;color:#abc8ae;font-size:12px;margin-top:24px}.trust-note>span:first-child{color:var(--lime)}.separator{opacity:.3}.hero-art{height:508px;position:relative;border:1px solid #7d9b814e;border-radius:38px;background:radial-gradient(ellipse at 53% 45%,#44765855,#2a4e3840 42%,transparent 72%),linear-gradient(135deg,#234633,#152e23);box-shadow:0 50px 90px #0002;display:grid;place-items:center;isolation:isolate}.orbit{position:absolute;border:1px dashed #c3ee9838;border-radius:50%;width:86%;aspect-ratio:1;animation:orbit-spin 52s linear infinite}.orbit-two{width:68%;animation-duration:36s;animation-direction:reverse}.orbit-one:before{content:'✦';color:#cbf690;position:absolute;left:2%;top:49%;font-size:17px}.orbit-two:before{content:'✳';color:#cbf690;position:absolute;right:12%;top:8%;font-size:22px}@keyframes orbit-spin{to{transform:rotate(360deg)}}.plate{width:316px;max-width:71%;aspect-ratio:1;z-index:2;border-radius:50%;padding:24px;background:radial-gradient(circle,#f8fff2 58%,#cbdcba 59%,#b0cba3 72%,#759877 73%,#668b6a 100%);box-shadow:0 17px 45px #081d1140, inset 0 0 30px #fff;animation:plate-float 7s ease-in-out infinite}.plate-center{border-radius:50%;width:100%;height:100%;background:#f4f9e8;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;padding:20px;transform:rotate(-12deg);box-shadow:inset 0 0 24px #78955427}.food{font-size:71px;filter:drop-shadow(0 8px 5px #23392324);animation:food-pop 6s ease-in-out infinite}.food-b{animation-delay:1s}.food-c{animation-delay:2s}.food-d{animation-delay:3s}@keyframes plate-float{50%{transform:translateY(-11px)}}@keyframes food-pop{50%{transform:translateY(-6px) rotate(4deg)}}.float-pill{position:absolute;z-index:3;background:#fffef5;box-shadow:0 14px 35px #08201233;color:var(--ink);border-radius:16px;animation:pill-float 6s ease-in-out infinite}.float-left{top:25%;left:-35px;padding:14px 18px;font-size:12px;font-weight:850;display:flex;align-items:center;gap:8px}.pill-mark{background:#e0f9bf;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.float-right{bottom:22%;right:-16px;padding:14px 18px;display:grid;gap:3px;animation-delay:2s}.float-right strong{font-size:26px;letter-spacing:-1px}.float-right small{font-size:8px;letter-spacing:1.8px;font-weight:800;color:#547661}@keyframes pill-float{50%{transform:translateY(-9px)}}.spark{position:absolute;color:#c8eb82;font-size:24px;animation:twinkle 3.5s ease-in-out infinite}.spark-one{top:20%;right:13%}.spark-two{bottom:20%;left:12%;animation-delay:1.4s}@keyframes twinkle{50%{opacity:.3;transform:scale(.55) rotate(35deg)}}.hero-art-bottom{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2.4px;color:#aaceaf;font-weight:850}.three-traits{display:flex;justify-content:space-between;gap:20px;padding-block:25px;border-top:1px solid #ffffff30;font-size:12px;color:#c5d2c7}.three-traits b{color:var(--lime);margin-right:13px}
.flow-screen{padding:65px 0 90px;background:radial-gradient(ellipse at 70% 0,#e1efd5 0,transparent 50%),#f6f7f1}.flow-shell{width:min(740px,calc(100% - 38px));margin:auto}.flow-kicker{color:#5f9961}.flow-screen h2,.unlock-copy h2{font-size:clamp(43px,5vw,67px);font-weight:900;letter-spacing:-3.5px;line-height:1.12;margin:17px 0 13px}.flow-screen h2 em,.unlock-copy h2 em,.dashboard-heading h2 em{color:#6da05d}.flow-desc{max-width:600px;color:#718277;font-size:15px;line-height:1.75;margin:0 0 31px}.question-caption{font-size:15px;font-weight:850;letter-spacing:-.2px;margin:24px 0 14px}.spaced{margin-top:29px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.visual-choice{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 8px 26px;border-radius:21px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 24px #1d3a2110;cursor:pointer;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}.visual-choice:hover{transform:translateY(-6px);box-shadow:0 18px 38px #1d3a211c}.visual-choice:has(input:checked){border:2px solid #70ac62;background:#ecf7e5;padding:27px 7px 25px}.visual-choice input,.frequency input,.period-choice input,.chip input{position:absolute;opacity:0;width:1px;height:1px}.visual-choice input:focus-visible~.choice-icon,.frequency input:focus-visible+span,.period-choice input:focus-visible+span{outline:3px solid #80b26f;outline-offset:4px}.choice-icon{height:62px;width:62px;border-radius:20px;background:#f0f5ed;display:grid;place-items:center;font-size:33px;color:#56935d;margin-bottom:16px;transition:transform .23s}.visual-choice:has(input:checked) .choice-icon{background:#d7ecbf;transform:scale(1.08) rotate(-5deg)}.visual-choice strong{font-size:18px}.visual-choice small{font-size:11px;color:#839488;margin-top:8px}.choice-check{position:absolute;top:12px;right:13px;opacity:0;font-size:12px;font-weight:900;background:#6eab61;color:#fff;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;transition:opacity .2s}.visual-choice:has(input:checked) .choice-check{opacity:1}.frequency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.three-frequency{grid-template-columns:repeat(3,1fr)}.frequency{cursor:pointer;position:relative}.frequency span{display:grid;place-items:center;height:70px;font-size:23px;font-weight:850;border-radius:16px;border:1px solid var(--line);background:#fff;transition:transform .2s,background .2s,border .2s}.frequency:hover span{transform:translateY(-3px)}.frequency:has(input:checked) span{background:var(--forest);border-color:var(--forest);color:var(--lime)}.step-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:36px}.back-button{padding:11px 0;border:0;background:transparent;color:#637d6b;font-weight:800;font-size:13px}.back-button:hover{color:#193e29}.next-button{min-width:224px}.form-panel{background:white;padding:29px;border:1px solid #e0e8dc;border-radius:23px;box-shadow:var(--shadow)}.field-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:block;min-width:0}.field>span{display:block;font-weight:750;font-size:12px;margin-bottom:9px}.field select,.field input{width:100%;height:53px;border:1px solid #d9e3d9;border-radius:12px;padding:0 15px;background:#fbfdf9;color:var(--ink);font-size:14px}.field input:focus,.field select:focus{outline:2px solid #8bc482;outline-offset:1px}.input-with-unit{position:relative}.input-with-unit input{padding-right:55px}.input-with-unit small{position:absolute;right:14px;top:20px;font-size:12px;color:#8c9c92}.activity-field{margin-top:23px}.safety-flag{display:flex;align-items:flex-start;gap:12px;margin-top:25px;padding:14px;background:#f4f8ef;border-radius:13px;font-size:12px;line-height:1.6;color:#65796b;cursor:pointer}.safety-flag input{margin-top:4px;accent-color:#6e9d55}.period-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.period-choice{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff;cursor:pointer;position:relative}.period-choice span{font-weight:850}.period-choice small{color:#7b8f81}.period-choice:has(input:checked){border-color:#70a968;background:#eef7e7}.field-hint{font-size:11px;color:#88988a;line-height:1.65;margin:-5px 0 14px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{position:relative;cursor:pointer}.chip span{display:block;border:1px solid #dde7d8;border-radius:100px;padding:11px 14px;font-size:12px;font-weight:750;background:#f9fbf6;transition:background .2s,border .2s,transform .2s}.chip:hover span{transform:translateY(-2px)}.chip:has(input:checked) span{background:var(--forest);color:#d9fac9;border-color:var(--forest)}.ingredient-fields{margin-top:29px}.field>span small{font-weight:500;color:#859686}.demo-reminder{font-size:11px;line-height:1.7;color:#87998a;margin-top:21px}
.preparing-screen{display:grid;place-items:center;padding:75px 20px;background:linear-gradient(135deg,#112d21,#1b4230);color:white;text-align:center}.preparing-card{max-width:600px;margin:auto}.preparing-visual{height:245px;width:245px;margin:0 auto 25px;display:grid;place-items:center;position:relative}.prep-ring{position:absolute;border:2px dashed #b9e99762;border-radius:50%;inset:10px;animation:orbit-spin 14s linear infinite}.prep-ring-two{inset:38px;border-color:#b9e99770;animation-direction:reverse;animation-duration:9s}.prep-center{height:120px;width:120px;border-radius:50%;background:#d4f2b4;display:grid;place-items:center;color:var(--forest);font-size:65px;box-shadow:0 0 80px #9de48630;animation:breath 2.4s ease-in-out infinite}.prep-spark{position:absolute;top:10px;right:17px;color:#d2f394;animation:twinkle 2.5s ease-in-out infinite}@keyframes breath{50%{transform:scale(1.07)}}.preparing-card .flow-kicker{color:#c3efab}.preparing-card h2{font-size:clamp(41px,5vw,59px);letter-spacing:-3px;line-height:1.14;margin:20px 0}.preparing-card h2 em{font-style:normal;color:var(--lime)}.preparing-card .flow-desc{color:#b5d2bc;margin:0 auto 25px}.busy-progress{height:8px;background:#ffffff24;width:min(440px,100%);border-radius:40px;overflow:hidden;margin:0 auto}.busy-progress div{width:43%;height:100%;background:var(--lime);border-radius:40px;animation:slide-progress 1.65s ease-in-out infinite}@keyframes slide-progress{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}.preparing-note{font-size:11px;color:#9bbca5;margin:18px 0 25px}.preparing-card .back-button{color:#bcdabf}
.unlock-screen{background:#f4f7ee;padding:78px 0}.unlock-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:center}.ready-mark{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:2px;font-weight:900;color:#68955b}.ready-mark span{background:#daefce;color:#4b9055;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:18px}.unlock-copy h2{font-size:clamp(54px,5.5vw,75px);margin:25px 0}.unlock-lead{line-height:1.8;font-size:15px;color:#718375;max-width:430px}.metric-stripe{display:flex;gap:20px;margin:34px 0;flex-wrap:wrap}.metric-stripe>div{border-top:1px solid #bccdbc;padding-top:15px;min-width:100px}.metric-stripe small{display:block;font-size:9px;font-weight:850;letter-spacing:1.5px;color:#7c967d;margin-bottom:9px}.metric-stripe strong{font-size:30px;letter-spacing:-1.5px}.metric-stripe span{font-size:11px;color:#819583;margin-left:5px}.locked-wrap{border-radius:28px;background:linear-gradient(140deg,#dfeada,#eaf3e6);min-height:570px;padding:28px;display:grid;place-items:center;position:relative;overflow:hidden}.locked-wrap:before{content:'✳';position:absolute;font-size:400px;color:#acd3a530;top:-180px;right:-140px}.locked-menu{width:100%;filter:blur(8px);opacity:.60;pointer-events:none;user-select:none;transform:scale(1.05)}.locked-label{font-size:10px;font-weight:900;letter-spacing:2px;padding-bottom:14px;border-bottom:1px solid #9cba9b}.locked-label span{float:right}.locked-meal{display:flex;align-items:center;gap:15px;padding:21px 5px;border-bottom:1px solid #b9c9b5}.locked-meal>span{font-size:40px}.locked-meal div{flex:1}.locked-meal b{font-size:16px}.locked-meal p{margin:6px 0 0;color:#778b76}.locked-meal i{font-size:12px;font-style:normal}.locked-foot{font-size:10px;letter-spacing:2px;padding-top:15px}.pay-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(370px,calc(100% - 44px));background:white;border-radius:25px;padding:31px;text-align:center;box-shadow:0 20px 100px #223e2d45;z-index:2}.lock-icon{width:48px;height:48px;margin:0 auto 13px;background:#f0f5e9;border-radius:15px;display:grid;place-items:center;font-size:23px}.pay-overline{color:#6f975f;font-size:10px;letter-spacing:2px;font-weight:850}.pay-card h3{font-size:30px;line-height:1.14;letter-spacing:-1px;margin:12px 0}.pay-card>p{font-size:12px;line-height:1.6;color:#778b7e}.pay-value{font-size:41px;font-weight:950;letter-spacing:-2px;margin:22px 0 13px}.pay-value span{font-size:13px;font-weight:700;letter-spacing:0;color:#718370}.pay-features{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 13px;font-size:10px;color:#4f815b;font-weight:750;margin-bottom:21px}.pay-card .action{width:100%;justify-content:center;gap:12px}.payment-hint{display:block;color:#97a498;font-size:10px;line-height:1.55;margin-top:16px}
.dashboard-screen{padding:65px 0 100px;background:#f5f7f0}.dashboard-heading{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:25px}.dashboard-heading h2{font-size:clamp(35px,4.5vw,61px);line-height:1.1;letter-spacing:-2px;margin:11px 0}.dashboard-heading p{font-size:14px;color:#859487;margin:0}.dashboard-heading-actions{display:flex;gap:9px;flex-wrap:wrap}.subtle-button{background:#fff;border:1px solid #dce6d8;border-radius:11px;padding:11px 15px;font-size:12px;font-weight:800;color:#476b4c}.subtle-button:hover{background:#e8f0e5}.summary-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}.summary-card{background:#fff;padding:25px;border-radius:19px;border:1px solid var(--line)}.primary-summary{background:var(--forest);color:#fff;border-color:var(--forest)}.summary-eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:850;color:#91ad90}.primary-summary .summary-eyebrow{color:#a6cb94}.calories-row,.summary-value{display:flex;align-items:baseline;gap:8px;margin:12px 0 9px}.calories-row strong,.summary-value strong{font-size:47px;letter-spacing:-2px}.calories-row span,.summary-value span{font-size:13px;color:#829c80}.summary-small{color:#8b998b;font-size:11px}.primary-summary .summary-small,.primary-summary .calories-row span{color:#bde6aa}.tabs-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:32px 0 22px;flex-wrap:wrap}.tab-group{background:#e8efe5;padding:4px;border-radius:12px;display:flex;gap:4px}.tab{padding:11px 18px;border:0;border-radius:9px;background:transparent;font-size:12px;font-weight:850;color:#66836a}.tab.selected{background:white;color:#1e3c27;box-shadow:0 4px 15px #244a2219}.day-select{display:flex;gap:7px;flex-wrap:wrap}.day-select button{padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:white}.day-select button.current{background:var(--forest);color:var(--lime)}.day-heading,.shopping-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0}.day-heading h3,.shopping-head h3{font-size:24px;margin:0}.total-badge{padding:9px 12px;border-radius:12px;background:#deebd8;font-size:12px;color:#528058;font-weight:800}.meals-grid{display:grid;gap:13px}.meal-card{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid var(--line);padding:17px;border-radius:20px;animation:card-reveal .5s both}.meal-card:nth-child(2){animation-delay:.08s}.meal-card:nth-child(3){animation-delay:.16s}.meal-card:nth-child(4){animation-delay:.24s}.meal-card:nth-child(5){animation-delay:.32s}@keyframes card-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.meal-art{height:100px;width:115px;flex:0 0 115px;font-size:46px;background:#e7f1e2;border:0;border-radius:15px;transition:transform .2s}.meal-art:hover{transform:scale(1.035)}.meal-art.lunch{background:#edf2df}.meal-art.dinner{background:#e2eee8}.meal-art.snack,.meal-art.snack2{background:#f6eddd}.meal-info{min-width:0;flex:1}.meal-type{color:#76a369;font-weight:850;font-size:11px;letter-spacing:1px;text-transform:uppercase}.meal-info h4{font-size:20px;line-height:1.2;letter-spacing:-.5px;margin:8px 0;cursor:pointer}.meal-macros{display:flex;gap:13px;font-size:11px;color:#809382;flex-wrap:wrap}.meal-macros strong{color:#3c6149}.meal-side{display:flex;flex-direction:column;align-items:end;gap:15px}.meal-calories{font-size:26px;font-weight:850;letter-spacing:-1px;white-space:nowrap}.meal-calories small{font-size:11px;color:#899889;display:block;text-align:right}.swap-button{border:1px solid #dce8d6;background:#f1f6ee;border-radius:9px;padding:9px;font-size:11px;font-weight:750;color:#608c58}.swap-button:hover{background:#e1f0dc}.panel{background:white;border:1px solid var(--line);border-radius:20px}.macros{padding:25px;margin-top:19px}.macros h3{font-size:20px;margin:0 0 4px}.macros p{font-size:12px;color:#819486}.macro-bars{margin-top:22px}.macro-row{display:grid;grid-template-columns:95px 1fr 70px;align-items:center;gap:15px;margin:13px 0}.macro-label,.macro-number{font-size:12px}.macro-number{text-align:right}.macro-track{height:9px;background:#edf2e9;border-radius:10px;overflow:hidden}.macro-fill{height:100%;border-radius:10px;background:#81b873;animation:bar-fill .7s ease-out both}.macro-fill.fat{background:#e7b36e}.macro-fill.carb{background:#8ebfc0}@keyframes bar-fill{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.shopping-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.shopping-group{background:white;border-radius:15px;border:1px solid var(--line);padding:20px}.shopping-group h4{color:#608c63;margin:0 0 8px}.shopping-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1e8;font-size:12px;gap:12px}.shopping-item:last-child{border:0}.safety-box{margin-top:21px;padding:17px 20px;background:#fff6e6;border:1px solid #efdebe;border-radius:13px;color:#87754d;font-size:12px;line-height:1.6}
.footer{background:#0e2118;color:#9eb9a1}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:92px;font-size:11px}.footer-brand{font-size:24px;color:#fff;font-weight:950;letter-spacing:-1.2px}.footer-brand span{color:var(--lime)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--forest);color:white;padding:16px 22px;border-radius:14px;max-width:min(510px,calc(100% - 30px));box-shadow:0 15px 55px #0004;z-index:100;font-size:12px;line-height:1.55}.toast.error{background:#713a32}dialog{border:0;border-radius:23px;box-shadow:0 35px 100px #061f1370;max-width:calc(100% - 24px)}dialog::backdrop{background:#061710c9;backdrop-filter:blur(5px)}.auth-dialog{width:450px;padding:37px;position:relative}.dialog-close{position:absolute;right:20px;top:18px;border:0;background:#edf2e9;border-radius:10px;height:35px;width:35px;color:#1d3827}.auth-dialog h2{font-size:33px;letter-spacing:-1px;margin:18px 0 8px}.auth-dialog>p{color:#799080;font-size:13px;line-height:1.6;margin-bottom:23px}.auth-dialog .field{margin-bottom:16px}.auth-dialog .action{margin-top:11px}.auth-switch{margin:18px 0 0;border:0;background:transparent;color:#598454;font-weight:800;font-size:12px}.dialog-note{color:#869787;font-size:11px;line-height:1.6;margin-top:18px}.account-status{display:flex;justify-content:space-between;gap:12px;background:#edf5e8;padding:16px;border-radius:12px;font-size:12px}.account-status b{color:#437347}.device-title{margin:27px 0 10px;font-size:15px}.device-title small{font-size:10px;font-weight:500;color:#8da08e}.device-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.device-row small{display:block;color:#8a9b8b;margin-top:5px}.device-row button{border:1px solid #e1e5de;border-radius:8px;background:#fff;font-size:11px;color:#a75950;padding:7px}.logout{margin-top:20px;width:100%}.recipe-dialog{width:560px;padding:35px;position:relative}.dialog-meal{font-size:11px;font-weight:850;letter-spacing:1.4px;color:#6ca66b}.recipe-dialog h2{font-size:29px;margin:13px 25px 15px 0}.dialog-summary{display:flex;gap:12px;background:#f0f6e9;border-radius:12px;padding:14px;font-size:11px;font-weight:750;flex-wrap:wrap}.recipe-dialog h3{margin:24px 0 12px}.ingredients-list{padding:0;list-style:none}.ingredients-list li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;gap:12px}.instructions,.ingredient-warn{font-size:13px;line-height:1.8;color:#6b806e}.ingredient-warn{padding:12px;background:#fff4e1;border-radius:12px}
@media(max-width:1000px){.hero-layout{gap:25px}.hero-copy h1{font-size:70px}.float-left{left:-4px}.float-right{right:-8px}.unlock-layout{gap:28px}}@media(max-width:780px){.shell{width:calc(100% - 32px)}.top-progress{min-width:130px}.top-progress-rail{width:130px}.hero-layout{grid-template-columns:1fr;gap:50px;min-height:auto;padding-block:60px}.hero-copy h1{font-size:clamp(61px,11vw,90px)}.hero-art{width:min(520px,95%);margin:0 auto}.three-traits{flex-wrap:wrap}.unlock-layout{grid-template-columns:1fr}.locked-wrap{max-width:600px;width:100%;margin:auto}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card:last-child{grid-column:span 2}.dashboard-heading{align-items:start;flex-direction:column}}@media(max-width:550px){.shell{width:calc(100% - 28px)}.topbar{height:70px}.brand{font-size:20px;gap:7px}.brand-symbol{height:37px;width:37px;font-size:27px}.brand small{font-size:7px;letter-spacing:1.8px}.top-progress{min-width:84px;font-size:9px;letter-spacing:0}.top-progress-rail{width:85px}.account-button{padding:10px;font-size:11px}.account-button span{display:none}.hero-layout{padding:58px 0 45px}.hero-copy h1{font-size:clamp(49px,13vw,68px);letter-spacing:-3.2px}.hero-sub{font-size:14px}.hero-art{height:350px;width:100%}.plate{width:250px}.plate-center{padding:15px}.food{font-size:49px}.float-left{top:13%;left:5px;font-size:10px}.float-right{bottom:12%;right:4px}.float-right strong{font-size:19px}.three-traits{padding-bottom:30px;font-size:10px;gap:13px}.flow-screen{padding:42px 0 75px}.flow-screen h2{font-size:45px;letter-spacing:-2.2px}.flow-desc{font-size:13px}.visual-choice{padding:17px 3px}.visual-choice:has(input:checked){padding:16px 2px 15px}.visual-choice strong{font-size:13px}.visual-choice small{font-size:9px}.choice-icon{width:44px;height:44px;border-radius:14px;font-size:24px}.choice-grid{gap:7px}.question-caption{font-size:13px}.frequency span{height:60px}.step-actions{flex-direction:column-reverse;align-items:stretch}.next-button{width:100%}.back-button{align-self:flex-start}.form-panel{padding:17px}.field-columns{gap:12px}.field>span{font-size:11px}.field select,.field input{height:49px;font-size:12px;padding-inline:10px}.input-with-unit small{top:17px;right:8px}.ingredient-fields{grid-template-columns:1fr}.locked-wrap{min-height:560px;padding:14px}.pay-card{padding:25px 20px}.unlock-screen{padding:47px 0}.unlock-copy h2{font-size:52px}.metric-stripe{gap:10px}.metric-stripe>div{min-width:88px}.metric-stripe strong{font-size:24px}.metric-stripe small{font-size:8px}.dashboard-screen{padding:42px 0}.summary-card{padding:17px}.calories-row strong,.summary-value strong{font-size:35px}.meal-card{gap:9px;padding:10px}.meal-art{height:73px;width:61px;flex:0 0 61px;font-size:27px}.meal-type{font-size:9px}.meal-info h4{font-size:13px;line-height:1.3}.meal-macros{gap:6px;font-size:9px}.meal-side{min-width:63px}.meal-calories{font-size:18px}.swap-button{padding:6px;font-size:9px}.shopping-categories{grid-template-columns:1fr}.footer-inner{flex-wrap:wrap;gap:10px;padding-block:25px;justify-content:center}.footer-inner>span{width:100%;text-align:center}.auth-dialog{padding:27px 20px}.preparing-visual{height:200px;width:200px}.prep-center{height:100px;width:100px}.preparing-card h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.topbar,.footer,.dashboard-heading-actions,.tabs-toolbar,.swap-button,.safety-box,.toast{display:none!important}.screen:not(#screen-dashboard){display:none!important}.dashboard-screen{display:block!important;padding:0}.summary-card,.meal-card,.panel{break-inside:avoid}body{background:white}.shell{width:100%;max-width:100%}}

/* v2.2: two independent sources of activity; mobile-friendly daily/workout cards */
.activity-builder{margin:20px 0 26px}.activity-builder .question-caption{margin-top:11px}.daily-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0 22px}.day-choice{position:relative;border:1px solid var(--line);border-radius:14px;padding:15px 13px;min-height:87px;display:flex;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;background:#fff;transition:background .18s,border .18s,transform .18s}.day-choice:hover{transform:translateY(-1px);border-color:#8cbf7e}.day-choice:has(input:checked){background:#e9f4e4;border-color:#6aa56b;box-shadow:inset 0 0 0 1px #81af71}.day-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}.day-choice:has(input:focus-visible){outline:3px solid #8aca75;outline-offset:2px}.day-choice strong{font-size:13px}.day-choice small{font-size:11px;color:#748979;line-height:1.45}.workout-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin-top:12px}.workout-grid .frequency span{height:51px;font-size:19px}.workout-extra{margin-top:17px;animation:card-reveal .35s both}.activity-hint{font-size:11px;line-height:1.6;color:#67836f;background:#ecf5e8;border-radius:12px;padding:12px 14px;margin:17px 0 0}.free-breakfast{background:#fdfefa;border:1px solid #bbd7a6;border-radius:20px;padding:20px 19px;margin:15px 0;box-shadow:0 12px 25px #19322212;animation:card-reveal .55s both}.free-meal-top{display:flex;gap:10px;align-items:center;margin-bottom:11px}.preview-icon{font-size:28px}.free-label{font-size:10px;letter-spacing:1.25px;font-weight:850;color:#4b9a53}.free-breakfast>strong{font-size:18px;line-height:1.25;display:block}.free-calories{font-size:24px;font-weight:850;color:var(--forest);margin:9px 0 4px}.free-macros{font-size:12px;font-weight:750;color:#5a845e}.free-ingredients{font-size:11px;color:#769080;line-height:1.55;margin:9px 0 0}.closed-menu-list{display:grid;gap:9px;filter:none!important}.closed-meal{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-radius:12px;background:#e9eee6;border:1px solid #dae4d5;font-size:14px;font-weight:750;color:#78907e}.closed-meal span:last-child{filter:none}.locked-menu{filter:none!important}.locked-foot{color:#748d7d}.pay-card{position:relative;left:auto;top:auto;transform:none;margin:22px auto 0;max-width:370px;width:100%;box-shadow:0 16px 56px #1a372a20}.locked-wrap{display:block;min-height:0;padding:20px 22px}.locked-menu{padding:0!important}.locked-label{color:#628467}.unlock-layout{align-items:start}.unlock-copy{position:sticky;top:120px}.pay-card .pay-value{margin-top:16px}
@media(max-width:780px){.unlock-copy{position:static}}
@media(max-width:550px){.daily-activity-grid{grid-template-columns:1fr}.workout-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.workout-grid .frequency span{height:49px}.locked-wrap{min-height:0}.pay-card{padding:23px 18px}.free-breakfast{padding:17px}.activity-hint{font-size:11px}}

/* v2.2.1: accessible, controlled 12-second result presentation. */
.preparing-card{width:min(560px,100%)}
.preparing-screen{min-height:calc(100svh - 80px)}
.prep-step-tracker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(440px,100%);margin:24px auto 14px;text-align:center}
.prep-stage{padding:10px 5px;border-radius:10px;border:1px solid #ffffff22;color:#a8c9b2;font-size:10px;font-weight:800;transition:color .25s,border-color .25s,background .25s}
.prep-stage b{display:block;margin-top:3px;font-size:11px;font-weight:700}
.prep-stage.active{border-color:#bde98f9a;background:#e4ffc115;color:#e0f7cb}
.prep-stage.complete{background:#bde98f20;color:#c6edab}
.busy-progress--determinate{margin:0 auto;position:relative;height:10px;width:min(440px,100%)}
.busy-progress--determinate>div{width:0;height:100%;animation:none!important;background:linear-gradient(90deg,#97d776,#d6f4a4);transition:width .14s linear}
.prep-percentage{color:#d6f5b2;font-weight:850;font-size:31px;letter-spacing:-1px;margin-top:12px;font-variant-numeric:tabular-nums}
.prep-percentage span:last-child{font-size:15px;margin-left:3px;color:#b5d4b8}
.preparing-note{max-width:430px;min-height:3em;line-height:1.7;margin:7px auto 19px;font-size:12px}
.prep-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.prep-skip{font-size:12px;border:1px solid #bde98f87;border-radius:12px;background:#ccf19b16;color:#d8f3b8;padding:12px 15px;font-weight:800;transition:background .15s,transform .15s}
.prep-skip:hover{background:#ccf19b2b;transform:translateY(-1px)}
@media(max-width:550px){.prep-stage{font-size:9px;padding:8px 3px}.prep-stage b{font-size:9px}.prep-actions{flex-direction:column-reverse}.prep-skip{width:100%}}
@media(prefers-reduced-motion:reduce){.busy-progress--determinate>div{transition:none!important}}

/* Mealwise 3.0: account controls and lightweight admin dashboard */
.footer-link{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
.admin-dialog{border:0;border-radius:22px;padding:36px;max-width:min(760px,95vw);width:100%;max-height:90vh;overflow:auto;background:#fff;color:#132b21;box-shadow:0 25px 100px #06160e75}
.admin-dialog::backdrop{background:#092018aa;backdrop-filter:blur(5px)}
.admin-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.admin-tile{border:1px solid #dce7db;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:7px}
.admin-tile strong{font-size:24px;color:#123928}.admin-tile small{color:#6d8172}
.admin-events{border-top:1px solid #dfebdf;margin:12px 0 25px}
.admin-events>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1ed}
.account-verify{background:#f0f5e8;border-radius:10px;padding:14px;color:#244b37}
@media(max-width:640px){.admin-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dialog{padding:22px}}


/* Mealwise 3.1: food photography and admin conversion report */
.meal-photo{display:block;width:100%;height:100%;object-fit:cover;border-radius:14px}.meal-art:has(.meal-photo){padding:0;overflow:hidden}
.free-preview-photo{display:block;width:100%;max-height:155px;object-fit:cover;border-radius:13px;margin-bottom:14px}
.free-preview-photo[hidden]{display:none}.recipe-photo{display:block;width:100%;max-height:210px;object-fit:cover;border-radius:13px;margin:10px 0}
.admin-funnel{display:grid;gap:13px;margin:18px 0 29px}.funnel-line>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:7px}.funnel-line b{font-variant-numeric:tabular-nums}.funnel-track{background:#edf3e9;height:12px;border-radius:50px;overflow:hidden}.funnel-track i{display:block;background:#80b66b;height:100%;border-radius:50px}
.admin-source-table{border:1px solid #dce7db;border-radius:12px;overflow:hidden;margin:15px 0 25px;font-size:12px}.admin-source-header,.admin-source-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;padding:12px;border-bottom:1px solid #e5eee4}.admin-source-header{background:#eef5e8;color:#456048;font-weight:750}.admin-source-row:last-child{border-bottom:0}.admin-source-row span{text-align:right}.admin-source-header span:not(:first-child){text-align:right}
.admin-daily{display:flex;align-items:end;gap:9px;height:145px;padding:15px 2px 25px;margin:14px 0 25px;border-bottom:1px solid #dce7db}.daily-bar{height:100%;flex:1;min-width:8px;max-width:45px;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:6px}.daily-bar i{display:block;background:#b1d889;border-radius:5px 5px 0 0;width:100%;min-height:3px}.daily-bar small{color:#627b64;font-size:9px;white-space:nowrap}
@media(max-width:550px){.admin-source-header,.admin-source-row{font-size:10px;gap:5px;padding:9px}.free-preview-photo{max-height:120px}}

/* Mealwise 3.2 analytics controls and conversion overview */
.admin-filter{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:8px 0 18px;color:#56795e;font-weight:700;font-size:13px}
.admin-filter select{background:#f0f6eb;border:1px solid #c8d9c5;border-radius:10px;color:#1e3c2e;font-weight:750;padding:9px 12px;font:inherit}
.admin-filter select:focus-visible{outline:2px solid #6ba45d;outline-offset:2px}
.admin-conversions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.admin-conversions>div{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #dce7d8;border-radius:12px;background:#f4f8f1}
.admin-conversions b{font-size:21px;color:#1c3925;font-variant-numeric:tabular-nums}
.admin-conversions small{font-size:12px;color:#607466}
.admin-hint{font-size:12px;color:#65776a;line-height:1.55;margin:10px 0 25px}
@media(max-width:650px){.admin-conversions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-conversions>div{padding:11px}.admin-conversions b{font-size:18px}}


/* Mealwise 3.2.2 — transparently illustrative cost on free meal preview. */
.free-cost{margin:14px 0 11px;padding:13px 14px;background:#edf6e8;border:1px solid #d9eacb;border-radius:13px}
.free-cost-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.free-cost-row span{font-size:11px;font-weight:800;color:#5a8058}
.free-cost-row strong{font-size:20px;letter-spacing:-.6px;color:#1d4b2c;font-variant-numeric:tabular-nums;white-space:nowrap}
.free-cost small{display:block;color:#778b78;font-size:10px;line-height:1.5;margin-top:7px}
@media(max-width:550px){.free-cost{padding:12px}.free-cost-row strong{font-size:18px}}

/* Mealwise 3.3: mobile comfort, photo provenance and safe admin controls */
.day-select{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;max-width:100%;padding:2px 2px 8px;scrollbar-width:thin}
.day-select button{min-width:44px;min-height:44px;flex:0 0 auto;scroll-snap-align:start;font-weight:750}
.day-select button[aria-pressed="true"]{border-color:#53764a;box-shadow:0 0 0 2px #b8dba5}
.daily-energy-note{color:#536f5c;background:#eef5e9;border-radius:10px;padding:11px 14px;font-size:12px;line-height:1.6;margin:0 0 15px}
.meal-art{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}
.meal-illustration{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:48px;filter:drop-shadow(0 8px 10px #4c755422);background:radial-gradient(ellipse at 50% 60%,#ffffffb6 0 37%,transparent 38%),radial-gradient(circle at 20% 10%,#fff8 0 20%,transparent 30%)}
.meal-art .meal-photo{border-radius:12px;object-position:center}
.meal-photo-tag{position:absolute;bottom:5px;left:5px;z-index:1;font-size:9px;letter-spacing:.02em;padding:4px 7px;border-radius:6px;background:#162d23dd;color:white;font-weight:700}
.photo-credit{font-size:11px;line-height:1.6;margin:7px 0 13px;color:#587365}
.photo-credit a{color:#3c7751;text-decoration:underline}
.admin-tools{border-top:1px solid #e3ece0;padding-top:24px;margin-top:26px}
.admin-tools h3{font-size:19px;margin:22px 0 8px}
.admin-lookup-form{display:flex;align-items:end;gap:10px;margin:15px 0;flex-wrap:wrap}
.admin-lookup-form label{display:grid;gap:7px;flex:1 1 240px;font-size:12px;font-weight:700;color:#4b6655}
.admin-lookup-form input,.admin-catalog-filters input,.admin-catalog-filters select,.admin-account-actions select{width:100%;min-height:44px;border-radius:11px;border:1px solid #cfdfca;background:#fff;padding:10px 12px;font:inherit;font-size:13px;color:#233e2b}
.admin-lookup-form button{min-height:44px}
.admin-account-result{display:grid;gap:7px;font-size:12px;line-height:1.55;margin:10px 0 14px;padding:14px;background:#f2f7ed;border-radius:12px;overflow-wrap:anywhere}
.admin-account-result strong{font-size:14px}
.admin-warning{color:#9a4b36;font-weight:700}
.admin-account-actions{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:13px 0 26px}
.admin-account-actions label{display:grid;gap:4px;flex:1 1 95px;font-size:11px;color:#54735b}
.admin-account-actions button{min-height:44px}
.admin-account-actions button:disabled{opacity:.45;cursor:not-allowed}
.admin-catalog-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr);gap:9px;margin:12px 0}
.admin-catalog-list{border-top:1px solid #e3ece0}
.admin-catalog-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e6eee3}
.admin-catalog-row>div{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.admin-catalog-row strong{font-size:13px}
.admin-catalog-row small{font-size:11px;line-height:1.5;color:#637d68}
.admin-catalog-row.is-disabled strong{color:#7b8c7c;text-decoration:line-through}
.admin-catalog-row button{flex:0 0 auto;min-height:42px}
#adminCatalogMore{display:block;margin:14px auto 25px;min-height:44px}
#adminCatalogMore[hidden]{display:none}
.admin-dialog button:focus-visible,.admin-dialog input:focus-visible,.admin-dialog select:focus-visible,.day-select button:focus-visible{outline:3px solid #71a364;outline-offset:2px}
@media(max-width:650px){
 .dashboard-shell{padding-inline:12px}
 .meal-card{gap:11px;padding:12px;border-radius:15px}
 .meal-art{width:90px;flex-basis:90px;height:94px}
 .meal-info h4{font-size:15px;line-height:1.4}
 .meal-type{font-size:9px}
 .meal-macros{font-size:10px;gap:5px}
 .meal-side{gap:10px}
 .meal-calories{font-size:21px}
 .swap-button{min-height:42px;min-width:74px}
 .admin-dialog{padding:20px 16px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 .admin-lookup-form button{width:100%}
 .admin-catalog-row{gap:8px}
 .admin-catalog-row button{padding:9px;font-size:11px}
 .admin-account-actions button{flex:1 1 42%}
}
@media(max-width:395px){
 .meal-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start}
 .meal-art{width:88px;height:96px;flex-basis:auto}
 .meal-side{grid-column:2;align-items:flex-start;flex-direction:row;justify-content:space-between}
 .meal-calories small{text-align:left}
 .admin-catalog-filters{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.meal-card,.meal-art{animation:none;transition:none}}

/* Two-tier Mealwise commercial UI: scoped to pricing & Premium features. */
.pricing-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch;position:relative;z-index:2}
.pricing-options .pay-card{position:relative;inset:auto;transform:none;width:100%;max-width:none;margin:0;box-shadow:0 13px 34px #1d3b221c;padding:20px 16px;border:1px solid #dae6d7}
.pricing-options .pay-card h3{font-size:24px;line-height:1.15;margin:10px 0}
.pricing-options .pay-card>p{font-size:11px;line-height:1.5;margin:7px 0;min-height:70px}
.pricing-options .pay-card .pay-value{font-size:35px;margin:12px 0}
.pricing-options .pay-card .action{font-size:12px;gap:6px;min-height:50px;padding:11px}
.pricing-options .pay-card-premium{border-color:#9dc98d;background:linear-gradient(155deg,#fbfff8,#eef8e9)}
.pricing-options .payment-hint{grid-column:1/-1;line-height:1.55;color:#6f856e;font-size:11px;text-align:center}
.pricing-options .premium-launch-note{color:#3f7650!important;font-weight:750;min-height:0!important}
.pricing-options .pay-card-premium>small{display:block;margin-top:12px;font-size:10px;color:#6d806e;line-height:1.5}
.locked-wrap:has(.pricing-options){padding:19px;overflow:visible}
.pricing-options .pay-features{font-size:10px;gap:6px;margin-bottom:16px}
.account-tier{font-weight:750;color:#567b50;margin-top:-10px}
.premium-tab{white-space:nowrap}
.premium-locked,.premium-tools{background:#fff;border:1px solid #dce7d8;border-radius:19px;padding:25px}
.premium-locked h3,.premium-tools h3{font-size:25px;letter-spacing:-.7px;margin:8px 0}
.premium-locked p{line-height:1.65;color:#6d7f6c;font-size:13px}
.premium-locked .action{margin-top:10px}
.premium-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.premium-chip{padding:9px 12px;background:#e7f4dc;border-radius:40px;color:#426d43;font-size:11px;font-weight:850;white-space:nowrap}
.premium-notice{background:#fff6e7;border:1px solid #efdeb9;border-radius:13px;color:#736143;padding:14px;font-size:12px;line-height:1.65;margin:17px 0}
.premium-controls{display:flex;gap:13px;align-items:end;margin:22px 0;flex-wrap:wrap}
.premium-controls>.field{flex:1 1 220px}
.premium-controls .action{min-height:52px;flex:1 1 240px;justify-content:center}
.premium-summary{display:grid;gap:10px;margin:18px 0}
.premium-tile{background:#f0f6eb;border-radius:14px;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}
.premium-tile strong{font-size:21px;font-variant-numeric:tabular-nums}
.premium-tile small{color:#6c856a;font-size:10px;display:block}
.premium-pantry{margin:25px 0}
.premium-pantry h4{font-size:20px;margin-bottom:4px;color:#213d29}
.premium-pantry>p{color:#35543d;font-size:13px;line-height:1.65}
.premium-pantry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.premium-pantry-grid .premium-pantry-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,145px);
  align-items:center;gap:5px 12px;padding:13px 14px;border-radius:12px;background:#f3f8ef;
  border:1px solid #c7d9c2;color:#253e2c;font-size:13px;cursor:text}
.premium-pantry-name{font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.premium-pantry-input-wrap{display:flex;align-items:center;min-width:0;background:#fff;border:1px solid #91aa8c;border-radius:10px;overflow:hidden}
.premium-pantry-input-wrap:focus-within{outline:3px solid #83bb72;outline-offset:1px}
.premium-pantry-grid .premium-pantry-input-wrap input{width:100%;min-width:0;border:0;border-radius:0;
  padding:10px 5px 10px 12px;background:transparent;color:#1b3622;font-size:15px;font-weight:800;
  font-variant-numeric:tabular-nums;outline:0}
.premium-pantry-unit{min-width:35px;padding-right:10px;color:#345740;font-size:13px;font-weight:750;text-align:right}
.premium-pantry-hint{grid-column:1/-1;color:#506b56;font-size:11px;line-height:1.5}
.premium-change-line{padding:12px;margin-top:8px;background:#f1f7ed;border-radius:10px;font-size:12px;color:#4c7751}
.premium-tools #premiumOptimize{width:100%;justify-content:center;margin:5px 0}
.meal-side .premium-cheaper{border:1px solid #b2d1a9;background:#eff9e9;color:#467649}
@media(max-width:1020px){.pricing-options{grid-template-columns:1fr}.pricing-options .pay-card>p{min-height:0}.locked-wrap:has(.pricing-options){max-width:none}}
@media(max-width:550px){.pricing-options{grid-template-columns:1fr}.pricing-options .pay-card{padding:19px}.premium-tools,.premium-locked{padding:17px}.premium-pantry-grid{grid-template-columns:1fr}.premium-heading{align-items:start;flex-direction:column}.premium-tile strong{font-size:17px}.premium-controls{flex-direction:column;align-items:stretch}.premium-controls>.field,.premium-controls .action{flex:unset}}

/* Mobile Chromium QA fixes: no decorative overflow and accessible touch targets. */
.locked-wrap:has(.pricing-options){overflow:hidden}
.dialog-close{
  display:grid;place-items:center;
  width:44px;height:44px;min-width:44px;min-height:44px;
}
@media(max-width:440px){
  .topbar-inner{gap:6px}
  .top-progress{min-width:0;max-width:72px;flex:0 1 72px;font-size:8px;letter-spacing:0}
  .top-progress-rail{width:100%}
  .brand{font-size:17px;gap:5px;flex-shrink:1;min-width:0}
  .brand-symbol{width:33px;height:33px;min-width:33px;font-size:24px}
  .brand small{font-size:6px;letter-spacing:1px;white-space:nowrap}
  .account-button{padding:9px 8px;font-size:10px;flex:0 0 auto}
}


/* Unified illustrated fallback for recipes without a verified photo. */
.meal-art{border:1px solid #dce7d8}
.meal-illustration{width:100%;height:100%;display:grid;place-items:center;position:relative;
  background:radial-gradient(circle at 26% 17%,#ffffff99,transparent 37%),linear-gradient(135deg,#e4f1de,#d7e7d8);
  filter:none}
.meal-art.dinner .meal-illustration{background:linear-gradient(135deg,#d9e9dd,#cfe3d9)}
.meal-art.lunch .meal-illustration{background:linear-gradient(135deg,#e9efdc,#dfe7cc)}
.meal-art.snack .meal-illustration,.meal-art.snack2 .meal-illustration{background:linear-gradient(135deg,#faf0df,#efe3ca)}
.meal-illustration-plate{width:71%;aspect-ratio:1;border-radius:50%;background:#fffdf5;
  border:5px solid #ffffffb3;box-shadow:0 6px 20px #213d2b24,inset 0 0 0 2px #e0ead9;
  display:grid;place-items:center;font-size:clamp(23px,2.8vw,39px);line-height:1}
.meal-art .meal-photo-tag--illustration{background:#20372ad9;color:#fff}
@media(max-width:550px){.meal-illustration-plate{border-width:3px;font-size:23px}
 .meal-art .meal-photo-tag{font-size:8px;padding:3px 4px;bottom:3px;left:3px}}
/* Saving budget + pantry happens directly after the last pantry input. */
.premium-pantry-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
 gap:14px;margin-top:19px;padding:16px;border-radius:13px;background:#edf6e7;border:1px solid #cbdcc3}
.premium-pantry-actions p{margin:0;flex:1 1 215px;font-size:12px;color:#37513c;line-height:1.5}
.premium-pantry-actions .action{flex:0 1 auto;min-height:48px;gap:0;padding:13px 18px}
.premium-controls .field{max-width:420px}
@media(max-width:550px){.premium-pantry-actions{align-items:stretch;flex-direction:column}
 .premium-pantry-actions .action{width:100%;justify-content:center}
 .premium-controls .field{max-width:none}}

/* External sample images never block the recipe; missing images have a labeled fallback. */
.recipe-image-unavailable{display:grid;place-items:center;min-height:160px;border:1px dashed #c5d7bf;border-radius:14px;background:linear-gradient(145deg,#f4f9ed,#e9f1e6);color:#527154;font-size:14px;font-weight:750;text-align:center;padding:24px;margin:14px 0}


/* Premium: immediate budget preview with an explicit persistence step. */
.premium-controls{align-items:end}
.premium-controls #premiumBudgetApply{min-height:52px;flex:0 1 200px}
.premium-budget-status{flex:1 1 100%;margin:0;color:#36593e;font-size:12px;line-height:1.55}
.premium-budget-status.is-dirty{color:#79541b;font-weight:750}
.premium-budget-status.is-error{color:#a13227}
.premium-tile.is-over-budget{background:#fff1e9;border:1px solid #efb8a3}
.premium-tile.is-over-budget strong{color:#a33324}
.premium-controls input[aria-invalid="true"]{border-color:#b84d39;outline-color:#b84d39}
@media(max-width:550px){.premium-controls #premiumBudgetApply{width:100%;flex:none;justify-content:center}}

/* Real cooked-food photos only; text fallback does not imitate a dish. */
.meal-photo-unavailable{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:10px;text-align:center;background:linear-gradient(140deg,#e8ede7,#f8f7f1);color:#53705b;font-size:11px;font-weight:750;line-height:1.35}
.meal-art:has(.meal-photo-unavailable){padding:0}
@media(max-width:550px){.meal-photo-unavailable{font-size:9px;padding:5px}}


/* Mealwise language selector: in header, not over page content. */
.mw-language-picker{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;color:var(--forest,#11271e);background:#fff;border:1px solid #d5e5de;border-radius:999px;padding:6px 9px;font:13px system-ui,sans-serif;white-space:nowrap}
.mw-language-picker select{background:transparent;border:0;min-width:0;max-width:85px;color:inherit;font:inherit;cursor:pointer}
.mw-language-picker select:focus-visible{outline:2px solid #5c9665;outline-offset:2px}
@media(max-width:550px){.mw-language-picker{padding:4px 6px;font-size:12px;gap:2px}.mw-language-picker select{max-width:67px}}

/* Language selector and RTL text fallback for international audiences. */
html[dir="rtl"] .mw-language-picker{direction:ltr}
html[dir="rtl"] .mw-language-picker select{direction:ltr}
html[lang="hi"] body,html[lang="bn"] body,html[lang="ta"] body,html[lang="ar"] body{font-family:Inter,"Noto Sans Devanagari","Noto Sans Bengali","Noto Sans Tamil","Noto Naskh Arabic","Segoe UI",Arial,sans-serif}

/* Longer translated food labels must wrap inside cards and shopping lists. */
.shopping-item span,.ingredients-list li span,.meal-info h4,.recipe-dialog h2{overflow-wrap:anywhere}
html[dir="rtl"] .shopping-item,html[dir="rtl"] .ingredients-list li{direction:rtl}

/* Short data-handling summary; not a full legal privacy policy. */
.privacy-status{font-weight:600;line-height:1.6;overflow-wrap:anywhere}
html[dir="rtl"] #privacyDialog{text-align:start}

/* Keep free-preview limitations visible beneath period choices. */
.period-disclosure{margin:11px 0 0;color:#53665a;font-size:12px;line-height:1.65;max-width:72ch;overflow-wrap:anywhere}

/* Owner-only weight history in account dialog; no third-party chart libraries. */
#accountDialog{width:min(560px,calc(100vw - 20px));max-height:min(92dvh,940px);overflow-y:auto;box-sizing:border-box}
.account-body-metrics{border-top:1px solid #e1e9df;margin:22px 0;padding:19px 0 8px;min-width:0}
.account-body-metrics h3{font-size:21px;letter-spacing:-.4px;margin:0 0 6px;color:#15392c}
.account-body-metrics h4{font-size:14px;font-weight:800;margin:0;color:#213d31}
.body-metrics-note{font-size:12px;line-height:1.55;color:#668070;margin:8px 0 15px;overflow-wrap:anywhere}
.body-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.body-metric{display:flex;flex-direction:column;min-width:0;padding:14px 9px;border-radius:13px;border:1px solid #deeadb;background:#f3f8ef;text-align:center}
.body-metric small{font-size:11px;color:#617969;font-weight:700}
.body-metric strong{font-size:26px;color:#15382b;line-height:1.25;margin-top:4px;font-variant-numeric:tabular-nums}
.body-metric>span{font-size:11px;color:#617969}
.body-chart-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:19px 0 9px}
#bodyWeightDelta{font-size:12px;font-weight:800;color:#325f41;font-variant-numeric:tabular-nums}
.body-weight-chart{border:1px solid #dfeadf;background:#fff;border-radius:13px;padding:9px;min-width:0;overflow:hidden}
.body-weight-chart svg{width:100%;height:auto;display:block;overflow:visible}
.body-weight-chart p{margin:14px 8px;font-size:12px;color:#687e70}
.body-weight-form{margin-top:16px}
.body-weight-form h4{margin-bottom:9px}
.body-weight-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.body-weight-inputs label{font-size:12px;color:#405c4a;font-weight:750}
.body-weight-inputs label span{display:block;margin-bottom:5px}
.body-weight-inputs input{display:block;box-sizing:border-box;width:100%;min-width:0;padding:11px 9px;min-height:42px;border:1px solid #cadccc;border-radius:10px;background:white;font:inherit;color:#16362b}
#bodyWeightSubmit{margin-top:11px;min-height:42px}
#bodyWeightFeedback{margin-bottom:0}
@media(max-width:380px){#accountDialog{padding:24px 16px}.body-metric{padding:12px 5px}.body-metric strong{font-size:23px}.body-weight-inputs{gap:7px}}


/* Header navigation: one premium entry, styled language control, responsive two-row layout. */
.topbar-inner{
 display:grid;
 grid-template-columns:auto minmax(0,1fr) auto auto auto;
 align-items:center;
 gap:11px;
}
.topbar-inner .brand{grid-column:1}
.topbar-inner .top-progress{grid-column:2;justify-self:center}
.header-premium-button{
 grid-column:3;
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 min-height:42px;padding:10px 16px;border:1px solid #f3db93;
 border-radius:12px;
 background:linear-gradient(120deg,#f8e4aa,#d9b96b);
 color:#1d3727;font-size:12px;font-weight:850;letter-spacing:.1px;
 white-space:nowrap;
 box-shadow:0 5px 20px #e2bb6530;
 transition:transform .18s,box-shadow .18s,filter .18s;
}
.header-premium-button span:first-child{font-size:20px;line-height:1;color:#5c4b20}
.header-premium-button:hover{transform:translateY(-1px);box-shadow:0 7px 24px #e6ce8547;filter:brightness(1.04)}
.header-premium-button.is-active{box-shadow:0 0 0 2px #c7f08344,0 5px 20px #e2bb6530}
.mw-language-picker{
 grid-column:4;position:relative;
 display:inline-flex;align-items:center;gap:8px;
 min-height:42px;min-width:133px;max-width:175px;
 padding:8px 31px 8px 12px;
 border:1px solid #668b6e96;border-radius:12px;
 color:#f4f8eb;background:linear-gradient(135deg,#244435,#1a382a);
 font:600 12px Inter,"Segoe UI",sans-serif;
 box-shadow:inset 0 1px #ffffff12;white-space:nowrap;
}
.mw-language-icon{flex:none;font-size:18px;line-height:1;font-weight:850;color:var(--lime)}
.mw-language-picker select{
 appearance:none;-webkit-appearance:none;
 display:block;min-width:0;width:100%;max-width:none;
 flex:1 1 auto;line-height:1.25;
 padding:0;border:0;border-radius:0;
 background:transparent;color:#f4f8eb;font:inherit;
 cursor:pointer;
}
.mw-language-picker select option{color:#182e21;background:#fcfff9}
.mw-language-picker:after{
 content:'';position:absolute;right:13px;top:calc(50% - 4px);
 width:7px;height:7px;transform:rotate(45deg);
 border-right:1.8px solid var(--lime);border-bottom:1.8px solid var(--lime);
 pointer-events:none;
}
.mw-language-picker:hover{border-color:#b4d597a8;background:#274a38}
.mw-language-picker:focus-within{outline:3px solid #a6d68c;outline-offset:2px}
.mw-language-picker select:focus-visible{outline:none}
.topbar-inner .account-button{grid-column:5;min-height:42px}
.header-premium-dialog{background:var(--paper);color:var(--ink)}
.header-premium-dialog .action{width:100%;justify-content:center;margin-top:18px}
@media(max-width:720px){
 .topbar{height:auto;min-height:107px}
 .topbar-inner{
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:9px 11px;
  padding-block:9px;
 }
 .topbar-inner .brand{grid-column:1;grid-row:1;justify-self:start}
 .topbar-inner .account-button{grid-column:2;grid-row:1;justify-self:end}
 .header-premium-button{
  grid-column:1;grid-row:2;
  width:100%;min-width:0;min-height:40px;padding:8px 9px;
 }
 .mw-language-picker{
  grid-column:2;grid-row:2;
  width:138px;max-width:100%;min-width:0;
  min-height:40px;justify-self:end;
  padding:7px 28px 7px 10px;
 }
 .topbar-inner .top-progress:not([hidden]){
  grid-column:1 / -1;grid-row:3;justify-self:center;
  min-width:0;width:100%;max-width:230px;
 }
 .top-progress-rail{width:100%}
}
@media(max-width:360px){
 .topbar-inner{gap:8px}
 .header-premium-button{font-size:11px}
 .mw-language-picker{width:128px;gap:6px}
 .mw-language-picker select{font-size:11px}
}

/* Account 2.0: compact form, section navigation, accessible time range. */
.account-sections-nav{display:flex;gap:5px;flex-wrap:wrap;margin:16px 0 6px;border-bottom:1px solid #e0e9e0;padding-bottom:12px}
.account-sections-nav button{border:1px solid #d6e4d7;border-radius:999px;background:#fff;color:#24573e;font-size:12px;font-weight:750;padding:10px 13px;cursor:pointer;min-height:40px}
.account-sections-nav button[aria-current=page]{background:#e1f0e4;border-color:#a2c9b0}
.account-extra-section{margin:14px 0 22px;padding:8px 0 12px;border-bottom:1px solid #e0e9e0}
.account-extra-section h3{font-size:20px;color:#163a2c;margin:4px 0}
.account-extra-section[hidden],#bodyProgressPanel[hidden],#profileRecalcResult[hidden]{display:none!important}
.account-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-profile-fields label,.account-profile-wide{display:block;font-size:12px;font-weight:750;color:#345343;min-width:0}
.account-profile-fields label span,.account-profile-wide span{display:block;margin:0 0 5px}
.account-profile-fields select,.account-profile-fields input,.account-profile-wide input,#profileFoodFilter,.body-chart-header select{box-sizing:border-box;min-height:42px;width:100%;min-width:0;border-radius:9px;padding:9px;border:1px solid #cadaca;background:#fff;color:#16362b;font:inherit}
.account-profile-wide{margin:13px 0}
.account-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:7px 0 13px}
.account-choice-grid label{font-size:12px;color:#31503e;display:flex;align-items:flex-start;gap:6px;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.account-choice-grid input,.account-profile-special input{margin-top:2px;flex-shrink:0;accent-color:#397851}
.account-food-grid{max-height:145px;overflow-y:auto;border:1px solid #dceadc;padding:10px;border-radius:10px}
.account-profile-special{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.45;color:#45604a;margin:10px 0}
#profileSaveButton,#profileRecalcPreview,#profileRecalcConfirm{min-height:44px;margin-top:9px}
#bodyChartRange{width:auto;min-height:36px;padding:6px;font-size:12px}
.body-chart-header{flex-wrap:wrap}
.account-recalc-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.account-recalc-compare>div{background:#f2f7f1;border-radius:11px;padding:12px}
.account-recalc-compare small{display:block;color:#6d8270;font-size:12px}
.account-recalc-compare strong{font-size:24px;color:#204e34}
@media(max-width:390px){.account-profile-fields{gap:7px}.account-choice-grid{grid-template-columns:1fr}.account-sections-nav button{flex:1 1 28%;padding:8px 5px;font-size:11px}.body-chart-header{gap:6px}}

/* Shopping checklist: stays in the dedicated "Список покупок" tab. */
.shopping-head-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:flex-end}
.shopping-head-actions .subtle-button:disabled{opacity:.55;cursor:not-allowed}
.shopping-progress{font-size:12px;color:#4d8058;font-weight:750;margin:6px 0 0}
.shopping-storage-hint{font-size:12px;color:#6c806d;line-height:1.5;margin:0 0 14px}
.shopping-product{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.shopping-product input{appearance:none;width:22px;height:22px;border:2px solid #8fb186;
 background:#fff;border-radius:7px;flex:0 0 22px;cursor:pointer;position:relative;margin:0}
.shopping-product input:checked{background:#326b43;border-color:#326b43}
.shopping-product input:checked:after{content:'✓';position:absolute;inset:-2px 0 0;
 text-align:center;font-size:17px;line-height:20px;color:#fff;font-weight:850}
.shopping-product input:focus-visible{outline:3px solid #80b26f;outline-offset:3px}
.shopping-product-name{overflow-wrap:anywhere}
.shopping-item{align-items:center;cursor:pointer;min-height:44px}
.shopping-item strong{flex:0 0 auto;white-space:nowrap}
.shopping-item.is-bought .shopping-product-name{text-decoration:line-through;color:#7b8c7c}
.shopping-item.is-bought strong{color:#7b8c7c}
@media(max-width:600px){
 .shopping-head{align-items:flex-start;flex-direction:column}
 .shopping-head-actions{justify-content:flex-start;width:100%}
 .shopping-head-actions .subtle-button{flex:1 1 auto}
 .shopping-categories{grid-template-columns:minmax(0,1fr)}
}

/* Mealwise retail styles */
/* Scoped visual style for a future Mealwise dashboard tab. */
.mw-retail {
 --mw-forest:#11271e;--mw-ink:#17291e;--mw-muted:#708576;
 --mw-line:#dde8da;--mw-cream:#f5f7f0;--mw-lime:#c7f083;
 color:var(--mw-ink);font-family:Inter,"Segoe UI",Arial,sans-serif;
 width:100%;max-width:1160px;margin:0 auto;padding:0 0 42px;line-height:1.45;
}
.mw-retail *{box-sizing:border-box}
.mw-retail button,.mw-retail input{font:inherit}
.mw-retail button:not(:disabled){cursor:pointer}
.mw-retail button:disabled{cursor:not-allowed;opacity:.65}
.mw-retail :focus-visible{outline:3px solid #80b26f;outline-offset:3px}
.mw-retail [hidden]{display:none!important}
.mw-retail__hero{background:radial-gradient(circle at 93% 0,#38684a,#11271e 61%);
 color:white;padding:36px 42px;border-radius:28px;overflow:hidden}
.mw-retail__kicker{font-size:11px;font-weight:850;letter-spacing:2.1px;color:#cbf4a3}
.mw-retail__hero-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.mw-retail__hero h2{font-size:clamp(35px,4vw,55px);letter-spacing:-2.8px;line-height:1.09;margin:16px 0}
.mw-retail__hero h2 em{font-style:normal;color:var(--mw-lime)}
.mw-retail__hero p{color:#c0d4c5;font-size:15px;line-height:1.65;max-width:520px;margin:0}
.mw-retail__hero-icon{font-size:74px;width:146px;height:146px;border-radius:50%;
 background:#ffffff14;display:grid;place-items:center;flex-shrink:0}
.mw-retail__notice{margin:18px 0 25px;padding:16px 19px;background:#fdf6e7;
 border:1px solid #e8d6b1;border-radius:14px;font-size:13px;color:#786746;line-height:1.6}
.mw-retail__notice strong{color:#554a31}
.mw-retail__controls{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0 8px}
.mw-retail__controls label{font-size:12px;font-weight:850;display:block}
.mw-retail__controls input{margin-top:8px;width:100%;border:1px solid #d4e2cf;
 border-radius:12px;min-height:52px;padding:0 16px;background:white;color:var(--mw-ink);
 font-weight:500;font-size:14px}
.mw-retail__controls input::placeholder{color:#9bab9c}
.mw-retail__muted{font-size:12px;color:var(--mw-muted);line-height:1.65;margin:9px 0 0}
.mw-retail__panel{background:white;border:1px solid var(--mw-line);border-radius:22px;
 box-shadow:0 8px 35px #132f1910;padding:25px;margin:22px 0}
.mw-retail__panel-head{display:flex;align-items:start;justify-content:space-between;
 gap:16px;margin-bottom:20px}
.mw-retail__panel-head h3{font-size:24px;letter-spacing:-.8px;margin:0 0 3px}
.mw-retail__panel-head p{font-size:12px;color:var(--mw-muted);margin:0}
.mw-retail__link{background:#f1f6ed;color:#4f7953;border:1px solid #dfe9d9;
 padding:10px 13px;border-radius:11px;font-size:12px;font-weight:800;white-space:nowrap}
.mw-retail__link:hover:not(:disabled){background:#e5f1df}
.mw-retail__groups{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:17px;margin-bottom:18px;
 border-bottom:1px solid #edf1eb}
.mw-retail__group{font-size:12px;font-weight:800;background:#f1f5ee;color:#5f7865;
 border:1px solid transparent;border-radius:100px;padding:10px 14px}
.mw-retail__group:hover{background:#e8f1e1}
.mw-retail__group.active{color:#defabf;background:var(--mw-forest)}
.mw-retail__store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mw-retail__store{display:flex;align-items:center;gap:11px;border:1px solid #e2eadf;
 padding:14px;border-radius:15px;background:white;min-height:76px;cursor:pointer;
 transition:background .16s,border-color .16s,transform .16s;position:relative}
.mw-retail__store:hover{transform:translateY(-2px);border-color:#a7c89b}
.mw-retail__store.is-selected{background:#edf7e6;border-color:#86b979}
.mw-retail__store input{position:absolute;opacity:0;width:1px;height:1px}
.mw-retail__store:has(input:focus-visible){outline:3px solid #80b26f;outline-offset:2px}
.mw-retail__store-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;
 background:#eaf1e6;color:#437c4f;border-radius:12px;font-weight:950;font-size:19px}
.mw-retail__store.is-selected .mw-retail__store-mark{background:#d4eabc}
.mw-retail__store-info{min-width:0;flex:1}
.mw-retail__store-info strong{display:block;font-size:13px;letter-spacing:-.2px;overflow-wrap:anywhere}
.mw-retail__store-info small{display:block;font-size:10px;color:#849786;margin-top:4px;line-height:1.3}
.mw-retail__tick{font-size:17px;color:#69925f;font-weight:950;flex:none}
.mw-retail__basket-group{margin:10px 0 22px}
.mw-retail__basket-group:last-child{margin-bottom:0}
.mw-retail__basket-group h4{font-size:13px;color:#4d8556;background:#f2f8ec;
 border-radius:9px;padding:10px 12px;margin:0 0 4px}
.mw-retail__basket-row{display:flex;justify-content:space-between;gap:16px;
 align-items:center;padding:13px 12px;border-bottom:1px solid #edf2e9;font-size:13px}
.mw-retail__basket-row:last-child{border-bottom:0}
.mw-retail__basket-row strong{font-size:12px;white-space:nowrap}
.mw-retail__blank{text-align:center;padding:34px 20px;color:#738779;font-size:24px}
.mw-retail__blank p{font-size:13px;margin:10px auto}
.mw-retail__estimate{display:flex;align-items:center;justify-content:space-between;gap:20px;
 background:var(--mw-forest);border-radius:22px;color:white;padding:28px;margin-top:18px}
.mw-retail__estimate span,.mw-retail__estimate small{display:block;color:#b9d7bb;font-size:12px}
.mw-retail__estimate strong{display:block;font-size:26px;letter-spacing:-.9px;margin:6px 0}
.mw-retail__estimate button{border:0;border-radius:12px;padding:16px 20px;
 background:var(--mw-lime);color:var(--mw-forest);font-weight:850;white-space:nowrap}
.mw-retail__feedback{min-height:1.3em;font-size:12px;color:#4b8050;padding:5px;margin:8px 0 0}
@media(max-width:850px){
 .mw-retail__store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mw-retail__hero-icon{font-size:56px;width:106px;height:106px}
}
@media(max-width:550px){
 .mw-retail__hero{padding:26px 23px;border-radius:21px}
 .mw-retail__hero-icon{display:none}
 .mw-retail__hero h2{font-size:38px;letter-spacing:-1.8px}
 .mw-retail__hero p{font-size:13px}
 .mw-retail__controls{grid-template-columns:1fr;gap:12px}
 .mw-retail__panel{padding:16px;border-radius:18px;margin:17px 0}
 .mw-retail__panel-head{align-items:start}
 .mw-retail__panel-head h3{font-size:19px}
 .mw-retail__link{font-size:11px;padding:8px 9px;white-space:normal}
 .mw-retail__store-grid{grid-template-columns:1fr;gap:8px}
 .mw-retail__store{min-height:68px}
 .mw-retail__group{font-size:11px;padding:9px 11px}
 .mw-retail__estimate{align-items:stretch;flex-direction:column;padding:20px}
 .mw-retail__estimate button{width:100%}
}
@media(prefers-reduced-motion:reduce){.mw-retail *{transition:none!important}}

/* Dashboard's three navigation tabs remain readable on narrow viewports. */
.tabs-toolbar .tab-group{flex-wrap:wrap;max-width:100%}
@media(max-width:550px){.tabs-toolbar .tab-group{width:100%}.tabs-toolbar .tab{flex:1 1 auto;padding:10px 12px;font-size:11px}}

/* Favicon badges preserve a letter fallback on failed image loads. */
.mw-retail__store-mark{position:relative;background:#fff;border:1px solid #cfdfca;overflow:hidden}
.mw-retail__store-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}
.mw-retail__store-letter{display:grid;place-items:center;width:100%;height:100%}
.mw-retail__store-info small{color:#506956;font-size:11px}
.mw-retail__muted{color:#4f6954}


/* Comparison is intentionally unavailable; do not present the action as clickable. */
.mw-retail__estimate button:disabled{
 opacity:1;cursor:not-allowed;background:#dbe5da;color:#425b48;
 border:1px solid #9caf9d;box-shadow:none;text-decoration:none;
 transform:none;filter:none
}
.mw-retail__estimate button:disabled:hover{background:#dbe5da;transform:none}

/* Used-portion estimate: visible, readable, and explicitly not a shop quote. */
.mw-retail__basket-value{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.mw-retail__basket-rough-cost{color:#375c3d;font-size:11px;line-height:1.4;font-weight:650;white-space:normal}
.mw-retail__estimate{align-items:center}
.mw-retail__estimate strong[data-r="cost"]{font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.mw-retail__estimate small[data-r="costDisclaimer"]{max-width:690px;color:#e3f0e0;line-height:1.6;font-size:12px}
@media(max-width:550px){
 .mw-retail__basket-row{align-items:flex-start}
 .mw-retail__basket-value{max-width:52%}
 .mw-retail__basket-rough-cost{font-size:10px}
}


/* An operational comparison view: prices are entered by users, never invented by stores. */
.mw-retail__estimate button[data-r="compare"]{background:#c7f083;color:#11271e;cursor:pointer;
 min-height:52px;border:1px solid #b8da87;transition:background .15s}
.mw-retail__estimate button[data-r="compare"]:hover{background:#e2f7c0}
.mw-retail__comparison{scroll-margin-top:16px}
.mw-retail__comparison h3{margin:0 0 10px;font-size:23px;letter-spacing:-.5px}
.mw-retail__comparison-hint{color:#365540;font-size:12px;line-height:1.7;margin:9px 0}
.mw-retail__comparison-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.mw-retail__comparison-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
 border:1px solid #d4e5d0;border-radius:13px;background:#f6f9f3;padding:14px}
.mw-retail__comparison-row.is-lowest{background:#edf8e8;border-color:#84bb78}
.mw-retail__comparison-row>span:first-child{min-width:0;flex:1}
.mw-retail__comparison-row strong{display:block;font-size:13px;color:#213929}
.mw-retail__comparison-row small{display:block;font-size:11px;color:#56725b;margin-top:5px;line-height:1.4}
.mw-retail__manual-entry{flex:0 1 153px;display:flex;align-items:center;gap:7px}
.mw-retail__manual-entry input{max-width:125px;min-width:0;width:100%;border-radius:9px;
 padding:11px 10px;border:1px solid #98b69a;color:#1d3823;background:#fff;font-size:14px}
.mw-retail__manual-entry>span{font-size:13px;font-weight:750}
.mw-retail__comparison-result{background:#eef6e9;border-radius:11px;padding:13px 15px;
 color:#1c492b;font-size:13px;line-height:1.6}
@media(max-width:850px){.mw-retail__comparison-rows{grid-template-columns:1fr}}
@media(max-width:550px){.mw-retail__comparison-row{flex-wrap:wrap}
.mw-retail__manual-entry{flex:1 1 100%}.mw-retail__manual-entry input{max-width:none}}


/* Verified feed snapshots remain visually separate from user-entered prices. */
.mw-retail__auto-box{background:#f0f7ec;border:1px solid #cadec6;border-radius:16px;padding:18px;margin:16px 0}
.mw-retail__auto-box h4,.mw-retail__manual-title{font-size:17px;color:#213d2a;margin:0 0 10px}
.mw-retail__manual-title{margin-top:25px}
.mw-retail__auto-rows{display:grid;gap:10px;margin-top:13px}
.mw-retail__auto-row{display:flex;justify-content:space-between;align-items:center;gap:16px;
 background:#fff;border:1px solid #dbe8d5;border-radius:12px;padding:12px 14px}
.mw-retail__auto-row.has-price{border-color:#83bd75;background:#f9fef7}
.mw-retail__auto-row span{min-width:0}
.mw-retail__auto-row strong{display:block;color:#1c3b24;font-size:13px}
.mw-retail__auto-row small{display:block;font-size:11px;color:#4e6d54;line-height:1.5;margin-top:5px}
.mw-retail__auto-row b{font-size:15px;white-space:nowrap;color:#235330}
@media(max-width:550px){.mw-retail__auto-box{padding:13px}.mw-retail__auto-row{align-items:flex-start;flex-direction:column;gap:8px}}

/* City selection: informed opt-in geolocation, resilient manual fallback. */
.mw-retail__location-tools{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:13px 0 10px}
.mw-retail__locate{border:1px solid #accba7;background:#ebf7e6;color:#194126;
 border-radius:11px;min-height:46px;padding:11px 15px;font-size:12px;font-weight:850}
.mw-retail__locate:hover:not(:disabled){background:#def0d5}
.mw-retail__location-tools .mw-retail__link{min-height:46px}
.mw-retail__location-status{flex:1 1 100%;margin:0;color:#365b3b;font-size:12px;line-height:1.6;min-height:1.5em}
.mw-retail__verified-locations{border:1px solid #dce9d8;border-radius:14px;
 background:#f5faf2;margin:17px 0 8px;padding:17px}
.mw-retail__verified-locations>strong{font-size:14px;color:#23482c}
.mw-retail__verified-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.mw-retail__verified-shop{background:#fff;border:1px solid #d4e4d0;border-radius:11px;padding:13px}
.mw-retail__verified-shop strong{display:block;font-size:13px;margin-bottom:5px}
.mw-retail__verified-shop span{display:block;font-size:12px;color:#426449;overflow-wrap:anywhere}
.mw-retail__verified-shop small{display:block;margin-top:7px;color:#718570;font-size:11px}
@media(max-width:670px){.mw-retail__verified-grid{grid-template-columns:1fr}}
@media(max-width:550px){.mw-retail__location-tools .mw-retail__locate{flex:1 1 100%}
.mw-retail__location-tools .mw-retail__link{flex:1 1 100%}
.mw-retail__verified-locations{padding:13px}}

/* Recipe-ingredient exclusions, scoped to onboarding. */
.meal-exclusion-panel{margin:22px 0 18px;padding:20px;border:1px solid rgba(37,85,65,.14);border-radius:20px;background:rgba(246,250,245,.95)}
.meal-exclusion-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.meal-exclusion-heading strong{font-size:1.04rem;color:#213c31}
.meal-exclusion-heading small,.meal-exclusion-note,.meal-exclusion-empty{font-size:.85rem;color:#667b71;line-height:1.55}
.meal-exclusion-search input{width:100%;height:45px;border:1px solid #cedbd2;border-radius:12px;padding:0 14px;font:inherit;background:#fff;color:#20362b}
.meal-exclusion-search input:focus-visible,.meal-exclusion-panel button:focus-visible{outline:2px solid #237e58;outline-offset:2px}
.meal-exclusion-selected-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 8px;font-size:.88rem;color:#365747}
.meal-exclusion-panel button{font:inherit;cursor:pointer}
#meal-exclusion-clear,.meal-exclusion-group-head button{border:0;background:transparent;color:#306d51;font-size:.8rem;text-decoration:underline}
.meal-exclusion-picked{display:flex;flex-wrap:wrap;gap:6px;min-height:25px}
.meal-exclusion-pill{border:1px solid #9ccbb3;border-radius:25px;padding:5px 10px;background:#e7f5eb;color:#204c36;font-size:.81rem}
.meal-exclusion-pill span{padding-left:5px}
.meal-exclusion-groups{display:grid;gap:13px;margin-top:18px;max-height:370px;overflow:auto;overscroll-behavior:contain;padding-right:5px}
.meal-exclusion-group{border-top:1px solid #e4eee6;padding-top:11px}
.meal-exclusion-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.meal-exclusion-group-head strong{font-size:.88rem;color:#2b4538}
.meal-exclusion-options{display:flex;flex-wrap:wrap;gap:7px}
.meal-exclusion-option{background:#fff;border:1px solid #dce5df;border-radius:25px;padding:7px 11px;color:#304b3d;font-size:.86rem}
.meal-exclusion-option.active,.meal-exclusion-option[aria-pressed=true]{background:#236b4c;color:#fff;border-color:#236b4c}
.meal-exclusion-note{margin:14px 0 0}
@media(max-width:540px){.meal-exclusion-panel{padding:14px;border-radius:15px}.meal-exclusion-groups{max-height:340px}.meal-exclusion-option{padding:8px 10px}.meal-exclusion-group-head{align-items:flex-start}}

/* Rich premium swap results. */
.premium-change-summary{font-size:14px;line-height:1.65;color:#4b6552;margin:16px 0}
.premium-change-cards{display:grid;gap:13px;margin-top:16px}
.premium-change-card{padding:17px;background:#fff;border:1px solid #dce8d7;border-radius:18px;box-shadow:0 6px 18px #1426190b}
.premium-change-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;font-size:12px;font-weight:800;color:#5b8263}
.premium-change-meta strong{font-size:15px;color:#216340;white-space:nowrap}
.premium-change-meta small{font-size:10px;font-weight:500;color:#7c9180}
.premium-change-pair{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:11px;align-items:center}
.premium-change-meal{display:flex;align-items:center;gap:12px;min-width:0}
.premium-change-photo{width:104px;height:92px;flex:0 0 104px;display:grid;place-items:center;overflow:hidden;background:#eaf1e6;color:#6e8470;border-radius:12px;text-align:center;font-size:11px}
.premium-change-photo img{width:100%;height:100%;object-fit:cover;display:block}
.premium-change-copy{display:grid;gap:5px;min-width:0}
.premium-change-copy small{font-size:10px;color:#879789;font-weight:850;text-transform:uppercase;letter-spacing:1px}
.premium-change-copy strong{font-size:14px;line-height:1.35;color:#243e2d}
.premium-change-copy span{font-size:11px;color:#829384}
.premium-change-arrow{text-align:center;font-size:21px;color:#71a468}
.premium-change-open{margin-top:13px}
@media(max-width:740px){.premium-change-pair{grid-template-columns:1fr;gap:7px}.premium-change-arrow{transform:rotate(90deg)}.premium-change-meal{align-items:center}.premium-change-photo{width:96px;height:77px;flex-basis:96px}.premium-change-meta{align-items:flex-start;flex-wrap:wrap}}

/* Privacy-scoped member progress dashboard; invisible to guests and search crawlers. */
.home-progress{padding:19px 23px 18px;margin-block:24px 3px;border:1px solid #d6e6d5;border-radius:22px;background:linear-gradient(130deg,#fffefa,#f3f8ef);box-shadow:0 11px 40px #1a3c2510}
.home-progress-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:13px}
.home-progress-kicker{font-size:10px;letter-spacing:1.7px;font-weight:900;color:#5f8f60}
.home-progress-head h2{font-size:clamp(21px,2vw,27px);color:#143526;letter-spacing:-.6px;margin:4px 0}
.home-progress-head p{color:#688171;font-size:11px;margin:0}
.home-progress-add,.home-progress-save{min-height:43px;padding:9px 14px;background:#153a29;color:#e3f1d8;border:1px solid #153a29;border-radius:11px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}
.home-progress-add:hover,.home-progress-save:hover{background:#23583d}
.home-progress-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:stretch;gap:18px}
.home-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.home-progress-stat{background:#edf5e8;border:1px solid #d5e5d2;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;padding:12px 6px;text-align:center}
.home-progress-stat span{font-size:11px;font-weight:750;color:#597968}
.home-progress-stat strong{font-size:clamp(22px,2.65vw,34px);font-weight:900;color:#143829;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.home-progress-stat small{font-size:11px;color:#678171}
.home-progress-trend{background:#fff;border:1px solid #dce9da;border-radius:14px;padding:11px 14px;min-width:0}
.home-progress-trend-head{display:flex;align-items:start;justify-content:space-between;gap:8px}
.home-progress-trend-head>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.home-progress-trend-head strong{font-size:13px;color:#234633}
.home-progress-trend-head span{font-size:10px;color:#648270}
.home-progress-periods{display:flex;align-items:center;gap:4px;flex-shrink:0}
.home-progress-periods button{padding:6px 8px;border-radius:8px;border:1px solid #d6e7d1;background:#f5f9f2;color:#4b7656;font-size:11px;font-weight:750;min-height:32px}
.home-progress-periods button.selected{background:#1d5036;color:#fff;border-color:#1d5036}
.home-progress-periods>span{font-size:10px;color:#678171}
.home-progress-plot{min-height:103px;display:grid;place-items:center}
.home-progress-plot svg{max-width:100%;height:auto;display:block}
.home-progress-plot p{margin:12px 4px;text-align:center;font-size:12px;line-height:1.45;color:#648270}
.home-progress-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding-top:14px}
.home-progress-form label{display:grid;gap:5px;font-size:11px;font-weight:750;color:#4c6655;flex:1 1 150px}
.home-progress-form input{width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid #caddc8;border-radius:10px;color:#204431;background:#fff}
.home-progress-form>p{flex-basis:100%;font-size:12px;color:#356d47;margin:0}
.home-progress-disclaimer{font-size:10px;color:#738879;margin:12px 0 0}
@media(max-width:740px){.home-progress{margin-block:16px 0;padding:17px 13px;border-radius:17px}.home-progress-layout{grid-template-columns:1fr;gap:11px}.home-progress-stat{min-height:93px}.home-progress-stat strong{font-size:26px}.home-progress-head{align-items:flex-start}.home-progress-add{font-size:11px;white-space:normal;flex:0 0 auto}}
@media(max-width:380px){.home-progress-head{flex-wrap:wrap}.home-progress-add{width:100%}.home-progress-trend-head{flex-wrap:wrap}.home-progress-trend-head>div:first-child{flex:1}}
html[dir="rtl"] .home-progress-plot svg{direction:ltr}
