/* ZoneBone — The Body Zone v0.1.0. Namespaced to coexist with WordPress themes and Beaver Builder. */
.zb-app,.zb-landing{--zb-ink:#152a29;--zb-muted:#6e8080;--zb-line:#e3ece9;--zb-green:#13966e;--zb-lime:#c6ff5f;--zb-bg:#f6f9f7;--zb-card:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--zb-ink);line-height:1.48;isolation:isolate;font-size:15px}
.zb-app *,.zb-landing *{box-sizing:border-box}.zb-app button,.zb-app input,.zb-app select,.zb-landing button{font:inherit}.zb-app button,.zb-landing button{cursor:pointer}.zb-app button:disabled{cursor:not-allowed;opacity:.45}.zb-app :focus-visible,.zb-landing :focus-visible{outline:3px solid #58c9b3;outline-offset:3px}.zb-app a,.zb-landing a{text-decoration:none}.zb-app h1,.zb-app h2,.zb-app h3,.zb-app p,.zb-landing h1,.zb-landing h2,.zb-landing p{margin:0}.zb-app svg,.zb-landing svg{flex-shrink:0}.zb-app{min-width:0;width:100%;min-height:900px;background:var(--zb-bg);margin:0 auto}.zb-app .zb-shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:900px;max-width:1920px;margin:auto;box-shadow:0 5px 80px #173e3411}.zb-sidebar{background:#fff;border-right:1px solid var(--zb-line);padding:28px 17px 22px;display:flex;flex-direction:column;min-width:0}.zb-brand{display:flex;align-items:center;gap:11px;font-size:25px;letter-spacing:-1.6px;font-weight:850;color:#18312a!important;line-height:1.05}.zb-brand small{display:block;font-weight:750;font-size:9px;letter-spacing:2.3px;margin-top:5px;color:#69827b}.zb-logo{width:37px;height:37px;flex-shrink:0;border-radius:12px 13px 8px 13px;display:flex;align-items:center;justify-content:center;transform:skew(-5deg);font-weight:1000;letter-spacing:-4px;padding-right:4px;color:#173c2f;background:linear-gradient(155deg,#d8ff80,#8cee99);font-size:28px;box-shadow:inset -4px -4px 12px #26924d1c}.zb-sidebar .zb-brand{margin:0 4px 57px}.zb-nav-caption{font-size:10px;letter-spacing:1.9px;font-weight:800;color:#99a9a4;margin:0 15px 17px}.zb-side-nav{display:flex;flex-direction:column;gap:6px}.zb-nav-item{width:100%;border:0;background:none;border-radius:12px;min-height:49px;color:#6a7d79;display:flex;align-items:center;gap:14px;text-align:left;padding:0 14px;font-weight:700;font-size:13px;position:relative;transition:background .16s,color .16s}.zb-nav-item:hover{background:#edf8f3;color:#197956}.zb-nav-item.active{background:#e8f8ef;color:#127653}.zb-nav-item.active i{position:absolute;width:4px;right:0;top:10px;bottom:10px;border-radius:3px;background:#139f70}.zb-sidebar-bottom{margin-top:auto}.zb-sidebar-inspire{background:linear-gradient(150deg,#173c33,#22483b);color:#fff;padding:19px;border-radius:17px;position:relative;overflow:hidden}.zb-sidebar-inspire::after{content:"";position:absolute;width:80px;height:80px;border:16px solid #ffffff10;border-radius:50%;right:-33px;top:-30px}.zb-sidebar-inspire>span{background:#c7ff68;color:#1a4b32;border-radius:10px;display:inline-flex;padding:9px;margin-bottom:12px}.zb-sidebar-inspire b{display:block;font-size:14px}.zb-sidebar-inspire p{font-size:12px;line-height:1.55;color:#d3e8dc;margin-top:6px}.zb-sidebar-foot{color:#93a7a0;font-size:10px;font-weight:600;display:flex;align-items:center;gap:7px;margin:22px 3px 0}.zb-content-wrap{min-width:0}.zb-topbar{height:75px;background:#fff;border-bottom:1px solid var(--zb-line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:16px}.zb-topbar-label{color:#82948d;font-size:10px;letter-spacing:1.2px;font-weight:850;white-space:nowrap}.zb-topbar-label>span{color:#b6c6c0;margin:0 10px}.zb-topbar-right{display:flex;gap:25px;align-items:center}.zb-demo-tag,.zb-real-tag{background:#eff7e8;color:#39834b;font-size:9px;font-weight:900;letter-spacing:1px;padding:8px 10px;border-radius:20px;white-space:nowrap}.zb-real-tag{background:#e7f5f2;color:#148267}.zb-user{display:flex;align-items:center;gap:9px;color:#223a34;font-weight:800;font-size:12px;white-space:nowrap}.zb-avatar{display:inline-flex;width:35px;height:35px;align-items:center;justify-content:center;border-radius:11px;background:#d8eee0;color:#156c4d;font-size:16px}.zb-mobile-brand{display:none}.zb-main{padding:34px 37px 38px;max-width:1480px;margin:0 auto}.zb-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.zb-kicker{font-size:10px;letter-spacing:2.1px;font-weight:900;color:#15986e;display:flex;align-items:center;gap:7px}.zb-page-head h1{font-size:clamp(29px,3vw,41px);font-weight:900;letter-spacing:-1.7px;line-height:1.15;margin:9px 0 11px;color:#1a3129}.zb-page-head p{font-size:14px;color:#758884}.zb-green-period{color:#14ae7f}.zb-live-dot{background:#19b980;width:7px;height:7px;box-shadow:0 0 0 4px #19b98016;border-radius:50%}.zb-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.2;min-height:43px;padding:11px 17px;border:1px solid transparent;border-radius:10px;font-weight:800!important;font-size:12px!important;white-space:nowrap;transition:transform .12s,background .12s}.zb-btn:hover{transform:translateY(-1px)}.zb-btn-dark{background:#193d32!important;color:#fff!important}.zb-btn-dark:hover{background:#0a6f4e!important}.zb-btn-outline{background:#fff!important;color:#244139!important;border-color:#d9e5e0!important}.zb-btn-outline:hover{background:#edf7f2!important}.zb-btn-danger{background:#fff0ed!important;border-color:#ffcfca!important;color:#ac3c30!important}.zb-btn-danger:hover{background:#ffe1da!important}.zb-datebar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.zb-datebar>span{font-size:11px;color:#95a5a1}.zb-date-controls{display:flex;gap:4px;align-items:center}.zb-date-controls button{background:#fff;border:1px solid var(--zb-line);border-radius:9px;color:#47685d;display:flex;align-items:center;justify-content:center;width:31px;height:31px}.zb-date-controls>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;margin:0 7px;color:#2c4940}.zb-today{background:#e3f6e8;color:#168451;font-size:9px;padding:5px 7px;border-radius:15px;letter-spacing:.7px}.zb-overview-top{display:grid;grid-template-columns:1.65fr 1fr;gap:17px;margin-bottom:17px}.zb-momentum-card{background:linear-gradient(110deg,#183b30 0%,#214b3d 64%,#2f6445 100%);color:#fff;border-radius:18px;overflow:hidden;min-width:0;position:relative}.zb-momentum-card:before{content:"";position:absolute;right:-40px;top:-90px;width:270px;height:270px;border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 0 31px #ffffff05,0 0 0 70px #ffffff04;pointer-events:none}.zb-momentum-heading{padding:19px 22px 0;display:flex;align-items:center;justify-content:space-between;color:#c7ff76}.zb-kicker-invert{color:#c5ff9b}.zb-momentum-row{display:flex;align-items:center;padding:10px 24px 15px;gap:23px;position:relative}.zb-momentum-row>div:last-child{max-width:230px}.zb-momentum-row strong{font-size:19px;line-height:1.3;display:block;letter-spacing:-.5px}.zb-momentum-row p{font-size:12px;color:#d3e5dc;margin:9px 0 12px;line-height:1.6}.zb-signal{font-size:10px;color:#b8efcf;font-weight:750;display:flex;align-items:center;gap:6px}.zb-ring{width:135px;height:135px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--zb-ring-color) calc(var(--zb-progress) * 1%),#ffffff21 0);padding:10px;display:flex;align-items:center;justify-content:center}.zb-ring-inside{background:#224a3d;color:#fff;border-radius:50%;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.zb-ring-inside svg{color:#c7fa84}.zb-ring-inside strong{font-size:29px;letter-spacing:-1px;line-height:1.15;margin-top:5px}.zb-ring-inside small{font-size:10px;color:#bed8cf;margin-top:1px}.zb-momentum-footer{border-top:1px solid #ffffff25;position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 22px;font-size:11px;color:#a7d3b9}.zb-momentum-footer button{background:none;border:0;display:flex;align-items:center;color:#d2ff91;font-size:11px;font-weight:800;gap:6px}.zb-weight-card{min-width:0;background:#edfaea;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #def2db;border-radius:18px;padding:22px;position:relative;overflow:hidden}.zb-weight-card:after{content:"";position:absolute;width:175px;height:175px;border:24px solid #cceec11f;top:23px;right:-40px;border-radius:50%}.zb-card-head{font-size:10px;font-weight:900;letter-spacing:1.55px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.zb-card-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#daefd7;color:#397f56;border-radius:10px}.zb-weight-num{font-size:clamp(28px,3vw,39px);font-weight:900;letter-spacing:-1.8px;position:relative;z-index:1}.zb-weight-num>span{display:block;font-size:12px;font-weight:500;letter-spacing:0;color:#738e7e;margin-top:2px}.zb-weight-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:1}.zb-weight-footer span{display:flex;align-items:center;gap:6px;font-size:11px;color:#6b8977}.zb-weight-footer button{border:0;background:#fff;color:#267b50;border-radius:9px;padding:9px;display:flex;align-items:center;font-size:11px;white-space:nowrap;font-weight:800;gap:5px}.zb-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:17px}.zb-stat{background:#fff;border:1px solid #e6eeea;border-radius:16px;padding:18px 18px 17px;min-width:0;box-shadow:0 8px 16px #224c3810}.zb-stat-top{display:flex;align-items:center;gap:10px}.zb-icon-tint{--tint:#18ad83;width:35px;height:35px;display:flex;align-items:center;justify-content:center;color:var(--tint);background:color-mix(in srgb,var(--tint) 11%,white);border-radius:10px}.zb-stat-label{font-size:10px;letter-spacing:1.1px;font-weight:900;color:#798d85}.zb-subtle-add{margin-left:auto;background:none;border:0;color:#8aafa1;display:flex;padding:5px}.zb-subtle-add:hover{color:#11835e}.zb-stat-value{font-size:clamp(20px,2.25vw,29px);color:#20372f;letter-spacing:-1px;font-weight:900;white-space:nowrap;margin:14px 0 1px}.zb-stat-value small{font-size:12px;color:#71817d;font-weight:700;letter-spacing:0}.zb-stat-sub{font-size:11px;color:#849893;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zb-track{background:#eaf0ed;border-radius:100px;height:6px;margin-top:15px;overflow:hidden}.zb-track>span{display:block;height:100%;border-radius:100px;min-width:0;transition:width .2s}.zb-main-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:17px;margin-bottom:17px}.zb-panel{background:#fff;border:1px solid #e5eee9;border-radius:17px;padding:23px;min-width:0;box-shadow:0 9px 22px #1b433409}.zb-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:21px}.zb-panel-head h2{font-size:19px;line-height:1.2;letter-spacing:-.6px;font-weight:850;margin-top:8px;color:#1d322a}.zb-text-button{background:none;border:0;padding:6px 0;color:#1b916d;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800;white-space:nowrap}.zb-text-button:hover{text-decoration:underline}.zb-chart-svg{display:block;width:100%;height:auto;max-height:240px}.zb-chart-note{font-size:10px;color:#92a09c;margin-top:9px;line-height:1.6}.zb-spark-icon{background:#e8f9ec;color:#0ea677;padding:8px;border-radius:10px;display:inline-flex}.zb-insight-mini{display:grid;gap:17px;margin-bottom:20px}.zb-insight-mini-row{display:flex;gap:10px}.zb-insight-mini-row b{font-size:12px;color:#314b3f}.zb-insight-mini-row p{font-size:11px;color:#788a85;line-height:1.6;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.zb-bullet{display:block;flex-shrink:0;width:9px;height:9px;margin-top:5px;border-radius:50%;background:#8abd9b}.zb-bullet-mint{background:#20b183}.zb-bullet-blue{background:#5598e3}.zb-bullet-orange{background:#ec9567}.zb-bullet-violet{background:#9778d2}.zb-main-grid-bottom{grid-template-columns:1.2fr 1fr}.zb-journal-list{display:flex;flex-direction:column;gap:0}.zb-journal-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-top:1px solid #eef1ef;min-width:0}.zb-journal-row:first-child{border-top:0}.zb-food-symbol{background:#edf7f1;color:#229a70;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;flex-shrink:0}.zb-journal-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.zb-journal-main strong{font-size:12px;color:#334940;overflow-wrap:anywhere}.zb-journal-main span{color:#94a59f;font-size:10px;overflow-wrap:anywhere}.zb-journal-row>b{font-size:13px;color:#273e35;white-space:nowrap}.zb-journal-row>b small{font-size:10px;color:#84928b;font-weight:500}.zb-icon-button{border:0!important;background:transparent!important;color:#8b9d97!important;min-width:27px;height:28px;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.zb-icon-button:hover{background:#e8f4ef!important;color:#0e835e!important}.zb-danger-icon:hover{background:#ffeded!important;color:#af493d!important}.zb-quick-panel{display:flex;flex-direction:column}.zb-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.zb-quick-grid button{background:#f5faf7;border:1px solid #e7efe9;color:#476459;border-radius:11px;min-height:68px;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;font-size:11px;font-weight:800;transition:background .15s}.zb-quick-grid button:hover{background:#e5f8ef;border-color:#bae0ca;color:#08714d}.zb-quick-grid svg{color:#1c9b6b}.zb-app-footer{border-top:1px solid #e9efe9;padding:18px 37px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#96a49f;font-weight:800;font-size:9px;letter-spacing:.8px}.zb-demo-banner{padding:12px 36px;background:#edfaec;border-bottom:1px solid #d8ead5;color:#3f6c50;font-size:12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.zb-demo-banner a{font-weight:900;color:#157d50!important}.zb-loading{padding:100px 30px;display:flex;justify-content:center;align-items:center;gap:13px;color:#1d7254;font-weight:850;text-align:center}.zb-loading a{color:#10684e}.zb-load-error{flex-direction:column}.zb-mobile-nav{display:none}.zb-nutrition-summary{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:14px;margin-bottom:19px}.zb-nutrient-primary,.zb-macro{background:#fff;border:1px solid #e5eee9;border-radius:16px;padding:19px;min-width:0}.zb-nutrient-primary{display:flex;align-items:center;gap:17px;background:#ecf8ed}.zb-nutrient-primary .zb-ring{width:112px;height:112px}.zb-nutrient-primary .zb-ring-inside{background:#22583f}.zb-nutrient-primary>div:last-child>span{color:#518467;font-size:10px;letter-spacing:1px;font-weight:900}.zb-nutrient-primary strong{font-size:25px;letter-spacing:-1px;display:block;white-space:nowrap}.zb-nutrient-primary strong small{font-size:11px;color:#829b89}.zb-nutrient-primary p{font-size:10px;color:#7d9989}.zb-macro>span{display:block;font-size:11px;color:#80958a}.zb-macro>strong{font-size:25px;display:block;margin-top:13px;letter-spacing:-.6px}.zb-macro .zb-track{margin:9px 0}.zb-macro small{font-size:10px;color:#94a69d}.zb-soft-label{color:#7a9687;background:#eef8f1;padding:6px 9px;border-radius:20px;font-size:10px;font-weight:750}.zb-search{display:flex;align-items:center;gap:10px;background:#f7faf7;border:1px solid #ddebe2;border-radius:12px;padding:0 13px;color:#829c8c}.zb-search input{width:100%;border:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;color:#243c31!important;min-height:44px;font-size:13px!important;padding:10px 0!important}.zb-search:focus-within{border-color:#31b282;box-shadow:0 0 0 3px #9ae4bd35}.zb-underhint{font-size:10px!important;color:#8a9c93!important;margin-top:10px!important;line-height:1.65!important}.zb-food-results{margin-top:14px;max-height:530px;overflow-y:auto}.zb-food-result{background:transparent;border:0;border-bottom:1px solid #ecf0ed;padding:12px 2px;display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;width:100%;color:#344d40}.zb-food-result:hover{background:#f2faf5}.zb-food-result>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.zb-food-result b{font-size:12px}.zb-food-result small{font-size:10px;color:#90a299}.zb-result-kcal{font-size:10px;font-weight:850;color:#268766;display:flex;align-items:center;white-space:nowrap;gap:6px}.zb-journal-note{margin-top:15px!important}.zb-empty{background:#f8fbf8;border:1px dashed #dcece1;border-radius:13px;padding:28px;text-align:center;color:#718c7d;display:flex;align-items:center;flex-direction:column;gap:9px}.zb-empty>span{background:#e7f8ed;color:#209e70;border-radius:11px;padding:10px;display:flex}.zb-empty>b{font-size:13px;color:#2b5140}.zb-empty p{font-size:11px;color:#81988b}.zb-empty button{margin-top:9px}.zb-privacy-banner{background:#f1f8f4;border:1px solid #e2f0e8;padding:13px;border-radius:12px;font-size:11px;color:#507762;display:flex;align-items:flex-start;gap:8px;line-height:1.6;margin-top:22px}.zb-trends-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.zb-insight-hero{display:flex;align-items:center;gap:25px;background:linear-gradient(120deg,#1a3c31,#276045);color:#fff;padding:27px;border-radius:20px;margin-bottom:20px}.zb-insight-hero-icon{background:#c9ff78;color:#1b613e;padding:20px;border-radius:18px}.zb-insight-hero h2{font-size:24px;letter-spacing:-.7px;margin:7px 0}.zb-insight-hero p{font-size:12px;color:#d6e5d9;line-height:1.6;max-width:640px}.zb-insight-list{display:grid;gap:13px}.zb-insight-card{background:#fff;border:1px solid #e4ede7;border-radius:15px;display:flex;align-items:flex-start;gap:21px;padding:23px}.zb-insight-index{color:#afd1c1;font-size:27px;font-weight:900;letter-spacing:-1px}.zb-insight-card>div:nth-child(2){flex:1}.zb-insight-category{font-size:9px;color:#239977;letter-spacing:1.8px;font-weight:900}.zb-insight-card h2{font-size:16px;margin:6px 0 8px;letter-spacing:-.3px}.zb-insight-card p{font-size:12px;color:#72857b;line-height:1.65}.zb-insight-caution{display:flex;gap:10px;margin-top:19px;background:#f0f6f0;padding:16px;border-radius:12px;font-size:11px;color:#64806e;line-height:1.6}.zb-preferences{display:grid;gap:19px}.zb-preferences label,.zb-field{display:flex;flex-direction:column;gap:7px;color:#435f50;font-size:11px;font-weight:800}.zb-preferences label small{font-weight:500;color:#8b9c94}.zb-preferences input,.zb-preferences select,.zb-field input,.zb-field select{width:100%;border:1px solid #dce9df!important;border-radius:10px!important;padding:11px 12px!important;min-height:43px!important;color:#2d4436!important;background:#fbfdfb!important;font-size:13px!important;box-shadow:none!important;outline:none!important;max-width:100%!important}.zb-preferences input:focus,.zb-field input:focus,.zb-preferences select:focus,.zb-field select:focus{border-color:#27b17d!important;box-shadow:0 0 0 3px #a7efc855!important}.zb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.zb-preferences .zb-btn{justify-self:start}.zb-settings-p{font-size:12px;color:#738a7c;line-height:1.6;margin:0 0 19px!important}.zb-settings-divide{height:1px;background:#edf1ee;margin:26px 0}.zb-panel h3{font-size:14px;margin-bottom:9px;color:#314b3e}.zb-modal-backdrop{position:fixed;z-index:99999;inset:0;background:#071a15a8;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px)}.zb-modal{width:min(100%,470px);max-height:min(92vh,760px);overflow-y:auto;background:#fff;border-radius:20px;box-shadow:0 25px 90px #0004;padding:25px;display:block}.zb-modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:19px;gap:12px}.zb-modal-head h2{font-size:24px;letter-spacing:-.9px;margin:6px 0 0}.zb-modal>p{font-size:12px;color:#78897f;margin-bottom:15px;line-height:1.6}.zb-modal form{display:grid;gap:14px}.zb-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:9px}.zb-toast{position:fixed;z-index:100000;bottom:21px;right:21px;max-width:min(430px,calc(100vw - 42px));display:flex;align-items:center;gap:10px;background:#183f32;color:#fff;border-radius:13px;padding:13px 15px;box-shadow:0 15px 55px #173b3280;font-size:12px}.zb-toast>span{flex:1}.zb-toast button{background:transparent;border:0;color:#e0fbe7;display:flex}.zb-mobile-nav{display:none}
/* Public-facing ZoneBone landing, optionally placed on a Beaver Builder page. */
.zb-landing{background:#f6f9f4;min-height:750px;overflow:hidden}.zb-landing-shell{max-width:1450px;margin:auto;padding:0 45px}.zb-public-head{display:flex;align-items:center;justify-content:space-between;padding:30px 0}.zb-pill-link{font-size:12px;font-weight:800;color:#1d4d35!important;padding:12px 17px;border:1px solid #b9d6c1;border-radius:100px;background:#fff}.zb-pill-link:hover{background:#eaf8df}.zb-hero{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:65px;min-height:570px;padding:50px 0 85px}.zb-eyebrow{color:#158c62;letter-spacing:2.5px;font-size:11px;font-weight:900}.zb-hero h1{font-weight:950;letter-spacing:-4.5px;font-size:clamp(46px,5.5vw,83px);line-height:1.05;margin:22px 0!important;color:#163b2c}.zb-hero h1 em{color:#11996b;font-style:normal}.zb-hero p{color:#6a8272;font-size:17px;line-height:1.65;max-width:490px}.zb-hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.zb-landing .zb-btn{padding:16px 25px;min-height:51px;font-size:13px!important}.zb-btn-primary{background:#173f31;color:#fff!important}.zb-btn-primary:hover{background:#126c4a}.zb-btn-line{border-color:#aac9b0!important;color:#245239!important;background:#fff}.zb-small-note{font-size:11px!important;margin-top:30px!important;color:#9cad9d!important}.zb-hero-display{min-height:400px;border-radius:29px;background:linear-gradient(145deg,#173c30,#1a583a);padding:30px;color:#fff;box-shadow:24px 30px 75px #123c2840;position:relative;overflow:hidden}.zb-hero-display:before{content:"";position:absolute;top:-100px;right:-80px;width:330px;height:330px;border-radius:50%;box-shadow:0 0 0 28px #ffffff0a,0 0 0 75px #ffffff07;z-index:0;border:1px solid #ffffff21}.zb-mini-caption{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1.6px;color:#d7edca;font-weight:800;position:relative}.zb-mini-caption b{font-size:9px;color:#d2ff8f}.zb-hero-score{font-size:95px;line-height:1;font-weight:900;letter-spacing:-6px;position:relative;margin-top:46px;color:#d8ff83}.zb-hero-score span{font-size:23px;letter-spacing:0;color:#bed5bf}.zb-hero-display>p{color:#e9f8ec;margin:11px 0 30px;font-size:18px;font-weight:650;position:relative}.zb-minirings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:relative}.zb-minirings span{background:#ffffff12;border:1px solid #ffffff2b;border-radius:11px;padding:13px 11px;color:#d0ead6;font-size:11px}.zb-minirings b{display:block;color:#fff;font-size:19px;margin-top:10px}.zb-hero-bottom{border-top:1px solid #ffffff24;margin-top:35px;padding-top:20px;position:relative;font-size:10px;color:#c4dbce;letter-spacing:1.5px;display:flex;justify-content:space-between}.zb-hero-bottom span{font-size:20px;color:#d5ff81;line-height:1}.zb-public-bottom{border-top:1px solid #dbe8db;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:35px 0 55px}.zb-public-bottom b{font-size:11px;letter-spacing:1.8px;color:#14976c}.zb-public-bottom p{font-size:14px;margin-top:12px;color:#617d6b}.zb-public-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid #dbe8db;padding:24px 0 38px;font-size:11px;color:#83a08b;font-weight:800}.zb-public-footer span{font-weight:500}
@media(max-width:1190px){.zb-app .zb-shell{grid-template-columns:205px minmax(0,1fr)}.zb-main{padding:28px 23px}.zb-topbar{padding:0 23px}.zb-sidebar{padding:25px 12px}.zb-overview-top{grid-template-columns:1.3fr 1fr}.zb-momentum-row{gap:12px;padding-left:16px}.zb-ring{width:115px;height:115px}.zb-ring-inside strong{font-size:24px}.zb-main-grid{grid-template-columns:1fr 1fr}.zb-stats-grid{gap:9px}.zb-stat{padding:14px}.zb-stat-label{font-size:9px}.zb-stat-value{font-size:21px}.zb-nutrition-summary{grid-template-columns:repeat(3,1fr)}.zb-nutrient-primary{grid-column:span 3}.zb-landing-shell{padding:0 30px}.zb-hero{gap:35px}}
@media(max-width:900px){.zb-app .zb-shell{display:block}.zb-sidebar{display:none}.zb-topbar{height:67px;padding:0 18px}.zb-mobile-brand{display:flex;align-items:center;gap:9px;font-size:20px;letter-spacing:-1px}.zb-mobile-brand .zb-logo{width:31px;height:31px;font-size:23px}.zb-topbar-label{display:none}.zb-main{padding:24px 19px 75px}.zb-mobile-nav{position:sticky;bottom:0;z-index:5000;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-top:1px solid #dce8e2;box-shadow:0 -7px 22px #194c3211;padding:7px 5px 9px}.zb-mobile-nav button{border:0;background:none;color:#8a9e93;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;min-width:0;justify-content:center;padding:4px 1px;border-radius:9px}.zb-mobile-nav button.active{background:#e7f8ed;color:#117f58}.zb-mobile-nav small{font-size:9px;font-weight:750;white-space:nowrap}.zb-content-wrap{display:contents}.zb-topbar,.zb-demo-banner,.zb-main,.zb-app-footer{grid-column:1}.zb-app-footer{display:none}.zb-hero{grid-template-columns:1fr;gap:18px;padding:36px 0 55px}.zb-hero-display{min-height:340px;max-width:650px}.zb-public-bottom{padding-top:25px}}
@media(max-width:660px){.zb-page-head{align-items:flex-start;flex-direction:column;margin-bottom:22px;gap:17px}.zb-page-head h1{font-size:31px;letter-spacing:-1.1px}.zb-page-head p{font-size:12px}.zb-main{padding:23px 13px 78px}.zb-topbar-right{gap:8px}.zb-user>span:last-child{display:none}.zb-demo-tag,.zb-real-tag{font-size:8px;letter-spacing:.25px}.zb-demo-banner{padding:10px 13px;font-size:10px}.zb-datebar{align-items:flex-start;flex-direction:column;gap:7px}.zb-datebar>span{font-size:10px}.zb-overview-top{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.zb-momentum-row{justify-content:flex-start}.zb-momentum-row>div:last-child{max-width:unset}.zb-weight-card{min-height:173px}.zb-weight-num{font-size:33px;margin:12px 0}.zb-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.zb-stat{padding:13px}.zb-stat-label{font-size:8px}.zb-stat-top{gap:5px}.zb-icon-tint{width:29px;height:29px}.zb-icon-tint svg{width:16px}.zb-stat-value{font-size:20px;letter-spacing:-.5px}.zb-stat-value small{font-size:10px}.zb-stat-sub{font-size:9px}.zb-main-grid,.zb-trends-grid{grid-template-columns:1fr;gap:12px}.zb-panel{padding:17px}.zb-panel-head h2{font-size:17px}.zb-journal-row{gap:6px}.zb-journal-row b{font-size:11px}.zb-food-symbol{width:30px;height:30px}.zb-journal-main strong{font-size:11px}.zb-journal-main span{font-size:9px}.zb-quick-grid{gap:8px}.zb-nutrition-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.zb-nutrient-primary{padding:14px;grid-column:span 3}.zb-nutrient-primary .zb-ring{width:93px;height:93px}.zb-nutrient-primary strong{font-size:24px}.zb-macro{padding:12px 9px}.zb-macro>strong{font-size:18px}.zb-macro small{font-size:9px}.zb-insight-hero{padding:20px;gap:12px}.zb-insight-hero-icon{padding:12px}.zb-insight-hero h2{font-size:19px}.zb-insight-hero p{font-size:11px}.zb-insight-card{padding:17px;gap:12px}.zb-insight-index{font-size:22px}.zb-modal{padding:18px}.zb-modal-head h2{font-size:21px}.zb-landing-shell{padding:0 19px}.zb-public-head{padding:20px 0}.zb-public-head .zb-brand{font-size:22px}.zb-pill-link{font-size:10px;padding:10px 13px}.zb-hero h1{font-size:clamp(47px,12vw,69px);letter-spacing:-2.7px}.zb-hero p{font-size:14px}.zb-hero-display{padding:20px;min-height:360px}.zb-hero-score{font-size:76px}.zb-minirings span{font-size:9px;padding:9px 8px}.zb-minirings b{font-size:16px}.zb-public-bottom{grid-template-columns:1fr;gap:21px}}
@media(max-width:390px){.zb-mobile-nav small{font-size:7px}.zb-mobile-nav svg{width:17px;height:17px}.zb-date-controls>span{font-size:10px}.zb-stat-label{font-size:8px}.zb-stat-value{font-size:18px}.zb-stat-value small{font-size:9px}.zb-momentum-row{gap:9px;padding:10px}.zb-momentum-row strong{font-size:16px}.zb-momentum-row p{font-size:11px}.zb-ring{width:101px;height:101px}.zb-ring-inside strong{font-size:22px}.zb-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zb-food-result{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.zb-app *,.zb-landing *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:350px){.zb-topbar-right .zb-user{display:none}.zb-topbar{gap:5px}.zb-mobile-brand{font-size:18px}.zb-demo-tag{font-size:7.5px}}
/* v0.2 clean-slate beta onboarding and fast logging */
.zb-welcome{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:85vh;display:grid;place-items:center;padding:36px 16px;background:radial-gradient(circle at 80% 10%,#d6fff0 0,transparent 38%),#f5faf7;color:#183f32;box-sizing:border-box}
.zb-welcome *{box-sizing:border-box}
.zb-welcome-card{width:min(680px,100%);padding:clamp(24px,5vw,48px);border:1px solid #dcece1;background:#fff;border-radius:28px;box-shadow:0 26px 80px #244e331a}
.zb-welcome .zb-brand{margin-bottom:35px;text-decoration:none!important;display:inline-flex!important}
.zb-welcome h1{font-size:clamp(29px,4.5vw,48px);color:#133f30;line-height:1.13;letter-spacing:-1.5px;margin:15px 0!important}
.zb-welcome p{color:#526d60;font-size:14px;line-height:1.7}
.zb-welcome-note{background:#edf8f1;border:1px solid #cfe8d5;color:#274a37;border-radius:13px;display:flex;align-items:flex-start;gap:13px;padding:16px;font-size:12px;line-height:1.6;margin:23px 0}
.zb-welcome-note svg{flex:0 0 auto;color:#178c63}
.zb-welcome form{display:grid;gap:14px}
.zb-welcome form label{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.5;color:#213b2c;cursor:pointer}
.zb-welcome input[type=checkbox]{accent-color:#16895d;margin-top:3px;min-width:17px;min-height:17px;flex-shrink:0}
.zb-welcome form button{justify-self:start;margin-top:12px}
.zb-recent-panel{margin-bottom:18px}
.zb-recent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:10px}
.zb-repeat-food{min-width:0;text-align:left!important;padding:15px!important;background:#f6faf7!important;border:1px solid #dce9df!important;border-radius:13px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:10px!important;cursor:pointer;transition:background .2s,box-shadow .2s}
.zb-repeat-food:hover,.zb-repeat-food:focus-visible{background:#e7f7ec!important;box-shadow:0 0 0 2px #93d7ad!important}
.zb-repeat-food>span{display:flex;align-items:flex-start;gap:8px;color:#264f39;font-size:12px;line-height:1.45}
.zb-repeat-food>span b{overflow-wrap:anywhere}
.zb-repeat-food>small{color:#668174;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.zb-repeat-food>strong{display:flex;align-items:center;gap:5px;color:#147d55;font-size:11px}
.zb-food-provenance{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:8px;background:#f1f7ed;color:#326a4f!important;font-size:11px!important;margin:0!important}
@media(max-width:660px){.zb-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zb-recent-panel{margin-bottom:12px}.zb-welcome{padding:12px}.zb-welcome-card{border-radius:17px}.zb-welcome form button{width:100%;justify-content:center}}
@media(max-width:375px){.zb-recent-grid{grid-template-columns:1fr}}

/* ZoneBone v0.4.0 — nutrition catalog controls */
.zb-source-switch{display:flex;gap:8px;flex-wrap:wrap;padding:5px;border:1px solid #d9e7dd;border-radius:12px;background:#f3faf5;margin:12px 0 13px}
.zb-source-switch button{border:0;background:transparent;color:#425c4c;font-size:12px;font-weight:800;padding:11px 14px;border-radius:8px;min-width:0;cursor:pointer}
.zb-source-switch button.active{background:#215e47;color:white;box-shadow:0 4px 13px #1b6d3a20}
.zb-food-searchline{display:flex;gap:9px;align-items:stretch}
.zb-food-searchline .zb-search{flex:1;min-width:0}
.zb-food-searchline .zb-usda-submit{flex:none;min-height:46px;padding:10px 14px;white-space:nowrap}
.zb-catalog-status{margin:12px 0 0;display:flex;align-items:flex-start;gap:8px;border:1px solid #d6e9dd;border-radius:10px;background:#f1faf3;color:#245942;font-size:12px;line-height:1.5;padding:12px;overflow-wrap:anywhere}
.zb-catalog-status svg{flex-shrink:0}
.zb-catalog-empty{padding:25px 12px;color:#597262;text-align:center;font-size:12px;line-height:1.7}
.zb-food-result small{line-height:1.5;white-space:normal;overflow-wrap:anywhere}
@media(max-width:440px){.zb-food-searchline{flex-wrap:wrap}.zb-food-searchline .zb-search{flex-basis:100%}.zb-food-searchline .zb-usda-submit{width:100%;justify-content:center}.zb-source-switch button{flex:1;font-size:11px;padding:10px 8px}}


/* ZoneBone v0.4.1 — contrast hardening */
.zb-app,.zb-landing{--zb-muted:#4f6661}
.zb-brand small,.zb-nav-caption,.zb-sidebar-foot,.zb-topbar-label,.zb-topbar-label>span,.zb-page-head p,.zb-datebar>span,.zb-weight-num>span,.zb-weight-footer span,.zb-stat-label,.zb-stat-value small,.zb-stat-sub,.zb-journal-main span,.zb-underhint,.zb-catalog-empty,.zb-settings-p,.zb-insight-card p,.zb-preferences label small,.zb-modal>p,.zb-small-note,.zb-public-footer,.zb-public-footer span,.zb-public-bottom p,.zb-hero p{color:#516763!important}
.zb-nav-item{color:#526864}.zb-source-switch button{color:#2f473c}.zb-catalog-status{color:#1f4c39;background:#edf8f0;border-color:#cce5d5}.zb-food-provenance{color:#27533f!important;background:#edf7f0}.zb-btn-outline{color:#203e33!important}.zb-topbar-label,.zb-datebar>span,.zb-sidebar-foot{font-weight:700}.zb-underhint{font-size:11px;line-height:1.6}.zb-journal-main strong,.zb-panel h3,.zb-public-bottom b,.zb-brand{color:#173126!important}


/* ZoneBone v0.4.2 — energetic UI refresh */
.zb-app{background:linear-gradient(180deg,#f9fcf8 0%,#f2faf5 100%)}
.zb-sidebar,.zb-topbar,.zb-panel,.zb-stat,.zb-macro,.zb-nutrient-primary,.zb-weight-card,.zb-insight-card,.zb-modal{box-shadow:0 10px 30px rgba(49,159,104,.08)!important}
.zb-panel,.zb-stat,.zb-macro,.zb-insight-card,.zb-nutrient-primary,.zb-weight-card{border-color:#d9ece0!important}
.zb-kicker,.zb-green-period,.zb-public-bottom b,.zb-insight-category{color:#1cc17a!important}
.zb-page-head h1{font-size:clamp(33px,3.15vw,45px)!important;color:#14362a!important}
.zb-page-head p{font-size:16px!important;color:#526b64!important}
.zb-btn-dark,.zb-btn-primary{background:linear-gradient(135deg,#37d487 0%,#18bc75 100%)!important;color:#fff!important;box-shadow:0 8px 22px rgba(27,193,121,.22)!important}
.zb-btn-dark:hover,.zb-btn-primary:hover{background:linear-gradient(135deg,#26c97c 0%,#11ae6c 100%)!important}
.zb-btn-outline,.zb-btn-line{border-color:#bfe7cc!important;background:#f8fffa!important;color:#1f5d42!important}
.zb-source-switch{background:linear-gradient(180deg,#f6fff8 0%,#eefaf1 100%)!important;border-color:#cde6d6!important;padding:6px!important}
.zb-source-switch button{font-size:13px!important;padding:12px 16px!important;color:#29503d!important}
.zb-source-switch button.active{background:linear-gradient(135deg,#48d88e 0%,#23c279 100%)!important;color:#fff!important;box-shadow:0 8px 20px rgba(27,193,121,.20)!important}
.zb-underhint{font-size:12px!important;color:#5a7068!important;line-height:1.7!important}
.zb-catalog-status{font-size:13px!important;background:#f2fff5!important;border-color:#ccead6!important;color:#21533d!important}
.zb-food-results{display:grid;gap:10px;margin-top:16px!important;padding-right:4px}
.zb-food-result{background:#fff!important;border:1px solid #dbeee2!important;border-radius:14px!important;padding:14px 14px!important;align-items:center!important;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s,color .16s}
.zb-food-result:hover,.zb-food-result:focus-visible{background:linear-gradient(135deg,#effff5 0%,#e1faec 100%)!important;border-color:#8ed9aa!important;box-shadow:0 10px 20px rgba(43,190,116,.12)!important;transform:translateY(-1px);color:#15392d!important}
.zb-food-result:hover b,.zb-food-result:hover small,.zb-food-result:hover .zb-result-kcal,.zb-food-result:focus-visible b,.zb-food-result:focus-visible small,.zb-food-result:focus-visible .zb-result-kcal{color:#15392d!important}
.zb-food-result>span:first-child{gap:6px!important}
.zb-food-result b{font-size:15px!important;line-height:1.35!important;color:#17372d!important;font-weight:850!important}
.zb-food-result small{font-size:12px!important;line-height:1.6!important;color:#5f766d!important}
.zb-result-kcal{font-size:13px!important;font-weight:900!important;color:#157a56!important;gap:8px!important}
.zb-food-provenance{font-size:11px!important;border-radius:18px!important;padding:6px 10px!important;background:#f0fff5!important;color:#1f6a4b!important}
.zb-soft-label{font-size:11px!important;background:#effdf3!important;color:#347657!important}
.zb-search{background:#fbfffc!important;border-color:#d6ebe0!important}
.zb-search input{font-size:14px!important}
.zb-nutrient-primary{background:linear-gradient(180deg,#effcf1 0%,#e8f8ec 100%)!important}
.zb-weight-card{background:linear-gradient(180deg,#f0fdf2 0%,#e9f8ed 100%)!important}
.zb-sidebar-inspire{background:linear-gradient(145deg,#153f30 0%,#1d6444 60%,#27a85e 100%)!important}
.zb-topbar-label,.zb-nav-caption,.zb-stat-label,.zb-stat-sub,.zb-journal-main span,.zb-empty p,.zb-privacy-banner,.zb-public-footer{color:#5a726a!important}
@media(max-width:660px){
  .zb-page-head h1{font-size:34px!important}
  .zb-page-head p{font-size:14px!important}
  .zb-food-result b{font-size:14px!important}
  .zb-food-result small{font-size:11px!important}
  .zb-result-kcal{font-size:12px!important}
}


/* ZoneBone v0.4.3 — readable explanatory text */
.zb-underhint,.zb-journal-note,.zb-settings-p,.zb-privacy-banner,.zb-empty p,.zb-chart-note,.zb-modal>p{font-size:14px!important;line-height:1.75!important;color:#4f6660!important}
.zb-journal-note{margin-top:18px!important}
.zb-journal-main strong{font-size:14px!important}
.zb-journal-main span{font-size:12px!important;line-height:1.65!important;color:#5d746d!important}
.zb-empty>b{font-size:16px!important}
.zb-insight-category{font-size:11px!important;letter-spacing:2px!important}
.zb-insight-card h2{font-size:20px!important;line-height:1.35!important}
.zb-insight-card p{font-size:15px!important;line-height:1.8!important;color:#4d655f!important}
.zb-insight-hero p{font-size:15px!important;line-height:1.8!important;color:#e6f6ea!important}
.zb-insight-mini-row b{font-size:14px!important}
.zb-insight-mini-row p{font-size:13px!important;line-height:1.7!important;color:#5c746d!important}
.zb-page-head p{font-size:17px!important;line-height:1.65!important}
.zb-nutrient-primary p,.zb-macro small,.zb-stat-sub,.zb-stat-value small{font-size:13px!important;line-height:1.6!important}
.zb-food-result small{font-size:13px!important;line-height:1.65!important}
.zb-food-result b{font-size:16px!important}
@media(max-width:660px){
  .zb-underhint,.zb-journal-note,.zb-settings-p,.zb-privacy-banner,.zb-empty p,.zb-chart-note,.zb-modal>p{font-size:13px!important}
  .zb-insight-card p{font-size:14px!important}
  .zb-insight-hero p{font-size:14px!important}
  .zb-page-head p{font-size:15px!important}
  .zb-food-result small{font-size:12px!important}
}

/* ZoneBone v0.5.0 — functional food favorites & seven-day plan; existing design baseline preserved */
.zb-favorites-panel,.zb-meal-planner{margin:0 0 18px}
.zb-fav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:12px}
.zb-fav-tile{display:flex;flex-direction:column;justify-content:space-between;gap:12px;background:#f8fffa;border:1px solid #d7ebdd;border-radius:14px;padding:17px;min-width:0}
.zb-fav-tile strong{font-size:16px;color:#163c2c;line-height:1.45;overflow-wrap:anywhere}
.zb-fav-tile p{font-size:13px;color:#4d6b5c;line-height:1.6;margin-top:6px}
.zb-fav-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.zb-fav-actions .zb-btn{font-size:13px!important;min-height:39px;padding:9px 13px}
.zb-favorite-action{color:#1b8655!important;background:#f0fcf4!important}
.zb-favorite-action:hover,.zb-favorite-action:focus-visible{color:#125f3d!important;background:#dff9e6!important}
.zb-plan-form{display:grid;grid-template-columns:minmax(125px,1fr) minmax(110px,.8fr) minmax(180px,1.4fr) auto;align-items:end;gap:12px;margin:22px 0}
.zb-plan-form label{display:flex;flex-direction:column;gap:8px;color:#365a44;font-weight:800;font-size:13px;min-width:0}
.zb-plan-form select{min-width:0;width:100%;min-height:43px;background:#fff!important;border:1px solid #bcdcc8!important;border-radius:9px;padding:9px 11px!important;color:#1a4130!important;font-size:14px!important}
.zb-plan-form .zb-btn{min-height:43px;font-size:13px!important}
.zb-plan-empty{background:#f4fcf7;border:1px dashed #a9d7b9;color:#315f48;padding:18px;border-radius:11px;font-size:14px}
.zb-plan-week{display:grid;gap:11px}
.zb-plan-day{display:grid;grid-template-columns:160px minmax(0,1fr);border:1px solid #dfede3;border-radius:13px;overflow:hidden;background:#fff}
.zb-plan-day-head{display:flex;flex-direction:column;gap:4px;background:#effbf3;padding:16px 18px;border-right:1px solid #dcefe2}
.zb-plan-day-head strong{font-size:16px;color:#1c5638}
.zb-plan-day-head span{font-size:13px;color:#375f49}
.zb-plan-day-head small{font-size:12px;color:#4b705d}
.zb-plan-day-items{min-width:0;padding:9px 13px;display:grid;gap:8px;align-content:center}
.zb-plan-placeholder{font-size:14px;color:#607769;padding:9px}
.zb-planned-food{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;border:1px solid #e3eee7}
.zb-planned-food>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.zb-planned-food strong{font-size:14px;color:#183c2c;overflow-wrap:anywhere}
.zb-planned-food small{font-size:12px;color:#58705f}
.zb-meal-tag{color:#206b45;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.4px}
.zb-plan-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.zb-plan-actions .zb-btn{font-size:12px!important;min-height:36px;padding:7px 10px}
.zb-plan-done{display:inline-flex;align-items:center;gap:4px;color:#176940;font-weight:750;font-size:12px}
@media(max-width:1050px){.zb-plan-form{grid-template-columns:repeat(2,minmax(0,1fr))}.zb-plan-form .zb-btn{width:100%}}
@media(max-width:650px){.zb-plan-day{grid-template-columns:1fr}.zb-plan-day-head{border-right:0;border-bottom:1px solid #dcefe2;padding:12px 14px}.zb-plan-day-head small{font-size:12px}.zb-plan-day-items{padding:10px}.zb-planned-food{align-items:flex-start;flex-wrap:wrap}.zb-fav-grid{grid-template-columns:1fr}}
@media(max-width:430px){.zb-plan-form{grid-template-columns:1fr}.zb-plan-form .zb-btn{width:100%}}

/* ZoneBone v0.6.0: functional recipe controls and complete insight descriptions. */
.zb-insight-mini-row p{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;white-space:normal!important;font-size:14px!important;line-height:1.7!important;}
.zb-recipe-studio{margin:18px 0!important}.zb-recipe-form{display:grid;gap:15px;margin:16px 0 22px}
.zb-recipe-basics,.zb-recipe-ingredient{display:grid;grid-template-columns:minmax(0,2fr) minmax(110px,1fr);gap:12px}
.zb-recipe-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#295040;font-weight:800}
.zb-recipe-form input,.zb-recipe-form select{width:100%;min-width:0;border:1px solid #cfe5d5!important;border-radius:10px!important;background:#fff!important;color:#173b2b!important;padding:12px!important;font-size:14px!important;min-height:45px!important}
.zb-recipe-ingredients{display:grid;gap:12px}.zb-recipe-form .zb-btn{justify-self:start}
.zb-recipes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;margin-top:18px}
.zb-recipe-card{border:1px solid #dceee1;border-radius:13px;padding:17px;background:#f9fffa;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.zb-recipe-card strong{font-size:17px;color:#193c2d}.zb-recipe-card p{font-size:14px;color:#3d5f50;line-height:1.65;margin-top:5px!important}
.zb-recipe-card small{display:block;font-size:12px;color:#526d5e;line-height:1.55;margin-top:7px}
@media(max-width:600px){.zb-recipe-basics,.zb-recipe-ingredient{grid-template-columns:1fr}.zb-insight-mini-row p{font-size:13px!important}}

/* v0.6.2: functional USDA recovery control, no broad design changes. */
.zb-catalog-status{flex-wrap:wrap;align-items:center}
.zb-catalog-status>span{flex:1 1 230px;min-width:0}
.zb-catalog-status [data-usda-retry]{min-height:40px;white-space:normal;text-align:center;font-size:13px!important}


/* ZoneBone v0.7.0 feature layout; preserves v0.6.3 palette and page typography. */
.zb-app .zb-guided-form,.zb-app .zb-grocery-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:18px 0}
.zb-app .zb-guided-form label,.zb-app .zb-grocery-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:750;color:#284b3b;min-width:115px;flex:1}
.zb-app .zb-guided-form select,.zb-app .zb-grocery-form input,.zb-app .zb-grocery-form select{min-height:43px;background:#fff!important;border:1px solid #c3dacc!important;border-radius:10px!important;padding:9px 12px!important;color:#1a3e2e!important;font-size:15px!important;width:100%}
.zb-app .zb-guided-form .zb-btn,.zb-app .zb-grocery-form .zb-btn{min-height:43px}
.zb-app .zb-guided-preview{border:1px solid #b6dfc5;background:#f2fbf5;padding:17px;border-radius:14px;margin-top:15px}
.zb-app .zb-guided-preview-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;margin-bottom:13px;color:#204935;font-size:15px}
.zb-app .zb-guided-preview-head span{color:#446a56;font-size:14px}
.zb-app .zb-guided-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:340px;overflow:auto}
.zb-app .zb-guided-results>div{min-width:0;display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;padding:11px 12px;background:#fff;border:1px solid #deebe2;border-radius:10px;font-size:14px;color:#31483b}
.zb-app .zb-guided-results b{color:#124c36}.zb-app .zb-guided-results small{font-size:13px;color:#4a6757}
.zb-app .zb-guided-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.zb-app .zb-grocery-list{display:grid;gap:8px;margin-top:15px;max-height:440px;overflow:auto}
.zb-app .zb-grocery-row{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid #e0ece3;border-radius:12px;padding:11px 13px;min-width:0}
.zb-app .zb-grocery-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.zb-app .zb-grocery-row b{font-size:15px;color:#243d2f;overflow-wrap:anywhere}
.zb-app .zb-grocery-row small{font-size:13px;color:#496a57;line-height:1.5;overflow-wrap:anywhere}
.zb-app .zb-grocery-row.is-checked b{text-decoration:line-through;color:#61756b}
.zb-app .zb-grocery-check{width:30px;height:30px;border:2px solid #47866a!important;border-radius:8px!important;flex-shrink:0;background:#fff!important;display:flex;align-items:center;justify-content:center;color:#fff!important}
.zb-app .zb-grocery-check[aria-pressed="true"]{background:#209663!important}
.zb-app .zb-grocery-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}
.zb-app .zb-grocery-footer>span{font-size:13px;color:#587260;line-height:1.5}
.zb-app .zb-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.zb-app .zb-rule-grid>div{border-radius:12px;border:1px solid #dce9df;background:#f9fcfa;padding:16px}
.zb-app .zb-rule-grid strong{font-size:16px;color:#245039;line-height:1.4}
.zb-app .zb-rule-grid p{font-size:14px!important;line-height:1.7!important;color:#4c6356!important;margin-top:8px!important}
@media(max-width:700px){.zb-app .zb-guided-results,.zb-app .zb-rule-grid{grid-template-columns:1fr}.zb-app .zb-grocery-form label:first-child{flex-basis:100%}.zb-app .zb-guided-form label{flex-basis:100%}}

/* v0.8.0: collapsed recipe slots must remain hidden regardless of Beaver Builder/theme CSS. */
.zb-recipe-ingredient[hidden]{display:none!important}
.zb-history-export{margin-top:20px!important}
.zb-recipe-studio .zb-fav-actions{flex-wrap:wrap;gap:9px}

