:root{--bg:#f7f8f5;--surface:#fff;--ink:#182924;--muted:#7c8983;--line:#e9eee9;--green:#2d9c72;--green-dark:#197b57;--mint:#e7f5ed;--orange:#f8a854;--blue:#65a3e9;--shadow:0 14px 34px rgba(32,55,42,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--green-dark)}.hidden{display:none!important}.app{max-width:760px;margin:auto;min-height:100dvh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;background:rgba(247,248,245,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(16px);border-bottom:1px solid rgba(233,238,233,.8)}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:-.5px}.brand-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--green);color:#fff;font-size:24px;line-height:1}.topbar-right{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;font-weight:650}.live-dot{height:7px;width:7px;border-radius:50%;background:#60c498;box-shadow:0 0 0 4px #e1f4e9}main{padding:18px 18px 38px}.screen{display:none;animation:appear .22s ease}.screen.active{display:block}@keyframes appear{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}h1,h2,h3,p{margin-top:0}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:850;color:var(--green-dark)}.date-row{display:flex;align-items:end;justify-content:space-between;margin:8px 3px 19px;gap:10px}.date-row h1,.screen-title h1{font-size:31px;line-height:1.06;letter-spacing:-1.3px;margin:5px 0 0}.date-switch{display:flex;align-items:center;gap:3px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:3px;white-space:nowrap}.date-switch button{border:0;background:transparent;color:var(--ink);height:29px;min-width:28px;font-size:23px;border-radius:10px}.date-switch button:hover{background:var(--mint)}#today-day{font-size:11px;font-weight:750;padding:0 5px}.hero-card{background:#1d4939;background-image:radial-gradient(circle at 90% 0%,#377a5a 0%,transparent 45%),linear-gradient(120deg,#194332,#225943);border-radius:26px;color:#fff;min-height:205px;display:flex;align-items:center;justify-content:space-between;padding:28px 25px;box-shadow:0 18px 30px rgba(20,70,48,.18);gap:8px}.hero-copy{min-width:0}.hero-overline{display:block;font-size:10px;letter-spacing:1.65px;font-weight:750;color:#bee5cf}.hero-copy strong{display:inline-block;font-size:52px;letter-spacing:-2.8px;line-height:1.08;margin-top:15px}.hero-unit{font-size:17px;font-weight:700;margin-left:5px}.hero-copy p{max-width:260px;color:#d5eadc;font-size:12px;line-height:1.45;margin:13px 0 0}.calorie-ring{flex:none;width:132px;height:132px;border-radius:50%;background:conic-gradient(#b9ed8b var(--progress,0%),rgba(255,255,255,.2) var(--progress,0%));display:grid;place-items:center;position:relative}.calorie-ring:before{content:"";position:absolute;inset:12px;background:#24533f;border-radius:50%}.ring-inner{z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px}.ring-inner span{font-size:27px;font-weight:820;letter-spacing:-1px}.ring-inner small{font-size:11px;color:#d2e9db}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin:26px 3px 13px;gap:8px}.section-heading h2{font-size:18px;letter-spacing:-.6px;margin:0}.section-heading span{font-size:11px;color:var(--muted)}.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.macro-card{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:14px 12px 12px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column;align-items:flex-start;min-height:147px}.macro-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:8px;font-size:15px;margin-bottom:11px}.macro-icon.protein{background:#ffe9dd;color:#e9865c}.macro-icon.fat{background:#fff1ce;color:#edb842}.macro-icon.carbs{background:#e7eaff;color:#858bdd}.macro-title{color:var(--muted);font-size:11px;font-weight:700}.macro-card strong{font-size:14px;letter-spacing:-.3px;white-space:nowrap;margin:3px 0 11px}.bar{height:6px;border-radius:9px;width:100%;background:#edf1ed;overflow:hidden;margin-top:auto}.bar i{display:block;height:100%;border-radius:9px;width:0;transition:width .4s}.macro-card:nth-child(1) .bar i{background:#f39c77}.macro-card:nth-child(2) .bar i{background:#eec45a}.macro-card:nth-child(3) .bar i{background:#939be8}.macro-card small{font-size:10px;color:var(--muted);margin-top:8px;white-space:nowrap}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.metric-card{text-align:left;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:19px;min-width:0;padding:14px 12px;box-shadow:var(--shadow)}.metric-card:hover{border-color:#c6dfcf}.metric-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:12px}.metric-icon.water{background:#e6f3ff}.metric-icon.steps{background:#e8f6e9;color:#31885e;font-size:23px;font-weight:600}.metric-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.metric-main b{font-size:12px}.metric-main span{font-size:11px;color:var(--muted);white-space:nowrap}.metric-plus{font-size:22px;color:var(--green);font-weight:500}.metric-track{height:4px;width:100%;background:#edf1ed;border-radius:9px;display:block;overflow:hidden;margin-top:4px}.metric-track i{height:100%;width:0;background:var(--blue);display:block;transition:width .4s}.metric-card:nth-child(2) .metric-track i{background:#7ec893}.text-button{border:0;background:transparent;color:var(--green-dark);font-weight:800;font-size:12px;padding:5px 0}.meals-title{margin-top:27px}.meal-list{display:flex;flex-direction:column;gap:10px}.meal-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px 17px;box-shadow:var(--shadow)}.meal-head{display:flex;align-items:center;gap:10px}.meal-emoji{font-size:18px;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#f3f5ee}.meal-head h3{margin:0;font-size:14px;flex:1}.meal-kcal{color:var(--muted);font-size:12px;font-weight:750}.add-round{height:28px;width:28px;border:0;border-radius:50%;background:var(--mint);color:var(--green-dark);font-weight:700;font-size:20px;line-height:1}.meal-empty{font-size:12px;color:#a0aaa4;margin:8px 0 0 46px}.entry{margin:12px 0 0 46px;padding-top:11px;border-top:1px solid #f0f2ee;display:flex;justify-content:space-between;align-items:center;gap:7px}.entry-title{font-size:12px;font-weight:650}.entry-sub{font-size:11px;color:var(--muted);margin-top:2px}.entry-delete{border:0;background:transparent;color:#a5aea8;font-size:16px;min-width:30px}.plan-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;border:1px solid #d5eadb;background:#eaf5ed;border-radius:21px;padding:17px}.plan-card h3{font-size:15px;margin:5px 0}.plan-card p{font-size:11px;color:#647f6d;margin:0;line-height:1.4}.plan-card button{border:0;background:var(--green);color:white;border-radius:11px;padding:10px 12px;font-size:11px;white-space:nowrap;font-weight:750}.footnote,.attribution{font-size:10px;color:#96a19a;line-height:1.5;margin:18px 4px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;max-width:760px;margin:auto;height:calc(71px + env(safe-area-inset-bottom));padding:7px 13px env(safe-area-inset-bottom);background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:flex;z-index:25;backdrop-filter:blur(16px)}.nav-item{flex:1;border:0;background:transparent;color:#96a29a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.nav-item span{font-size:25px;line-height:1}.nav-item small{font-size:10px;font-weight:700}.nav-item.active{color:var(--green-dark)}.screen-title{margin:7px 3px 24px}.screen-title p{font-size:13px;color:var(--muted);line-height:1.5;margin:9px 0 0}.search-field{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dbe6df;border-radius:17px;padding:0 15px;height:53px;box-shadow:var(--shadow)}.search-field span{font-size:29px;color:#829288;line-height:1}.search-field input{border:0;outline:0;background:transparent;width:100%;color:var(--ink);font-size:14px}.search-actions{display:flex;gap:8px;margin-top:11px}.soft-button{border:1px solid #d7e8db;background:#ebf6ee;color:#277653;border-radius:12px;padding:10px 13px;font-size:12px;font-weight:750}.soft-button:hover{background:#def0e5}.hint{font-size:11px;color:var(--muted);line-height:1.45;margin:12px 2px 19px}.product-list{display:flex;flex-direction:column;gap:8px}.product-row{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px 14px;text-align:left;box-shadow:var(--shadow)}.product-row:hover{border-color:#b8d9c3}.product-avatar{width:39px;height:39px;flex:none;display:grid;place-items:center;border-radius:13px;background:#f1f6ef;color:#5c9d70;font-size:20px;font-weight:700}.product-avatar.off{background:#fff3e6;color:#d29346}.product-avatar.custom{background:#e8eefc;color:#7386bc}.product-body{min-width:0;flex:1}.product-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:750}.product-meta{display:block;font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-arrow{font-size:24px;color:#9faea2}.empty-list{border:1px dashed #d9e3dc;border-radius:16px;padding:26px;text-align:center;font-size:12px;color:var(--muted);line-height:1.5}.attribution{margin-top:22px}.custom-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:19px;box-shadow:var(--shadow);margin-bottom:23px}.custom-form h2{font-size:17px;margin:0 0 18px}.custom-form label,.sheet-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:750;color:#50645a;margin-bottom:14px}.custom-form input,.sheet-form input,.sheet-form select,#number-input{height:46px;border:1px solid #dce7df;border-radius:12px;padding:0 12px;outline:none;background:#fcfdfb;color:var(--ink);font-size:14px;width:100%}.custom-form input:focus,.sheet-form input:focus,.sheet-form select:focus,#number-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #e1f4e9}.form-label{font-size:11px;color:var(--muted);margin:6px 0 11px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.optional{font-weight:500;color:#9aa59e}.primary-button{width:100%;border:0;background:var(--green);color:#fff;border-radius:14px;height:48px;font-size:14px;font-weight:800;box-shadow:0 8px 18px rgba(45,156,114,.15)}.primary-button:hover{background:var(--green-dark)}.mine-action{border:0;background:#f3f5f2;border-radius:9px;color:#8c9a8f;font-size:16px;padding:6px 9px}.overlay{position:fixed;inset:0;background:rgba(19,35,28,.43);z-index:40;backdrop-filter:blur(2px)}.sheet{position:fixed;bottom:0;left:0;right:0;max-width:760px;margin:auto;background:#fff;border-radius:25px 25px 0 0;z-index:41;padding:13px 22px calc(27px + env(safe-area-inset-bottom));box-shadow:0 -22px 60px rgba(10,30,18,.17);animation:slideUp .25s ease;max-height:88dvh;overflow-y:auto}@keyframes slideUp{from{transform:translateY(28px);opacity:.5}to{transform:translateY(0);opacity:1}}.sheet-handle{width:34px;height:4px;border-radius:4px;background:#d9e2db;margin:0 auto 24px}.sheet-close{position:absolute;top:17px;right:20px;border:0;background:#f2f5f2;border-radius:50%;height:28px;width:28px;font-size:20px;color:#799084}.sheet h2{font-size:23px;letter-spacing:-.8px;margin:10px 0 5px}.sheet p{font-size:12px;color:var(--muted);line-height:1.5}.source-badge{display:inline-block;background:#e9f5ed;color:#31825b;font-size:10px;font-weight:800;border-radius:8px;padding:6px 9px;letter-spacing:.3px}.nutrition-strip{display:flex;justify-content:space-between;gap:5px;padding:15px 0;margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.nutrition-strip b{display:block;font-size:17px;color:var(--ink);margin-bottom:2px}.sheet-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.portion-preview{font-size:13px;color:var(--green-dark);font-weight:700;background:#eef8f0;border-radius:12px;padding:12px 14px;margin:1px 0 17px}#number-input{margin:10px 0 20px}.plan-item{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px;display:flex;justify-content:space-between}.plan-summary{background:#edf7ef;border-radius:13px;padding:14px;margin:20px 0;font-size:12px;color:var(--green-dark);font-weight:750}.toast{position:fixed;left:50%;bottom:calc(91px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#1c3b2d;color:#fff;padding:11px 17px;border-radius:11px;font-size:12px;font-weight:700;z-index:60;box-shadow:0 12px 30px rgba(20,50,30,.2);white-space:nowrap;max-width:90%;text-overflow:ellipsis;overflow:hidden}.gate{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.gate-mark{font-size:62px;color:var(--green)}.gate h1{font-size:28px;margin:9px 0}.gate p{max-width:280px;color:var(--muted);font-size:14px;line-height:1.5}.gate a{background:var(--green);color:#fff;text-decoration:none;padding:13px 19px;border-radius:12px;font-weight:750}
.barcode-panel{display:flex;gap:8px;margin-top:10px}.barcode-panel input{min-width:0;flex:1;height:42px;border:1px solid #dce7df;border-radius:11px;padding:0 11px;background:#fff;outline:0}.barcode-panel button{border:0;background:var(--green);color:#fff;border-radius:11px;padding:0 16px;font-size:12px;font-weight:750}
@media(max-width:390px){main{padding:15px 13px 32px}.topbar{padding:0 16px}.hero-card{padding:21px 18px;min-height:175px}.hero-copy strong{font-size:43px}.calorie-ring{height:105px;width:105px}.calorie-ring:before{inset:10px}.macro-card{padding:11px 9px;min-height:137px}.macro-card strong{font-size:12px}.macro-card small{font-size:9px}.metric-card{padding:11px 9px;gap:6px}.metric-icon{width:29px;height:29px}.metric-main span{font-size:10px}.date-row h1{font-size:28px}}
.weight-card{grid-column:1 / -1}.metric-icon.weight{background:#f4efff;font-size:18px}
