@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#234f40;--ink:#243c32;--muted:#7b847d;--bg:#f7f8f2;--line:#e5e9df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b6ce7a;outline-offset:4px}aside{position:fixed;inset:0 auto 0 0;width:236px;background:#fff;border-right:1px solid var(--line);padding:36px 24px;display:flex;flex-direction:column}.brand{font-size:35px;font-weight:800;letter-spacing:-2px;color:var(--green);text-decoration:none}.brand span{display:block;font-size:8px;letter-spacing:2px;margin:7px 0 0 4px}nav{display:grid;gap:10px;margin-top:65px}nav button{border:0;background:transparent;text-align:left;padding:15px 18px;border-radius:10px;color:#778178;font-size:19px}nav span{font-size:14px;margin-left:12px}nav .active{background:#edf2e5;color:var(--green);font-weight:700}.aside-note{margin-top:auto;border-top:1px solid var(--line);padding:25px 8px;color:var(--green);line-height:1.6}.aside-note small{display:block;color:var(--muted);margin-top:7px}.profile{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:22px;font-size:18px}.profile span{font-size:12px}.profile small{display:block;font-size:10px;color:var(--muted);margin-top:5px}main{max-width:1480px;margin-left:236px;padding:30px 52px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:42px}header>span{font-size:9px;letter-spacing:2px;color:var(--muted)}input,select{border:1px solid #d9e0d3;background:#fff;border-radius:9px;padding:12px;width:100%;color:var(--ink)}.date input{background:transparent;width:auto;padding:8px;font-size:12px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#798c69;margin:0 0 15px}h1{font-family:'Manrope',sans-serif;font-size:clamp(34px,3.2vw,48px);line-height:1.18;letter-spacing:-2px;margin:0 0 18px;font-weight:500}h1 em{font-family:Georgia,serif;color:#6f8d50;font-weight:400}p{line-height:1.7}.heading p:last-child{color:var(--muted);font-size:13px}.primary{background:var(--green);color:white;border:0;border-radius:9px;padding:15px 22px;font-weight:600;white-space:nowrap}.primary:hover{background:#35634f}.demo{display:flex;gap:12px;align-items:center;background:#edf1e7;border:1px solid #e0e7d7;border-radius:10px;padding:14px 18px;margin:27px 0;font-size:11px;line-height:1.7;color:#68745e}.demo>span{font-size:24px}.dashboard{display:grid;grid-template-columns:1.75fr 1fr;gap:24px}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:25px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font-family:'Manrope',sans-serif;font-size:18px;letter-spacing:-.6px;margin:0}.pill{font-size:9px;color:#79916c;background:#f2f5ed;border-radius:20px;padding:7px 10px}.overview-content{display:flex;align-items:center;gap:35px;padding:28px 0}.ring{border:13px solid #e9efdf;border-top-color:#a6bd7d;border-radius:50%;width:166px;height:166px;flex-shrink:0;display:grid;place-items:center;transform:rotate(-20deg)}.ring>div{transform:rotate(20deg);text-align:center}.ring strong{font-family:Manrope,sans-serif;font-size:38px;display:block;letter-spacing:-2px}.ring span{font-size:10px;color:var(--muted)}.macros{flex:1}.macros>div{display:flex;justify-content:space-between;border-bottom:1px solid #edf0e9;padding:11px 0;font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px}.protein{background:#7c9e77}.carbs{background:#d4b574}.fat{background:#bfa3a0}.macros p{font-size:10px;color:var(--muted);margin-bottom:0}.extra{border-top:1px solid var(--line);padding-top:17px;display:flex;gap:35px;font-size:11px;color:var(--muted)}.extra b{margin-left:12px;color:var(--ink)}.tip{padding:25px 28px;background:#e7eddb;border-radius:17px;position:relative;overflow:hidden}.tip:after{content:'◒';position:absolute;right:-30px;bottom:-70px;font-size:220px;color:#dbe4cc;pointer-events:none}.tip-icon{font-size:26px;margin-bottom:18px}.tip .eyebrow{font-size:8px}.tip h2{font-size:28px;font-weight:500}.tip p:not(.eyebrow){font-size:12px;max-width:260px;position:relative;z-index:1}.text-button{border:0;background:none;color:var(--green);padding:5px 0;font-weight:700;font-size:11px;position:relative;z-index:1}.meal-section{margin-top:36px}.meal-section>.section-title{margin-bottom:20px}.meal-section .eyebrow{font-size:8px;margin-bottom:9px}.section-title>span{font-size:11px;color:var(--muted)}.meal{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:18px 22px}.meal-header{display:flex;align-items:center;justify-content:space-between}.meal-header h3{font-size:13px;margin:0}.meal-header button{border:0;border-radius:50%;width:27px;height:27px;background:#f0f4e9;color:var(--green);font-size:20px}.meal-empty{color:#91988f;font-size:11px;margin:9px 0 0}.food-row{display:flex;gap:14px;align-items:center;border-top:1px solid #edf0e9;margin-top:13px;padding-top:13px}.food-row .food-name{flex:1;font-size:12px}.food-name small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.food-row strong{font-size:12px}.delete{border:0;background:transparent;color:#a18379;font-size:18px;padding:8px}.edit-grams{width:77px;padding:7px;font-size:11px}.muted{color:var(--muted);font-size:12px}footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:35px;padding:22px 0;color:#8a9486;font-size:10px}footer span{color:#9ba295}dialog{border:1px solid var(--line);border-radius:20px;width:500px;max-width:calc(100% - 28px);padding:28px;color:var(--ink)}dialog::backdrop{background:#152e2466;backdrop-filter:blur(3px)}label{display:block;font-size:12px;margin:17px 0 7px}label input,label select{margin-top:8px}.close{border:0;background:#f1f4ec;border-radius:50%;font-size:25px;width:32px;height:32px;color:var(--green)}.form-row{display:flex;align-items:end;gap:16px}.form-row>label{flex:1;min-width:0}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto;margin:0}.food-info{color:var(--muted);font-size:11px;margin-top:10px}.recipe-result{background:#f0f4e8;padding:15px;border-radius:10px;margin:20px 0;line-height:1.8;font-size:12px}.full{width:100%}.secondary{border:1px solid var(--green);color:var(--green);background:white;border-radius:8px;padding:12px;margin-bottom:7px}.recipe-form{max-width:740px;margin-top:25px}.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.learn-grid article>span{font-size:9px;color:#879a70;letter-spacing:1px}.learn-grid h2{margin-top:20px}.learn-grid p{color:var(--muted);font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:10px;padding:13px 22px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:5}#toast.show{opacity:1}[hidden]{display:none!important}@media(min-width:1500px){main{margin-right:auto}}@media(max-width:1100px){aside{width:200px;padding:30px 18px}main{margin-left:200px;padding:25px 30px}.dashboard{grid-template-columns:1fr}.tip{display:none}.heading{align-items:flex-start}.overview-content{justify-content:space-around}.macros{max-width:350px}}@media(max-width:700px){aside{position:fixed;top:auto;bottom:0;right:0;width:100%;height:67px;padding:0;z-index:4;border-top:1px solid var(--line)}.brand,.aside-note,.profile{display:none}nav{margin:0;display:flex;justify-content:space-around;gap:0}nav button{padding:10px 20px;text-align:center;border-radius:0;font-size:19px}nav span{display:block;margin:2px 0 0;font-size:10px}main{margin:0;padding:22px 20px 85px}header{margin-bottom:28px;padding-bottom:15px}header>span{font-size:7px;letter-spacing:1px}.date input{max-width:135px;font-size:11px}.heading{display:block}h1{font-size:38px}.heading .primary{margin-top:8px}.demo{margin-top:22px;font-size:10px}.card{padding:20px}.overview-content{gap:20px;padding:24px 0}.ring{width:130px;height:130px;border-width:10px}.ring strong{font-size:32px}.macros>div{font-size:11px}.pill{font-size:8px}.overview h2{font-size:16px}.section-title>span{font-size:9px}.food-row{gap:8px}.food-row strong{font-size:10px}.edit-grams{width:64px}footer{display:block;line-height:2}footer span{display:block}.learn-grid{grid-template-columns:1fr}.form-row{gap:10px}.recipe-form .form-row{flex-wrap:wrap}.recipe-form .form-row label:first-child{flex-basis:65%}}

