@import"https://fonts.googleapis.com/css2?family=Prompt:wght@400;500;600;700&display=swap";:root{font-family:Prompt,system-ui,sans-serif;color:#204331;background:#f1faf3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.6}h1,h2,h3,p{margin-top:0}.app{display:flex;min-height:100vh}aside{width:244px;flex-shrink:0;background:#fff;padding:30px 18px;border-right:1px solid #e2eee6;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:9px;font-size:25px;font-weight:700;color:#218453}.logo svg{width:30px;height:30px}.muted{color:#81958a;font-size:13px}aside>.muted{letter-spacing:2px;font-size:9px;margin:3px 0 35px 40px}nav{display:grid;gap:7px}nav button,.sidefoot button{display:flex;align-items:center;gap:13px;background:transparent;text-align:left;padding:13px 15px;border-radius:12px;color:#668074;font-weight:500}nav button.active{background:#e3f6e8;color:#238d54}nav button:hover{background:#edf9f0}.sidefoot{margin-top:auto;border-top:1px solid #e7f0e9;padding-top:20px;display:grid;gap:8px;font-size:13px}.sidefoot button{padding:8px;color:#607a6b}.content{width:100%;max-width:1300px;margin:auto;padding:34px 48px 20px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}header h1{font-size:30px;margin:4px 0}header p{color:#81958a;margin:0;font-size:14px}.eyebrow{font-size:11px;letter-spacing:2px;color:#3da56a;font-weight:600}.avatar,.memberavatar{display:grid;place-items:center;background:#d7f4df;color:#278751;border-radius:50%;width:46px;height:46px;font-weight:700}.welcome{background:linear-gradient(115deg,#dcf7e4,#f2fbe8);border:1px solid #d8eedf;border-radius:22px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.welcome span{font-size:11px;letter-spacing:2px;color:#3a9c66}.welcome h2{font-size:25px;margin:9px 0}.welcome p{font-size:13px;color:#749383;margin:0}.welcomeart{font-size:75px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stat,.card{background:#fff;border:1px solid #e6f0e9;border-radius:18px;padding:23px;box-shadow:0 7px 30px #2d6d3a08}.stat span{display:block;color:#668576;font-size:13px}.stat strong{display:block;font-size:30px;margin:12px 0 2px}.stat small{color:#9aaca0}.card{margin-bottom:19px}.card h3{font-size:17px;margin-bottom:13px}.card>p{font-size:13px}.progress{height:13px;background:#e8f3eb;border-radius:20px;overflow:hidden;margin:18px 0}.progress div{background:linear-gradient(90deg,#65ca8c,#2ca569);height:100%;border-radius:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toolbar{display:flex;justify-content:space-between;margin-bottom:20px}.toolbar label{display:flex;align-items:center;gap:10px;color:#5c816b}.toolbar input{border:1px solid #d9eadf;border-radius:10px;padding:9px;color:#3e624e;background:#fff}.gridform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gridform label,.login label{display:grid;gap:7px;font-size:13px;color:#557361}.gridform input,.gridform select,.login input{width:100%;padding:12px 14px;border:1px solid #dcece1;border-radius:10px;background:#fbfefc;color:#244b34;outline:none}.gridform input:focus,.login input:focus{border-color:#3ba66b}.gridform button,.login button{background:#2ba365;color:#fff;border-radius:10px;padding:12px 20px;display:flex;justify-content:center;align-items:center;gap:8px;align-self:end}.secondary{padding:10px 16px;background:#e3f6e9;color:#24834e;border-radius:10px;margin-top:12px}.entry{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf3ef;padding:13px 0;font-size:14px}.entry:last-child{border:0}.entry p{margin:3px 0 0;color:#8da396;font-size:12px}.iconbtn{background:transparent;color:#ba6c6c}.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.members button{background:#f4fbf5;border:1px solid #e0f0e4;padding:18px;border-radius:15px;display:grid;justify-items:center;gap:8px;color:#376348}.members small{color:#90a99a}.members span:last-child{font-size:12px;color:#2c9c5d}.target{margin-top:20px;background:#edf9f0;padding:17px;border-radius:12px}.notice{background:#fff5dc;padding:13px;border-radius:10px;margin-bottom:18px;color:#825b17;cursor:pointer}footer{display:flex;align-items:center;gap:8px;justify-content:center;color:#9ab0a0;font-size:11px;padding:20px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 10% 15%,#d8f6df,transparent 45%),#f1faf3}.loginbox{width:min(100%,440px);background:#fff;padding:40px;border-radius:24px;box-shadow:0 20px 60px #2a7a4b16}.loginbox .logo{margin-bottom:30px}.loginbox h1{font-size:23px}.loginbox p{font-size:13px;color:#799184}.loginbox form{display:grid;gap:18px;margin:28px 0}.loginbox small{color:#9bae9f}.loginbox .error{color:#c54646}.center{padding:100px;text-align:center}@media(max-width:850px){.app{display:block}aside{width:100%;height:auto;position:relative;padding:14px 16px}aside>.muted,.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:12px;gap:5px}nav button{white-space:nowrap;padding:9px 12px;font-size:12px;gap:6px}.content{padding:22px 15px}.stats{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.welcome{padding:23px}.welcomeart{font-size:44px}header h1{font-size:24px}}@media(max-width:500px){.gridform{grid-template-columns:1fr}.stat{padding:16px}.stat strong{font-size:25px}.welcome h2{font-size:21px}}.entry{gap:12px;flex-wrap:wrap}.entry b{overflow-wrap:anywhere}.scan-error{color:#b33b3b;font-size:13px;margin-top:10px}input[type=file]{max-width:100%;margin:8px 0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:0}button,input,select{font-size:16px}input,select{min-width:0;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}input[type=date]{min-height:46px}input[type=file]{width:100%;font-size:14px;overflow-wrap:anywhere}select{background-image:none}.content,.card,.gridform,.gridform label{min-width:0}.scroll-anchor{scroll-margin-top:22px}.chart-wrap svg{display:block;width:100%;height:auto}.range-buttons{display:flex;gap:8px;margin:12px 0}.range-buttons button{background:#edf9f0;color:#376348;border-radius:10px;padding:8px 14px}.range-buttons button.selected{background:#2ba365;color:#fff}.week-chart{display:flex;align-items:end;gap:8px;min-height:190px;flex-wrap:wrap}.week-day{flex:1;min-width:30px;text-align:center}.week-value{font-size:11px;color:#668576}.week-track{height:110px;background:#edf9f0;border-radius:8px;display:flex;align-items:end;overflow:hidden;margin:5px 0}.week-track>div{width:100%;background:#65ca8c;border-radius:8px 8px 0 0}.week-day small{font-size:10px;color:#668576}.week-note{flex-basis:100%;margin:10px 0 0}@media(max-width:850px){aside{padding-top:max(14px,env(safe-area-inset-top))}nav{scrollbar-width:none;-webkit-overflow-scrolling:touch}nav::-webkit-scrollbar{display:none}.content{padding:20px max(14px,env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}header{gap:12px}header h1{font-size:25px}.toolbar{flex-wrap:wrap;gap:12px}.welcome{gap:8px}.card{padding:18px}.gridform{gap:12px}.gridform button{min-height:48px}}@media(max-width:420px){.stats{gap:9px}.stat{padding:13px}.stat strong{font-size:22px}.welcomeart{font-size:35px}.avatar{flex-shrink:0;width:40px;height:40px}.toolbar label{flex-wrap:wrap}.week-chart{gap:4px}}.nutrition .macro{margin:16px 0}.nutrition .macro-label{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:7px}.nutrition .macro-label span{color:#5d7665;font-size:.92rem}.nutrition .progress{height:10px}.nutrition-tip{background:#eef9f0;border-radius:16px;padding:16px;margin-top:18px}.nutrition-tip p{line-height:1.6;margin:8px 0}.nutrition-tip small{color:#607569}@media(max-width:600px){.nutrition .macro-label{align-items:flex-start}.nutrition .macro-label span{font-size:.85rem}input,select,button{max-width:100%}}.daily-report{width:100%;padding:14px;margin-top:12px;border-radius:12px;background:#eff9f1;line-height:1.7;font-size:13px}.daily-report p{margin:8px 0}.daily-report ul{padding-left:20px;margin:8px 0}.daily-report small{color:#6b8575}.card>.secondary+.secondary{margin-left:10px}@media(max-width:500px){.card>.secondary+.secondary{margin-left:0;display:block}}.health-analytics .range-buttons{flex-wrap:wrap}.analytics-select{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:15px 0}.analytics-select select{padding:10px;border:1px solid #dcece1;border-radius:10px;background:#fff}.analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.analytics-metric{background:#f1faf3;padding:14px;border-radius:12px;display:grid;gap:5px}.analytics-metric small{color:#668576}.analytics-metric strong{font-size:19px}.analytics-metric span{font-size:11px;color:#81958a}.ai-analysis{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:650px){.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-metric strong{font-size:16px}}.nutrition-chat{max-width:900px}.chat-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.chat-suggestions button{background:#eaf7ed;color:#23784a;border-radius:22px;padding:9px 12px;font-size:13px}.chat-thread{background:#f7fbf8;border:1px solid #e3efe6;border-radius:16px;padding:16px;min-height:280px;max-height:65vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-bubble{padding:12px 15px;border-radius:16px;max-width:90%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.chat-bubble span{display:block;font-weight:600;font-size:12px;margin-bottom:5px}.chat-bubble.mine{align-self:flex-end;background:#dff5e5;color:#194b30}.chat-bubble.bot{align-self:flex-start;background:#fff;border:1px solid #e1eee5}.chat-compose{display:flex;gap:10px;margin:14px 0}.chat-compose textarea{font:inherit;resize:vertical;flex:1;min-width:0;border:1px solid #d5e9db;border-radius:12px;padding:12px;color:#204331}.chat-compose button{background:#2ba365;color:#fff;border-radius:12px;padding:0 20px}@media(max-width:550px){.chat-compose{flex-direction:column}.chat-compose button{min-height:45px}.chat-bubble{max-width:96%}}
