@import "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{color:#263d32;font-synthesis:none;background:#f8f9f5;font-family:DM Sans,sans-serif;font-size:14px}*{box-sizing:border-box}body{min-width:360px;margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button{color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid #52785a}h1,h2,h3,p{margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{background:#f0f2e9;border-right:1px solid #e3e7dc;flex-direction:column;width:238px;padding:38px 25px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-2px;align-items:center;font-family:Manrope,sans-serif;font-size:35px;font-weight:800;display:flex}.brand-icon{color:#e9efdb;text-align:center;background:#355740;border-radius:14px 14px 14px 3px;width:38px;height:40px;margin-right:10px;font-size:34px;line-height:33px}.brand-dot{color:#82a361}.sidebar-caption{color:#7a8474;margin-top:10px;font-size:10px}.nav-label{letter-spacing:1.7px;color:#909785;margin:54px 13px 15px;font-size:9px;font-weight:700}.nav-item{text-align:left;color:#6e796b;border-radius:9px;align-items:center;gap:12px;width:100%;margin-bottom:8px;padding:14px;font-size:13px;display:flex}.nav-item>span:first-child{font-size:20px}.nav-item.active{color:#34523c;background:#dfe7d5;font-weight:650}.nav-dot{background:#53734a;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{margin-top:auto;padding:26px 15px 25px}.note-leaf{color:#8a9c6b;font-size:54px}.sidebar-note h3{letter-spacing:-.7px;font-family:Manrope,sans-serif;font-size:22px;font-weight:600;line-height:1.5}.sidebar-note p{color:#818a78;margin-top:11px;font-size:11px;line-height:1.9}.local-status{color:#6d7869;border-top:1px solid #dce2d3;padding-top:24px;font-size:10px}.local-status>span{background:#81a46b;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.local-status small{color:#8a9484;margin:7px 0 0 14px;display:block}.main-content{flex:1;min-width:0;margin-left:238px}.topbar{color:#889080;border-bottom:1px solid #e8eae2;justify-content:space-between;align-items:center;height:86px;padding:0 48px;font-size:11px;display:flex}.topbar>div{align-items:center;gap:24px;display:flex}.private-badge{font-size:10px}.avatar{color:#657557;background:#e5e9db;border:3px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;display:grid}.diary{max-width:1200px;margin:auto;padding:42px 48px 20px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.eyebrow{letter-spacing:2px;color:#829276;margin-bottom:12px;font-size:9px;font-weight:650}h1{letter-spacing:-1.6px;font-family:Manrope,sans-serif;font-size:36px;font-weight:650}h1>span{color:#8b9e6b}.page-heading p:last-child{color:#8a9184;margin-top:12px;font-size:12px}.primary{color:#fff;background:#355b40;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:12px;font-weight:550;display:inline-flex;box-shadow:0 3px 5px #263d3210}.primary:hover{background:#25482f}.primary>span{font-size:20px}.date-bar{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.date-title{align-items:center;gap:11px;display:flex}.date-title strong{font-size:13px;font-weight:550}.calendar-icon{color:#7d8b70;font-size:22px}.today-pill{color:#637e50;background:#eaf0df;border-radius:5px;padding:5px 8px;font-size:9px}.date-controls{align-items:center;gap:5px;display:flex}.date-controls button{background:#fff;border:1px solid #e2e6dc;border-radius:6px;min-width:34px;height:34px;font-size:19px}.date-controls button:nth-child(2){padding:0 13px;font-size:11px}.week-strip{background:#f0f2eb;border:1px solid #e7eadf;border-radius:12px;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:30px;padding:7px;display:grid}.week-strip button{color:#8a9383;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:9px;display:flex}.week-strip button>span{font-size:10px}.week-strip button>strong{font-size:17px;font-weight:550}.week-strip button.selected{color:#fff;background:#3d5c42;box-shadow:0 2px 3px #263d3220}.week-strip i{background:0 0;border-radius:50%;width:4px;height:4px}.week-strip i.logged{background:#9cb584}.week-strip button.selected i{background:#c8d8ad}.section-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}h2{letter-spacing:-.5px;font-family:Manrope,sans-serif;font-size:17px;font-weight:700}.text-button{color:#718361;padding:7px 0;font-size:11px}.text-button span{margin-left:8px}.overview{background:#fff;border:1px solid #e4e8de;border-radius:14px;grid-template-columns:1.15fr 1fr;padding:28px 30px;display:grid;box-shadow:0 3px 8px #263d3203}.calorie-card{border-right:1px solid #edf0e7;align-items:center;gap:25px;padding-right:20px;display:flex}.calorie-ring{background:conic-gradient(#6b8c55 var(--progress), #edf1e6 0);border-radius:50%;flex-shrink:0;width:146px;height:146px;padding:10px;transform:rotate(-90deg)}.calorie-ring>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;transform:rotate(90deg)}.calorie-ring span{letter-spacing:1.5px;color:#98a18b;font-size:8px}.calorie-ring strong{letter-spacing:-1px;margin:4px;font-family:Manrope,sans-serif;font-size:35px;font-weight:650}.calorie-ring small{color:#8f9787;font-size:10px}.tiny-label{letter-spacing:1.2px;color:#8b9780;font-size:8px}.calorie-details h3{letter-spacing:-1px;margin:10px 0 7px;font-family:Manrope,sans-serif;font-size:26px;font-weight:650}.calorie-details h3 small{color:#7b8872;letter-spacing:0;font-family:DM Sans,sans-serif;font-size:10px;font-weight:400}.calorie-details p{color:#919888;font-size:10px}.gentle-tag{color:#809269;background:#f1f5ea;border-radius:5px;margin-top:18px;padding:7px 9px;font-size:9px;display:inline-block}.macro-details{flex-direction:column;gap:16px;padding-left:30px;display:flex}.macro-line>div:first-child{justify-content:space-between;align-items:center;font-size:11px;display:flex}.macro-line strong{font-weight:550}.macro-line strong i{background:var(--color);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.protein{--color:#91a777}.carbohydrate{--color:#d1b076}.fat{--color:#aa9fc0}.macro-line>div>span{color:#a0a592;font-size:10px}.macro-line b{color:#56604e;font-size:12px;font-weight:550}.progress-track{background:#f2f2ed;border-radius:5px;height:5px;margin:9px 0 5px;overflow:hidden}.progress-track>div{background:var(--color);border-radius:5px;height:100%}.macro-line>small{color:#9aa28e;font-size:9px}.meal-title{margin-top:30px}.meal-title>div{align-items:baseline;gap:15px;display:flex}.meal-title>div>span,.meal-count{color:#939b89;font-size:10px}.meal-title i{margin:0 5px;font-style:normal}.meal-list{grid-template-columns:1fr 1fr;gap:16px;display:grid}.meal-section{background:#fff;border:1px solid #e5e8de;border-radius:12px;padding:20px}.meal-header{align-items:center;gap:12px;display:flex}.meal-icon{color:#bd9b52;background:#f8f0de;border-radius:11px;place-items:center;width:39px;height:39px;font-size:25px;display:grid}.lunch .meal-icon{color:#8d9e62;background:#ebf0e0}.dinner .meal-icon{color:#9c8ab7;background:#eeebf4}.snack .meal-icon{color:#c49573;background:#f9ece3}.meal-header h3{font-size:13px;font-weight:600}.meal-header p{color:#9ca28f;margin-top:5px;font-size:9px}.meal-calories{white-space:nowrap;margin-left:auto;font-size:13px;font-weight:500}.meal-calories small{color:#9aa28e;font-size:9px;font-weight:400}.add-meal{color:#71835f;border-radius:6px;width:32px;height:36px;font-size:23px}.add-meal:hover{background:#edf2e5}.empty-meal{color:#99a08c;background:#fcfdf9;border:1px dashed #dfe5d5;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:18px;padding:14px;font-size:10px;display:flex}.empty-meal:hover{color:#527046;background:#f1f5e9}.empty-meal span{font-size:17px}.diary-footer{text-align:center;color:#9ba48e;padding:28px 0 5px;font-size:10px}.diary-footer>span{vertical-align:middle;margin-right:5px;font-size:19px}.entry-row{border-top:1px solid #edf0e7;align-items:center;gap:10px;padding:14px 0;display:flex}.entry-list{margin-top:18px}.entry-row>div{flex:1}.entry-row strong{font-size:11px;font-weight:550}.entry-row small{color:#9ba18e;margin-top:4px;font-size:10px;display:block}.entry-row>span:not(.food-emoji){white-space:nowrap;font-size:10px}.entry-row>button{color:#a1a992;min-width:30px;min-height:36px;font-size:19px}.food-emoji{background:#f5f5ee;border-radius:9px;padding:8px;font-size:21px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toast{color:#fff;z-index:5;background:#2d4935;border-radius:10px;align-items:center;gap:25px;padding:14px 20px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #263d3240}.toast button{color:#d6e6b6;min-height:30px;text-decoration:underline}.error{color:#984a35;background:#fff0e9;border-radius:8px;margin:15px 0;padding:15px}dialog{color:#263d32;border:1px solid #dfe6d7;border-radius:18px;width:min(500px,100% - 28px);max-height:90vh;padding:30px;box-shadow:0 30px 100px #1b342933}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#23372b66}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{font-size:24px}.modal-header button{color:#829079;min-width:36px;min-height:40px;font-size:28px}.modal-header .eyebrow{font-size:8px}label{color:#77876b;margin-top:16px;font-size:11px;display:block}input,select{color:#344e38;background:#fafbf7;border:1px solid #dfe5d6;border-radius:8px;width:100%;margin-top:7px;padding:12px}.catalog-caption{letter-spacing:1px;color:#8f9d7c;justify-content:space-between;margin:23px 0 10px;font-size:9px;display:flex}.catalog-caption span{letter-spacing:0}.food-results{max-height:330px;overflow:auto}.food-results>button{text-align:left;border-bottom:1px solid #edf0e7;align-items:center;gap:12px;width:100%;padding:11px 3px;display:flex}.food-results>button:hover{background:#f5f8f0}.food-results>button>div{flex:1}.food-results strong{font-size:12px;font-weight:550}.food-results small{color:#92a081;margin-top:4px;font-size:10px;display:block}.food-results>button>span:last-child{font-size:22px}.food-results>p{color:#89977a;padding:20px 0;line-height:1.6}.selected-food{align-items:center;gap:15px;margin:15px 0;display:flex}.selected-food>span{font-size:35px}.selected-food h3{font-size:18px}.back{margin-top:15px}.portion-options{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.portion-options button{border:1px solid #dfe6d6;border-radius:6px;padding:9px;font-size:10px}.nutrition-preview{margin:25px 0;font-size:23px}.nutrition-preview span{color:#8e9b7d;font-size:11px}.full{width:100%;margin-top:12px}.goal-intro{color:#8c997e;font-size:12px;line-height:1.6}@media (width>=1500px){.diary{padding-top:55px}.overview{padding:35px}.meal-section{padding:25px}.empty-meal{padding:20px}.week-strip{margin-top:23px}.sidebar{width:260px}.main-content{margin-left:260px}}@media (width<=1150px){.sidebar{width:200px;padding:30px 18px}.main-content{margin-left:200px}.diary{padding:30px}.topbar{padding:0 30px}.overview{padding:22px}.calorie-card{gap:16px}.calorie-ring{width:120px;height:120px}.calorie-details h3{font-size:22px}.macro-details{padding-left:22px}.meal-header{gap:8px}.meal-header p{max-width:120px;line-height:1.5}.meal-title>div>span{display:none}}@media (width<=900px){.sidebar{width:170px;padding:28px 14px}.main-content{margin-left:170px}.brand{font-size:29px}.sidebar-caption{font-size:8px}.nav-item{padding:11px;font-size:11px}.overview{grid-template-columns:1fr}.calorie-card{border-bottom:1px solid #edf0e7;border-right:0;justify-content:center;padding:0 0 23px}.macro-details{grid-template-columns:repeat(3,1fr);gap:20px;padding:23px 0 0;display:grid}.macro-line>div:first-child{flex-wrap:wrap;gap:5px}.meal-list{grid-template-columns:1fr}.meal-header p{max-width:none}.page-heading{align-items:flex-start}h1{font-size:30px}.page-heading p:last-child{max-width:270px;line-height:1.7}.primary{white-space:nowrap}}@media (width<=620px){.sidebar{border-bottom:1px solid #e1e6d8;border-right:0;flex-direction:row;align-items:center;width:100%;height:70px;padding:15px 20px;position:static}.sidebar-caption,.nav-label,.sidebar-note,.local-status,.nav-item.active{display:none}.sidebar .nav-item{width:auto;margin:0 0 0 auto;font-size:11px}.brand{font-size:28px}.brand-icon{width:30px;height:32px;font-size:28px;line-height:29px}.app-shell{display:block}.main-content{margin:0}.topbar{display:none}.diary{padding:28px 20px 10px}.page-heading{gap:10px;margin-bottom:26px}.eyebrow{letter-spacing:1.5px;font-size:7px}h1{font-size:29px}.page-heading p:last-child{font-size:11px}.page-heading>.primary{margin-top:23px;padding:9px 11px;font-size:10px}.date-title{gap:7px}.date-title strong{font-size:11px}.date-controls{gap:3px}.date-controls button{min-width:30px;height:32px}.calendar-icon{display:none}.week-strip{gap:3px;padding:5px}.week-strip button{padding:7px}.overview{padding:22px}.calorie-ring{width:132px;height:132px}.calorie-card{gap:24px}.macro-details{gap:15px}.macro-line strong i{margin-right:5px}.meal-title{margin-top:26px}.meal-count{font-size:9px}.meal-section{padding:17px}.diary-footer{font-size:9px}.toast{width:max-content;max-width:95vw}.private-badge{display:none}dialog{padding:24px}}.page-heading p:last-child,.meal-header p,.macro-line>small,.diary-footer{color:#74816b}.empty-meal{color:#748367}@media (width<=900px){.macro-line>div:first-child{flex-direction:column;align-items:flex-start;gap:7px}}.backup-controls{background:#fff;border:1px solid #dce4db;border-radius:16px;margin-top:28px;padding:24px}.backup-controls button{cursor:pointer;background:#f4f7f1;border:1px solid #bacbbb;border-radius:8px;margin:8px 12px 8px 0;padding:10px 14px}.backup-controls label{margin:12px 0;display:block}.backup-controls input{max-width:100%;margin-top:8px;display:block}.brand{min-width:44px;min-height:44px}.date-controls button{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.week-strip button{min-width:44px;min-height:44px}.add-meal,.text-button,.backup-controls button{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}
