@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#203a32;background:#f5f7f6;font-synthesis:none;font-size:16px;--green:#163f33;--lime:#d4f284;--muted:#73827b;--line:#e5eae7}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #77ac46;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #5a8b6d;outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-1.5px;line-height:1.25;font-weight:650}h2{font-size:1.1rem;letter-spacing:-.4px}h3{font-size:1rem;font-weight:650}p{line-height:1.6}a{text-decoration:none;color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#123b30;color:#d9e6df;padding:38px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-family:'Manrope',sans-serif;font-size:1.75rem;font-weight:800;letter-spacing:-1.4px}.brand-mark{display:grid;place-items:center;background:#d4f284;color:#173e31;width:35px;height:35px;border-radius:11px;margin-right:10px;font-style:italic;font-size:1.65rem}.brand-dot{color:var(--lime)}.workspace-label{margin:58px 10px 18px;font-size:.68rem;letter-spacing:1.6px;color:#8fa99b;font-weight:700}.nav-item{display:flex;align-items:center;gap:14px;border-radius:9px;width:100%;padding:14px 16px;text-align:left;font-size:.94rem;margin:5px 0;color:#bed0c6}.nav-item span{font-size:1.3rem;width:23px;text-align:center}.nav-item.active{background:#d4f284;color:#214033;font-weight:700}.nav-item:not(.active):hover{background:#ffffff10}.sidebar-bottom{margin-top:auto;padding:20px 11px 0}.local-icon{display:block;font-size:1.9rem;color:#d4f284;margin-bottom:14px}.sidebar-bottom strong{font-size:.87rem}.sidebar-bottom p{font-size:.8rem;color:#9db5a9;margin:8px 0 24px}.prototype{font-size:.65rem;letter-spacing:1.3px;color:#8eaa9a}main{margin-left:224px}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#fff8}.breadcrumb{font-size:.85rem;color:#73827b}.breadcrumb span{margin:0 12px;color:#b3bdb7}.avatar{background:#e3eadc;border:3px solid white;border-radius:50%;width:39px;height:39px;font-weight:600}.page{max-width:1400px;margin:auto;padding:38px 44px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.eyebrow{font-size:.7rem;letter-spacing:1.5px;font-weight:700;color:#6f8477;text-transform:uppercase;margin-bottom:9px}.page-heading p{color:var(--muted);font-size:.94rem;margin-top:10px}.date-control{display:flex;flex-direction:column;gap:5px;font-size:.75rem;color:var(--muted)}input,select,textarea{border:1px solid #dce4df;border-radius:9px;background:#fff;color:#294336;padding:11px 12px;min-width:0;width:100%}.date-control input{font-size:.85rem}.setup-banner{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid #d7e3cd;border-radius:12px;background:#eff5e8;padding:15px 20px;margin-bottom:24px}.setup-banner strong{font-size:.9rem;display:block}.setup-banner span{font-size:.85rem;color:#687b6a;display:block;margin-top:3px}.small-button{padding:10px 14px;background:#fff;border:1px solid #dce4d7;border-radius:8px;font-size:.82rem;font-weight:600;white-space:nowrap}.small-button:hover{background:#eef4e9}.stats-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:18px;margin-bottom:33px}.calorie-card{background:#173f33;border-radius:17px;padding:22px 24px;color:#fff;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.68rem;letter-spacing:1.4px;color:#b9d2c1}.pill{background:#ffffff10;border:1px solid #ffffff12;border-radius:20px;padding:6px 10px;letter-spacing:0;white-space:nowrap;font-size:.7rem}.energy-content{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}.big-number{font-family:'Manrope';font-size:2.9rem;line-height:1.1;font-weight:650;letter-spacing:-2px}.big-number span{display:block;font-family:'DM Sans';font-size:.8rem;letter-spacing:0;font-weight:400;color:#bcd1c3;margin-top:8px}.energy-content p{font-size:.8rem;color:#b9cdbf;margin-top:20px}.energy-content p strong{color:#d4f284;font-weight:600}.ring{width:120px;height:120px;border-radius:50%;padding:9px;background:conic-gradient(#d4f284 var(--progress),#426154 0);flex-shrink:0;transform:rotate(-90deg)}.ring>div{background:#173f33;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;height:100%;transform:rotate(90deg)}.ring strong{font-family:Manrope;font-size:1.7rem;font-weight:500}.ring span{font-size:.61rem;color:#bbd0c2;margin-top:5px}.metric-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:17px}.metric-title{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:500}.metric-icon{background:#f1f4e9;border-radius:9px;padding:5px 8px;font-size:1.2rem;color:#617d32}.metric-value{font-family:Manrope;font-size:2.2rem;font-weight:600;letter-spacing:-1px;margin:22px 0 15px;white-space:nowrap}.metric-value span{font-family:'DM Sans';font-size:.83rem;color:#8a968e;font-weight:400;letter-spacing:0}.metric-card p{font-size:.75rem;color:#859187;margin-top:12px}progress{width:100%;height:7px;border:0;border-radius:20px;background:#edf0e9;display:block}progress::-webkit-progress-bar{background:#edf0e9;border-radius:20px}progress::-webkit-progress-value{background:#9dbd62;border-radius:20px}progress::-moz-progress-bar{background:#9dbd62;border-radius:20px}.water-card{background:#f0f6fc;border-color:#e0eaf5}.water-card .metric-icon{background:#dfeefa;color:#619ac2}.water-actions{display:flex;gap:6px}.water-actions button{border:1px solid #d5e3f0;border-radius:7px;background:#fff8;color:#4f7e9a;font-size:.8rem;padding:6px 11px}.water-actions button:last-child{flex:1}.main-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:30px;align-items:start}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.section-heading h2 span{display:inline-grid;place-items:center;background:#e6ebe6;font-family:'DM Sans';font-size:.7rem;border-radius:5px;min-width:22px;height:22px;margin-left:8px}.text-button{color:#628266;font-size:.79rem;font-weight:500;padding:5px 0}.text-button:hover{text-decoration:underline}.meal-list{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.empty-state{text-align:center;padding:43px 20px}.empty-symbol{margin:0 auto 16px;border:1px dashed #a7ba9d;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;color:#749269;font-size:1.5rem}.empty-state p{font-size:.86rem;color:var(--muted);margin:9px 0 19px}.meal-row{display:flex;gap:14px;padding:20px;border-bottom:1px solid var(--line);align-items:flex-start}.meal-row:last-child{border-bottom:0}.meal-row.selected{background:#f9fbf6}.meal-symbol{flex-shrink:0;display:grid;place-items:center;width:43px;height:43px;font-size:1.55rem;background:#f1f3e9;border-radius:12px;color:#7e9464}.meal-info{min-width:0;flex:1}.meal-meta{text-transform:uppercase;font-size:.62rem;letter-spacing:.7px;color:#819085;margin-bottom:6px}.meal-meta span{margin:0 4px}.meal-info h3{font-size:.88rem;overflow-wrap:anywhere;line-height:1.45}.meal-sub{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:.68rem}.badge{font-size:.63rem;display:inline-block;padding:3px 7px;border-radius:5px;white-space:nowrap}.rough{color:#93732c;background:#faf1dd}.good{color:#58794c;background:#edf3e5}.exact{color:#427967;background:#e5f1ec}.correct-button{font-size:.68rem;margin-top:6px}.meal-numbers{text-align:right;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.meal-numbers strong{font-size:1rem}.meal-numbers small{font-size:.65rem;font-weight:400;color:#849187}.meal-numbers>span{font-size:.72rem;color:#8b978e}.daily-total{display:flex;justify-content:space-between;align-items:center;padding:18px 2px;border-bottom:1px solid var(--line);font-size:.87rem}.daily-total span{font-size:.72rem;color:#89968c}.daily-total b{margin:0 9px;color:#bcc6be}.recommend-card{display:flex;justify-content:space-between;align-items:center;background:#e9efe1;border:1px solid #dce5d1;border-radius:13px;padding:23px 20px;margin-top:24px;gap:12px}.recommend-card .eyebrow{font-size:.61rem;color:#7c8f65}.recommend-card h3{font-size:1.15rem}.recommend-card p{font-size:.78rem;color:#7e8b71;margin-top:5px}.recommend-card button{border:1px solid #c8d7b9;border-radius:50%;min-width:40px;height:40px;font-size:1.3rem}.privacy-note{color:#97a198;font-size:.69rem;text-align:center;margin-top:22px}.chat-panel{background:white;border:1px solid #dfe6e0;border-radius:15px;overflow:hidden;box-shadow:0 7px 24px #233a2504}.chat-heading{display:flex;align-items:center;padding:21px;gap:12px;border-bottom:1px solid var(--line)}.chat-symbol{display:grid;place-items:center;background:#edf4e1;color:#577745;width:40px;height:40px;border-radius:11px;font-size:1.6rem}.chat-heading h2{font-size:1rem}.chat-heading p{font-size:.72rem;color:#8a978d;margin-top:3px}.local-label{margin-left:auto;letter-spacing:1px;font-size:.6rem;color:#82927c;background:#f2f5ee;padding:5px 7px;border-radius:5px}.messages{min-height:212px;max-height:360px;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:13px}.message{padding:14px 16px;background:#f3f5f1;border-radius:0 12px 12px 12px;font-size:.86rem;line-height:1.65;max-width:94%;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{align-self:flex-end;background:#e9f0db;border-radius:12px 0 12px 12px}.chat-bottom{padding:0 17px 15px}.prompt-chips{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap}.prompt-chips button,.portion-chips button{border:1px solid #e2e7de;border-radius:20px;padding:7px 10px;color:#7b8974;font-size:.69rem}.prompt-chips button:hover{background:#f1f5e9}#chat-form{border:1px solid #dbe3d5;border-radius:11px;padding:10px}textarea{border:0;resize:vertical;padding:5px;background:transparent;font-size:.86rem;line-height:1.6;min-height:65px}textarea::placeholder{color:#9ba594}.compose-tools{display:flex;align-items:center;justify-content:space-between}.photo-button{font-size:.7rem;color:#7c8d75}.send{background:#173f33;color:#e1f2bd;border-radius:9px;width:34px;height:34px;font-size:1.25rem}.chat-note{font-size:.66rem;line-height:1.5;color:#9aa394;margin:10px 4px 0}.selection{display:flex;justify-content:space-between;font-size:.73rem;padding:8px;background:#eff4e6;margin-bottom:10px;border-radius:5px}.selection button{font-size:1rem}.suggestion-intro{font-size:.81rem;color:#7a8873;margin:16px 0}.suggestion{display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}.suggestion p{font-size:.78rem;color:#8a9484;margin:5px 0}.suggestion strong{font-size:.75rem;font-weight:500;color:#63805b}.suggestion h3{font-size:.88rem}.mobile-nav{display:none}.muted{color:#849080;font-size:.84rem;line-height:1.65}.profile-card{max-width:690px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;margin-bottom:24px}.profile-card h2{margin-bottom:22px}.profile-card p{margin:12px 0 20px;font-size:.9rem;color:#7f8a7b}label{display:flex;flex-direction:column;gap:8px;font-size:.82rem;font-weight:500}form label{margin-bottom:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.primary{background:#183f31;color:white;border-radius:9px;padding:13px 20px;font-size:.85rem;font-weight:500}.primary:hover{background:#29583d}.confidence-guide{display:grid;grid-template-columns:auto 1fr;gap:13px 12px;align-items:start;font-size:.82rem;color:#7d8978}.confidence-guide .badge{font-size:.7rem}.history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:26px}.history-stats>div{background:#fff;border:1px solid var(--line);padding:24px;border-radius:13px}.history-stats span{font-size:.84rem;color:#7f8d7b;display:block;margin-bottom:18px}.history-stats strong{font-family:Manrope;font-size:2.1rem}.history-stats small{font-size:.86rem;font-weight:400;color:#97a18f}.history-chart,.history-list{background:#fff;border:1px solid var(--line);padding:27px;border-radius:15px;margin-bottom:26px}.history-chart .section-heading>span{font-size:.8rem;color:#87927e}.bars{display:flex;gap:20px;padding:15px 10px 22px}.bar-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px;font-size:.75rem}.bar-column>span{color:#7b8b71;font-size:.75rem}.bar-track{height:170px;width:100%;max-width:55px;border-radius:7px;background:#f2f5ee;display:flex;align-items:flex-end;overflow:hidden}.bar-track div{background:#a9c881;width:100%;border-radius:7px 7px 0 0}.bar-column small{color:#98a38f;font-size:.68rem}.history-list h2{margin-bottom:12px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;width:100%;border-top:1px solid var(--line);padding:20px 0;font-size:.87rem}.history-row>span{font-size:.8rem;color:#87927d}dialog{border:1px solid #dae4d5;border-radius:20px;padding:28px;max-width:550px;width:calc(100% - 28px);max-height:90dvh;color:#284231;box-shadow:0 20px 100px #123b3030}dialog::backdrop{background:#102f2670;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:12px}.dialog-heading h2{font-size:1.6rem}.close{font-size:1.5rem}.dialog-heading+p{margin-bottom:22px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:23px}.danger{color:#ad514d;font-size:.82rem}.review-total{padding:16px;background:#edf4e6;border-radius:9px;font-size:.94rem;font-weight:600}.portion-chips{display:flex;gap:8px;margin:-6px 0 20px;flex-wrap:wrap}.portion-chips button{min-width:46px;font-size:.78rem}.photo-upload{padding:18px;border:1px dashed #b3c4a1;border-radius:10px;margin-bottom:20px;background:#f6f8f2}.photo-upload p{font-size:.8rem;color:#819275}.photo-upload input{font-size:.8rem}.photo-upload img{max-width:100%;max-height:210px;object-fit:contain;display:block;margin:12px auto}.photo-upload img[hidden]{display:none}#nutrition-hint{margin:0 0 16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#163f33;color:#fff;padding:14px 22px;border-radius:12px;box-shadow:0 6px 30px #163f3320;font-size:.85rem;max-width:90%;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}.notice{padding:15px;background:#fff0d8;font-size:.87rem}
@media(min-width:1500px){.page{padding-top:48px}.stats-grid{gap:24px}.main-grid{gap:38px}.calorie-card{padding:25px 28px}.metric-card{padding:25px}.ring{height:134px;width:134px}.messages{min-height:245px}}
@media(max-width:1180px){.sidebar{width:190px;padding:30px 15px}main{margin-left:190px}.page{padding:30px 25px}header{padding:0 25px}.stats-grid{gap:12px;grid-template-columns:1.5fr 1fr 1fr}.calorie-card,.metric-card{padding:19px 17px}.ring{width:94px;height:94px;padding:7px}.ring strong{font-size:1.35rem}.ring span{font-size:.54rem}.big-number{font-size:2.45rem}.metric-value{font-size:1.9rem}.main-grid{gap:20px;grid-template-columns:1fr 1fr}.meal-row{gap:10px;padding:16px 12px}.meal-symbol{display:none}.card-top{font-size:.61rem;letter-spacing:.8px}.pill{font-size:.63rem;padding:5px 7px}}
@media(max-width:950px){.sidebar{width:170px}.brand{font-size:1.5rem}.brand-mark{width:29px;height:29px}main{margin-left:170px}.page{padding:25px 22px}.stats-grid{grid-template-columns:1fr 1fr}.calorie-card{grid-column:1/-1}.energy-content{margin-top:10px}.big-number span{display:inline;margin-left:12px}.energy-content p{margin-top:12px}.ring{height:95px;width:95px}.metric-value{margin-top:17px}.main-grid{grid-template-columns:1fr}.chat-panel{grid-row:1}.messages{min-height:100px;max-height:260px}.meal-symbol{display:grid}.page-heading{align-items:start}.date-control input{max-width:150px}.page-heading h1{font-size:1.9rem}.history-stats{gap:10px}.history-stats>div{padding:16px}.history-stats span{font-size:.75rem}.history-stats strong{font-size:1.6rem}}
@media(max-width:650px){.sidebar{display:none}main{margin:0}header{height:68px;padding:0 22px}.breadcrumb:before{content:'nourish.';font-family:Manrope;font-weight:800;font-size:1.4rem;letter-spacing:-1px;color:#173f33}.breadcrumb{font-size:0}.breadcrumb span{display:none}.page{padding:26px 18px 105px}.page-heading{flex-direction:column;gap:17px;margin-bottom:22px}.page-heading h1{font-size:2rem}.page-heading p{font-size:.85rem}.date-control{flex-direction:row;align-items:center;gap:12px}.date-control input{padding:7px 10px;max-width:180px}.eyebrow{font-size:.65rem}.setup-banner{padding:15px;gap:12px;align-items:start}.setup-banner span{font-size:.77rem;line-height:1.5}.setup-banner .small-button{font-size:.72rem;padding:9px 10px}.stats-grid{gap:11px;margin-bottom:27px}.calorie-card{padding:21px}.card-top{font-size:.68rem}.pill{font-size:.7rem}.big-number{font-size:2.8rem}.big-number span{display:block;margin:7px 0 0;font-size:.78rem}.energy-content{margin-top:18px}.ring{height:112px;width:112px}.ring strong{font-size:1.6rem}.ring span{font-size:.61rem}.metric-card{padding:18px}.metric-title{font-size:.85rem}.metric-value{font-size:1.9rem;margin:17px 0 13px}.metric-value span{font-size:.74rem}.metric-card p{font-size:.7rem}.main-grid{gap:26px}.chat-heading{padding:17px}.messages{padding:17px;min-height:115px}.message{font-size:.88rem}.chat-note{font-size:.7rem}.prompt-chips button{font-size:.73rem}textarea{font-size:1rem}.photo-button{font-size:.77rem}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e1e7de;padding:7px 20px max(9px,env(safe-area-inset-bottom));z-index:3;justify-content:space-around}.mobile-nav .nav-item{width:auto;min-width:80px;flex-direction:column;padding:5px 15px;gap:3px;font-size:.69rem;margin:0;color:#8b9984}.mobile-nav .nav-item.active{background:#edf3e3;color:#355839}.mobile-nav .nav-item span{font-size:1.15rem}.history-stats{grid-template-columns:1fr 1fr}.history-stats>div:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.history-stats>div:last-child span{margin:0}.history-chart,.history-list{padding:20px 15px}.history-chart .section-heading{align-items:start;flex-direction:column}.bars{gap:9px;padding:12px 0 20px}.bar-column>span{font-size:.65rem}.bar-track{height:130px}.history-row{flex-wrap:wrap;gap:8px}.history-row strong{width:100%}.profile-card{padding:22px}.form-grid{gap:12px}.form-grid label{font-size:.77rem}.confidence-guide{font-size:.76rem}dialog{padding:22px 18px}.dialog-heading h2{font-size:1.4rem}#toast{bottom:90px;min-width:260px;text-align:center}.meal-meta{font-size:.67rem}.badge{font-size:.65rem}.meal-numbers>span{font-size:.74rem}.meal-info h3{font-size:.9rem}.daily-total{font-size:.84rem}}
/* Maintain readable control and body text across the compact journal layout. */
.message,textarea,.profile-card p,.empty-state p{font-size:1rem}
.text-button,.small-button,.metric-title,.metric-card p,.metric-value span,.water-actions button,.prompt-chips button,.photo-button,.chat-heading p,.selection,.suggestion p,.suggestion strong,.recommend-card p,.primary,label,.form-grid label,.date-control,.history-row,.history-row>span,.history-stats span,.history-chart .section-heading>span{font-size:.875rem}
.badge,.meal-meta,.meal-sub,.meal-numbers>span,.meal-numbers small,.correct-button,.chat-note,.privacy-note,.chat-heading .local-label,.pill,.card-top,.eyebrow,.prototype,.workspace-label,.bar-column small,.bar-column>span,.ring span{font-size:.75rem}
.metric-value{white-space:normal}.metric-value span{display:inline-block}.meal-meta{letter-spacing:.3px}.setup-banner span,.confidence-guide{font-size:.875rem}.ring span{font-size:.75rem;text-align:center;line-height:1.2;max-width:60px}.ring strong{line-height:1.1}.energy-content{flex-wrap:wrap}.form-grid{min-width:0}
@media(max-width:400px){.metric-card{padding:14px 12px}.meal-row{flex-wrap:wrap}.meal-symbol{display:none}.setup-banner{flex-direction:column}.dialog-footer .primary{padding:12px}.history-stats strong{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
