@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f8f6;--ink:#19332d;--muted:#7f928a;--green:#17765a;--dark:#124c3b;--line:#e9efeb;--shadow:0 12px 35px rgba(17,64,46,.065);--rad:22px}
*{box-sizing:border-box}html{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}input,select{outline:none}input:focus,select:focus{border-color:#3baf85!important;box-shadow:0 0 0 3px #c5ead7}h1,h2,h3,p{margin:0}a{text-decoration:none;color:inherit}.app{max-width:1100px;margin:auto;padding:24px 24px 120px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.brand{display:flex;gap:10px;align-items:center;font-size:22px;font-weight:800;letter-spacing:-.8px}.brand-icon{height:38px;width:38px;border-radius:14px;background:var(--green);display:grid;place-items:center;color:#fff;font-size:22px;box-shadow:0 6px 16px #18765a38}.brand span b{color:var(--green)}.top-right{font-size:12px;color:var(--muted);font-weight:700;display:flex;gap:12px;align-items:center}.avatar{width:38px;height:38px;display:grid;place-items:center;background:#e1efe7;color:#247a60;border-radius:13px;font-size:18px}.header{display:flex;justify-content:space-between;align-items:flex-end;margin:14px 0 24px;gap:12px}.small{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.15px}.header h1{font-size:31px;letter-spacing:-1.2px;line-height:1.25;margin-top:5px;font-weight:800}.date-controls{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:5px}.date-controls button{width:35px;height:35px;background:#f4f7f4;border-radius:10px;font-size:20px;color:var(--ink)}.date-controls input{border:0;background:transparent;width:139px;text-align:center;font-weight:700;color:var(--ink);font-size:12px}.grid-hero{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{border:1px solid var(--line);background:#fff;border-radius:var(--rad);box-shadow:var(--shadow);padding:22px}.calorie-card{display:flex;align-items:center;gap:28px;min-height:220px}.ring{--percent:0%;flex:0 0 auto;width:184px;height:184px;border-radius:50%;background:conic-gradient(#278a68 var(--percent),#e6f4ed var(--percent));position:relative;display:grid;place-items:center}.ring:after{content:'';position:absolute;inset:16px;background:#fff;border-radius:50%}.ring-text{z-index:1;text-align:center;display:grid;gap:1px}.ring-text strong{font-size:34px;font-weight:800;letter-spacing:-1.1px}.ring-text small{font-size:12px;color:var(--muted);font-weight:600}.subheading{font-weight:800;font-size:15px;letter-spacing:-.3px}.calorie-info{flex:1}.calorie-info h2{font-size:25px;letter-spacing:-.6px;margin:9px 0 4px}.calorie-info p{color:var(--muted);line-height:1.7;font-size:12px}.stat-inline{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:13px;font-size:12px}.stat-inline b{font-size:14px}.macro-card{min-height:220px;display:flex;flex-direction:column;justify-content:center;gap:17px}.macro-row{display:grid;gap:7px}.macro-label{display:flex;justify-content:space-between;font-size:13px}.macro-label strong{font-size:14px}.macro-label span{color:var(--muted);font-size:12px}.track{height:9px;border-radius:10px;background:#edf2ee;overflow:hidden}.bar{height:100%;background:#319f7a;border-radius:10px;min-width:0;transition:width .3s}.bar.fat{background:#e9ac70}.bar.carbs{background:#829ad9}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 15px;gap:10px}.section-heading h2{font-size:19px;letter-spacing:-.5px;font-weight:800}.section-heading p{font-size:12px;color:var(--muted);margin-top:5px}.btn{border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;background:#e8f5ee;color:var(--green);font-size:13px;font-weight:800;white-space:nowrap}.btn:hover{filter:brightness(.96)}.btn.primary{background:var(--green);color:#fff}.btn.dark{background:var(--ink);color:#fff}.btn.gray{background:#f1f4f1;color:#586d63}.btn.red{background:#fff0ee;color:#c24e48}.btn.outline{border:1px solid var(--line);background:#fff;color:var(--ink)}.btn.sm{padding:9px 13px;font-size:12px;border-radius:11px}.btn.full{width:100%}.actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.action-btn{border:1px solid #dfece3;border-radius:17px;padding:18px;display:flex;align-items:center;gap:15px;text-align:left;background:#fff;box-shadow:var(--shadow)}.action-btn .ico{width:44px;height:44px;border-radius:13px;background:#e7f6ed;display:grid;place-items:center;font-size:22px;flex-shrink:0}.action-btn:nth-child(2) .ico{background:#f7ede0}.action-btn:nth-child(3) .ico{background:#ebedfa}.action-btn b{font-size:13px}.action-btn small{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.5}.meal-card{padding:0;overflow:hidden;margin-bottom:11px}.meal-head{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}.meal-title{display:flex;gap:12px;align-items:center;font-weight:800}.meal-emoji{height:37px;width:37px;border-radius:12px;background:#f1f6f1;display:grid;place-items:center;font-size:20px}.meal-total{font-size:12px;color:var(--muted);margin-left:auto}.meal-head button{height:31px;width:31px;border-radius:9px;background:#eaf5ed;color:var(--green);font-size:23px}.entry{display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--line)}.entry-main{flex:1;min-width:0}.entry-main b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-main small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.entry-energy{text-align:right}.entry-energy b{font-size:13px}.entry-energy small{display:block;font-size:10px;color:var(--muted)}.tiny{border:0;background:#f6f8f6;color:#91a49b;border-radius:8px;padding:5px;font-size:13px}.empty{border-top:1px solid var(--line);color:#adbdb3;text-align:center;padding:18px 16px;font-size:12px}.footnote{color:#8a9d94;font-size:11px;line-height:1.7;margin:18px 0}.tabs{display:flex;align-items:center;gap:8px;overflow:auto;padding:2px 0 12px}.tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:12px;color:#64796d;font-weight:700;font-size:12px;padding:10px 16px}.tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.searchbar{display:flex;gap:10px}.field{border:1px solid #dee8df;background:#fff;padding:12px 14px;border-radius:12px;width:100%;color:var(--ink);font-size:14px}.field::placeholder{color:#a5b6aa}.field-label{font-size:11px;color:#71887a;font-weight:800;margin-bottom:7px;display:block}.food-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.food-result{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px}.food-result .food-icon{height:34px;width:34px;border-radius:10px;display:grid;place-items:center;background:#edf7f1;color:#378764;font-size:18px;flex-shrink:0}.food-result .description{flex:1;min-width:0}.food-result b{font-size:12px;display:block;line-height:1.45}.food-result small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.food-result .plus{font-size:22px;color:var(--green)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#ffffffef;backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:10}.bottom-nav .nav-inner{max-width:650px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 10px max(8px,env(safe-area-inset-bottom))}.nav-inner button{background:transparent;display:grid;place-items:center;gap:3px;color:#8ea196;font-size:10px;font-weight:800;padding:6px 0}.nav-inner button i{font-style:normal;font-size:22px}.nav-inner button.active{color:var(--green)}.overlay{position:fixed;inset:0;background:rgba(13,39,29,.40);backdrop-filter:blur(3px);z-index:20;display:grid;place-items:center;padding:18px}.modal{width:min(100%,520px);background:#fff;border-radius:24px;max-height:min(90vh,850px);overflow-y:auto;padding:24px;box-shadow:0 20px 80px #0e291e44}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h2{font-size:20px;letter-spacing:-.4px}.close{height:32px;width:32px;border-radius:10px;font-size:23px;color:#698078;background:#eff4ef}.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.mb{margin-bottom:13px}.mt{margin-top:14px}.hint{font-size:11px;color:#91a298;line-height:1.65}.modal-actions{display:flex;gap:10px;margin-top:20px}.summary-chip{border-radius:13px;padding:11px;background:#f2f8f4;font-size:12px;font-weight:800;color:#27775b;text-align:center}.recipe-ingredient{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px;gap:10px}.recipe-ingredient .txt{font-size:12px;flex:1}.recipe-ingredient small{display:block;color:var(--muted)}.week-grid{display:flex;align-items:end;gap:7px;height:155px;margin:20px 0 10px}.week-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px}.week-col b{color:#677d6f;font-size:10px}.week-col .line{width:100%;background:#d9eee2;border-radius:8px 8px 4px 4px;min-height:5px;max-width:42px}.week-col .line.current{background:#278a68}.settingsbox{max-width:620px}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#193b30;color:#fff;border-radius:12px;padding:12px 19px;font-size:12px;z-index:40;box-shadow:0 10px 40px #203b2b3d;max-width:min(480px,90vw);text-align:center}.hidden{display:none!important}.photo-preview{display:block;max-height:180px;max-width:100%;border-radius:14px;margin:10px auto}.status{font-size:12px;padding:12px;border-radius:12px;background:#f4f7f5;color:#617c6a}.muted{color:var(--muted)}.link{color:var(--green);cursor:pointer;text-decoration:underline}.recipe-box{max-width:680px}.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#d5f0df,transparent 45%),#f4f7f4}.login-card{max-width:420px;width:100%;padding:35px;text-align:center}.login-card .brand{justify-content:center;margin-bottom:20px}.login-card h1{font-size:27px;margin-bottom:8px}.login-card p{line-height:1.75;color:var(--muted);font-size:12px;margin-bottom:25px}.login-card .field{text-align:center;margin-bottom:12px}.login-error{font-size:12px;color:#b94e49;margin-top:10px;min-height:20px}
@media(max-width:800px){.app{padding:18px 15px 112px}.header h1{font-size:25px}.grid-hero{grid-template-columns:1fr}.calorie-card{justify-content:center;min-height:unset}.macro-card{min-height:unset}.actions{grid-template-columns:1fr 1fr}.action-btn:nth-child(3){grid-column:1/-1}.food-list{grid-template-columns:1fr}.card{padding:18px}.calorie-card{gap:20px}.ring{width:164px;height:164px}.ring-text strong{font-size:30px}}
@media(max-width:440px){.top{margin-bottom:19px}.top-right .text{display:none}.header{display:block}.date-controls{margin-top:16px;display:inline-flex}.calorie-card{gap:16px;padding:17px 13px}.ring{width:143px;height:143px}.ring:after{inset:13px}.ring-text strong{font-size:27px}.calorie-info h2{font-size:20px}.calorie-info p{font-size:11px}.actions{gap:8px}.action-btn{padding:12px 9px;gap:8px}.action-btn .ico{width:35px;height:35px;font-size:18px}.action-btn b{font-size:11px}.action-btn small{font-size:10px}.four-col{grid-template-columns:1fr 1fr}.modal{padding:18px}.entry{padding:12px}.meal-head{padding:13px}.cards-grid{grid-template-columns:1fr}}