.diary-navigation{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:20px 0;padding:20px;background:#edf2e5;border-radius:14px}.diary-navigation .eyebrow{margin-bottom:7px}.diary-navigation strong{display:block;text-transform:capitalize}.diary-navigation p:last-child{font-size:12px;margin:7px 0 0;color:#596e59}.diary-date-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.diary-date-actions label{font-size:11px;display:grid;gap:4px}.diary-date-actions button{font-size:12px;padding:10px}.diary-date-actions .date input{background:white;max-width:160px}@media(max-width:700px){.diary-navigation{display:block;padding:16px}.diary-date-actions{margin-top:15px;gap:6px}.diary-date-actions .date input{max-width:145px}}

header{flex-wrap:wrap;gap:12px}.privacy-mobile-entry{font-size:12px}#privacy-mobile-dialog section{border-top:1px solid var(--line);padding-top:12px;margin-top:18px}#privacy-mobile-dialog li{line-height:1.7;margin-bottom:8px}@media(max-width:700px){input,select,textarea{font-size:16px}body{padding-bottom:env(safe-area-inset-bottom)}main{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}header{padding-top:env(safe-area-inset-top)}.privacy-mobile-entry{padding:5px 0}dialog{max-height:calc(100dvh - 32px);overflow-y:auto}}

.brand img{display:block;width:184px;height:auto}.brand span{font-size:8px;letter-spacing:1.4px;margin-left:8px}@media(max-width:700px){.brand img{width:139px}}

.catalog-source{font-size:11px;overflow-wrap:anywhere}.catalog-source a{color:var(--green)}#recipe-search{min-width:150px}.recipe-form .form-row{flex-wrap:wrap}

.catalog-language{font-size:11px;display:flex;align-items:center;gap:8px}.catalog-language select{width:auto;padding:7px;font-size:14px}

#app-root:not([hidden]){display:contents}#app-root[hidden]{display:none!important}
