@charset "UTF-8";
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#153c37;background:#f3f8f5;font-synthesis:none;--ink:#153c37;--muted:#72867e;--mint:#ccebcf;--green:#168574;--line:#e3ece6;--panel:#fff;--shadow:0 8px 32px #153c3707}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #28a8a0;outline-offset:3px}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1.2px;line-height:1.15}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:16px}p{line-height:1.55}.app{max-width:1080px;margin:auto;padding:24px 32px 110px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.brand{font-size:26px;font-weight:800;letter-spacing:-1.2px}.brand span{font-size:12px;color:#46b9a9;margin-left:3px}.avatar{width:40px;height:40px;border-radius:50%;background:#dcece6;color:var(--green);display:grid;place-items:center;font-weight:700}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:750;color:var(--muted)}.muted{color:var(--muted)}.tiny{font-size:12px;line-height:1.5}.subtitle{font-size:14px;color:var(--muted);margin-top:9px}.demo{background:#f8efd8;border:1px solid #e9d9b6;border-radius:12px;padding:9px 14px;font-size:12px;margin-bottom:16px;color:#786338;display:flex;justify-content:space-between;align-items:center}.mode-switch{display:inline-flex;background:#e8f0eb;padding:4px;border-radius:14px;gap:3px;margin-top:20px}.mode-switch button,.segments button{background:transparent;border:0;color:var(--muted);padding:10px 20px;border-radius:11px;font-size:13px;font-weight:650}.mode-switch .selected,.segments .selected{background:white;color:var(--ink);box-shadow:0 2px 8px #153c370a}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px}.pill{background:#e4f3e7;color:#308b66;font-size:11px;font-weight:700;border-radius:100px;padding:7px 12px;white-space:nowrap}.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:var(--shadow);min-width:0}.hero{background:#153f38;color:white;border:0;position:relative;overflow:hidden;min-height:265px;display:flex;align-items:center}.hero:after{content:"";width:280px;height:280px;position:absolute;right:-150px;top:-160px;border:45px solid #85c6ac16;border-radius:50%;pointer-events:none}.hero-content{width:65%;position:relative;z-index:1}.hero .eyebrow{color:#afcfc0}.hero-number{font-size:59px;font-weight:700;letter-spacing:-2.5px;line-height:1.15;margin:15px 0 3px;font-variant-numeric:tabular-nums}.hero-number small{font-size:15px;color:#c6dbd1;letter-spacing:0;font-weight:400}.hero .balance{font-size:14px;color:#e1efdf;margin-top:8px}.mascot{position:absolute;right:10px;bottom:-13px;width:42%;max-width:225px;border-radius:45%;mix-blend-mode:screen;opacity:.93}.hero .progress{margin-top:22px;background:#ffffff20}.progress{height:7px;background:#edf3ef;border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:#c4e8aa;border-radius:20px;min-width:0}.hero-date{font-size:12px;color:#a6c4b6;margin-top:10px}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 20px}.macro{background:white;border:1px solid var(--line);border-radius:18px;padding:16px}.macro .eyebrow{font-size:9px;letter-spacing:1px}.macro strong{font-size:24px;display:block;margin-top:9px;letter-spacing:-.6px}.macro small{font-size:12px;font-weight:400;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 18px}.link-button{background:none;border:0;padding:0;color:var(--green);font-size:12px;font-weight:650}.meal-row{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid #edf2ef}.meal-row:last-child{border:0;padding-bottom:0}.meal-icon{width:43px;height:43px;border-radius:14px;background:#eff6e8;display:grid;place-items:center;flex-shrink:0;color:#7d9f5e}.meal-icon.lunch{background:#e6f1ed;color:#4c9c7d}.meal-icon.dinner{background:#eeedf8;color:#8b7bb8}.meal-icon.snack{background:#fbf0df;color:#c19a55}.meal-title{font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.meal-meta{font-size:11px;color:var(--muted);margin-top:4px}.meal-kcal{font-size:13px;white-space:nowrap;margin-left:auto;text-align:right;font-weight:700}.meal-kcal small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.primary,.secondary,.danger{border:0;border-radius:13px;padding:13px 18px;font-weight:650;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.primary{background:#168574;color:white}.secondary{background:#e9f3ee;color:#246e5e}.danger{background:#faeeeb;color:#ac6255}.full{width:100%}.button-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.quick{padding:20px 17px;text-align:left;background:white;border:1px solid var(--line);border-radius:20px;color:var(--ink);box-shadow:var(--shadow)}.quick svg{display:block;color:var(--green);margin-bottom:13px}.quick strong{font-size:13px}.quick small{display:block;font-size:11px;color:var(--muted);margin-top:6px;line-height:1.4}.insight{background:#edf4e5;border-color:#e4edd9}.insight p{font-size:13px;margin-top:10px;color:#63765c}.chart{width:100%;height:auto;display:block;margin-top:17px}.chart-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px}.axis{font-size:9px;fill:#85958d}.chart-line{fill:none;stroke:#298d7d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#fff;stroke:#278e7d;stroke-width:2}.chart-empty{background:#f6f9f7;border:1px dashed #dce9e0;border-radius:18px;padding:40px 22px;text-align:center;margin-top:18px;color:var(--muted);font-size:13px}.nav{position:fixed;bottom:0;left:0;right:0;margin:auto;max-width:1080px;padding:12px 28px calc(12px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;justify-content:space-around;gap:5px;z-index:20}.nav button{border:0;background:none;color:#84968c;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:51px;padding:6px 10px;border-radius:12px}.nav button.active{background:#e8f4ed;color:#168574;font-weight:700}.nav svg{width:21px;height:21px}.icon{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footnote{font-size:11px;color:#88978f;text-align:center;margin:25px auto 0;max-width:650px;line-height:1.6}.segments{display:flex;gap:4px;background:#eaf1ec;border-radius:14px;padding:4px;margin:20px 0}.segments button{flex:1;padding:11px 7px}.form{display:grid;gap:16px}.form label{font-size:12px;font-weight:650;display:block;line-height:1.6}.form input,.form select,.form textarea,.date-input{display:block;width:100%;border:1px solid #dbe7df;background:#fafcfb;padding:13px 14px;border-radius:12px;margin-top:7px;color:var(--ink);outline:none;font-size:14px}.form input:focus,.form textarea:focus,.form select:focus{border-color:#46a98f;box-shadow:0 0 0 3px #46a98f10}.form textarea{resize:vertical;min-height:104px}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form .four{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form .hint{color:var(--muted);font-size:11px;font-weight:400;margin-top:6px}.dropzone{border:1.5px dashed #b9d6c5;background:#f3f9f4;border-radius:20px;padding:30px 18px;text-align:center;position:relative;overflow:hidden}.dropzone svg{width:36px;height:36px;color:var(--green);margin-bottom:10px}.dropzone strong{font-size:14px;display:block}.dropzone p{font-size:11px;color:var(--muted);margin-top:6px}.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-preview{max-height:180px;max-width:100%;object-fit:contain;border-radius:15px;margin-top:10px}.estimate{background:#eff7ef;border:1px solid #d1e5d2;border-radius:18px;padding:20px;margin-top:20px}.estimate p{font-size:12px;color:#657b67;margin-top:8px}.badge{font-size:10px;padding:5px 8px;border-radius:9px;background:#f2e8d4;color:#88713e}.profile-head{display:flex;gap:17px;align-items:center;margin-bottom:24px}.profile-head img{width:70px;height:70px;object-fit:cover;border-radius:24px}.settings-list{display:grid;gap:12px}.settings-item{display:flex;gap:15px;align-items:center;padding:16px;background:#f8fbf9;border:1px solid var(--line);border-radius:15px;font-size:13px}.settings-item span{flex:1}.settings-item small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.check{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.check input{width:18px!important;height:18px;margin-top:3px!important;accent-color:#168574;flex-shrink:0}.empty{padding:28px 14px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6}.empty svg{width:32px;height:32px;color:#a3bcae;margin-bottom:12px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.metric strong{font-size:29px;letter-spacing:-1px;display:block;margin:8px 0}.metric p{font-size:11px;color:var(--muted)}.notice{font-size:12px;background:#f0f5ed;padding:15px;border-radius:13px;line-height:1.6;margin-bottom:17px;color:#60775e}.onboard{max-width:650px;margin:30px auto}.onboard img{display:block;width:135px;height:135px;object-fit:cover;border-radius:40px;margin:0 auto 25px}.onboard h1,.onboard>p{text-align:center}.onboard .card{margin-top:23px}.notice-text{font-size:12px;white-space:pre-line;line-height:1.7;color:#65766c;max-height:260px;overflow:auto;margin:18px 0}.privacy-content{max-width:750px;margin:30px auto;padding:28px}.privacy-content h2{margin:26px 0 10px}.privacy-content p,.privacy-content li{font-size:14px;line-height:1.8;color:#60766c}.privacy-content ul{padding-left:22px}dialog{border:1px solid var(--line);border-radius:24px;padding:26px;max-width:450px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 80px #103c3830}dialog::backdrop{background:#0e342f77;backdrop-filter:blur(4px)}dialog h2{margin-bottom:15px}dialog .button-row{justify-content:flex-end}#toast{position:fixed;left:50%;bottom:105px;transform:translateX(-50%);background:#153f38;color:white;border-radius:14px;padding:13px 20px;max-width:90%;font-size:13px;z-index:100;display:none;box-shadow:0 8px 30px #102a3730}.boot{text-align:center;padding:120px 10px}.boot p{margin-top:15px;color:var(--muted);font-size:13px}.spinner{width:15px;height:15px;border:2px solid #ffffff50;border-top-color:white;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.loading{opacity:.7;pointer-events:none}.error-box{background:#fbefea;border:1px solid #edd9cf;border-radius:14px;padding:13px 16px;font-size:12px;color:#995e49;margin-bottom:18px}.success{color:var(--green)}.day-picker{display:flex;align-items:center;gap:9px;margin-bottom:20px}.date-input{margin:0;max-width:180px;text-align:center}.day-picker button{padding:13px;border:1px solid var(--line);background:white;border-radius:12px;color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:760px){.hero-content{width:70%}.mascot{width:36%;right:-8px}.mobile-title{display:none}.food-layout{max-width:650px;margin:auto}.onboard{margin:25px auto}.nav{border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:22px 22px 0 0}.grid .span-all{grid-column:1/-1}}
@media(max-width:759px){.app{padding:18px 19px 110px}.topbar{margin-bottom:24px}.brand{font-size:24px}h1{font-size:28px}.grid{grid-template-columns:1fr;gap:16px}.card{padding:21px;border-radius:22px}.hero{min-height:245px}.hero-number{font-size:52px}.hero-content{width:66%}.mascot{width:42%;right:-5px;bottom:0}.hero .balance{font-size:12px;max-width:210px}.hero-date{font-size:10px}.hero-number small{font-size:12px}.heading{margin-bottom:20px}.heading .pill{font-size:10px}.macros{gap:9px;margin:12px 0 17px}.macro{padding:14px 12px;border-radius:17px}.macro strong{font-size:22px}.macro .eyebrow{font-size:8px;letter-spacing:.8px}.quick-actions{margin-bottom:16px}.quick{padding:17px}.nav{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.nav button{padding:6px 9px}.mode-switch{display:flex;margin-top:17px}.mode-switch button{flex:1;padding:10px}.avatar{width:36px;height:36px}.onboard{margin:15px auto}.settings-item{padding:13px}.demo{font-size:10px}.profile-head img{width:58px;height:58px;border-radius:20px}.profile-head h1{font-size:25px}.footnote{margin-top:20px}.chart-empty{padding:30px 15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
/* Explicit, isolated phone preview for reviewing on a desktop. Real phones use the media query above. */
.phone-preview{background:#dfeae3}.phone-preview .app{max-width:430px;background:#f3f8f5;min-height:100vh;padding:18px 19px 110px}.phone-preview .grid{grid-template-columns:1fr;gap:16px}.phone-preview .grid .span-all{grid-column:auto}.phone-preview .nav{max-width:430px;padding:10px 12px;border-radius:0}.phone-preview .nav button{padding:6px 9px}.phone-preview h1{font-size:28px}.phone-preview .topbar{margin-bottom:24px}.phone-preview .brand{font-size:24px}.phone-preview .card{padding:21px;border-radius:22px}.phone-preview .hero{min-height:245px}.phone-preview .hero-number{font-size:52px}.phone-preview .hero-content{width:66%}.phone-preview .mascot{width:42%;right:-5px;bottom:0}.phone-preview .hero .balance{font-size:12px;max-width:210px}.phone-preview .hero-date{font-size:10px}.phone-preview .hero-number small{font-size:12px}.phone-preview .macros{gap:9px;margin:12px 0 17px}.phone-preview .macro{padding:14px 12px}.phone-preview .macro strong{font-size:22px}.phone-preview .macro .eyebrow{font-size:8px}.phone-preview .mode-switch{display:flex;margin-top:17px}.phone-preview .mode-switch button{flex:1;padding:10px}.phone-preview .demo{font-size:9px}.phone-preview .avatar{width:36px;height:36px}.phone-preview .quick{padding:17px}.phone-preview .settings-item{padding:13px}.phone-preview .profile-head img{width:58px;height:58px;border-radius:20px}
