:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;color:#142a23;background:#f6f7f2;font-size:16px}*{box-sizing:border-box}body{margin:0;padding-bottom:calc(86px + env(safe-area-inset-bottom))}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.top{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:#f6f7f2;border-bottom:1px solid #dde5d9}.top h1{font-size:25px;letter-spacing:-1px;margin:0}.eyebrow{font-size:9px;letter-spacing:2.2px;color:#678276;font-weight:700}.top-mark{background:#dff0ce;border-radius:14px;padding:13px;font-weight:850;font-size:13px}main{width:min(100%,680px);margin:0 auto;padding:16px}.hero{border-radius:26px;background:#142a23;color:#fff;padding:23px;margin-bottom:14px}.hero h2{font-size:28px;line-height:1.15;margin:7px 0 10px}.hero p{color:#d6e7dc;font-size:14px;line-height:1.5}.hero .primary{background:#dff0ce;color:#142a23}.card{background:#fff;border:1px solid #e0e8dd;border-radius:21px;padding:18px;margin-bottom:13px;box-shadow:0 3px 15px #17342206}.card h2,.section-title{font-size:18px;margin:0 0 12px}.card h3{font-size:16px;margin:0 0 8px}.muted{color:#667b70}.small{font-size:12px}.big{font-size:24px;font-weight:800;letter-spacing:-.7px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row.wrap{flex-wrap:wrap}.stack{display:grid;gap:11px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pill{display:inline-block;background:#edf4e9;border-radius:99px;padding:5px 9px;color:#426353;font-size:12px}.warning{background:#fff5dc;color:#7a570c;padding:10px;border-radius:12px;font-size:13px}.success{background:#e6f3e4;color:#285d3d;padding:10px;border-radius:12px;font-size:13px}.primary,.secondary,.danger,.quiet{border:0;border-radius:14px;min-height:44px;padding:11px 15px;font-weight:700}.primary{background:#234c37;color:white}.secondary{background:#e8f1e5;color:#234c37}.danger{background:#fff0ec;color:#9a3b2a}.quiet{background:transparent;color:#285d3d;padding:8px}.full{width:100%}.nav{position:fixed;z-index:5;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dce6db;padding:7px 5px calc(7px + env(safe-area-inset-bottom));display:flex;justify-content:space-around}.nav button{border:0;background:none;color:#789084;font-size:12px;font-weight:700;padding:9px 2px;min-width:18%}.nav button.active{color:#214b35;background:#edf5e9;border-radius:12px}label{display:block;font-size:13px;font-weight:650;color:#385547}label input,label select,label textarea{display:block;margin-top:5px}input,select,textarea{border:1px solid #d6e2d5;background:#fff;border-radius:12px;min-height:44px;padding:10px;color:#193b29;width:100%}input[type=checkbox]{width:21px;min-height:21px;margin:0}input[type=file]{padding:9px;font-size:13px}textarea{min-height:70px}form{display:grid;gap:12px}.item{border:1px solid #e0e9df;border-radius:15px;padding:12px;background:#fcfdfa}.item+.item{margin-top:9px}.divider{border:0;border-top:1px solid #e3eae1;margin:16px 0}.chiprow{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.chip{flex:none;border:1px solid #d7e5d5;background:#fff;border-radius:100px;padding:8px 11px;min-height:36px;font-size:12px}.chip.active{background:#dff0ce;border-color:#9ec18e}.list{display:grid;gap:9px}.list button{width:100%;text-align:left;background:#fff;border:1px solid #dfebde;padding:12px;border-radius:12px;color:#163c27}.photo-grid{display:flex;gap:8px;overflow-x:auto}.photo-grid img{height:110px;width:110px;object-fit:cover;border-radius:12px;flex:none}.photo-box{position:relative}.photo-box button{position:absolute;top:4px;right:4px;border:0;border-radius:50%;background:#fff;color:#a33}.set-row{display:grid;grid-template-columns:36px 1fr 1fr 44px;align-items:end;gap:6px;margin:8px 0}.set-row label{font-size:11px}.set-row input{min-width:0}.set-row .done{align-self:center;justify-self:center}.spark{height:10px;border-radius:50px;background:#e5eee2;overflow:hidden}.spark i{display:block;height:100%;background:#61a874}.results{max-height:240px;overflow:auto}.empty{border:1px dashed #ccdbce;border-radius:14px;padding:18px;text-align:center;color:#668071;font-size:14px}.two-actions{display:flex;gap:8px}.two-actions button{flex:1}#toast{position:fixed;z-index:10;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#193d2a;color:#fff;border-radius:12px;padding:10px 15px;max-width:90%;display:none;text-align:center;font-size:13px}.notes{line-height:1.6;font-size:13px}.chart{display:flex;gap:6px;align-items:end;height:72px}.chart div{flex:1;background:#b0d9a3;border-radius:5px 5px 2px 2px;min-height:3px}.chart-labels{display:flex;justify-content:space-between;font-size:10px;color:#74887b}@media(min-width:700px){.top{padding-left:max(20px,calc((100vw - 680px)/2));padding-right:max(20px,calc((100vw - 680px)/2))}}
:root{--calendar-selected:#dff0ce}.nav button{min-width:16%}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-grid button{border:0;border-radius:11px;min-height:47px;background:#f2f7ef;color:#244835;position:relative;padding:4px;font-size:14px}.calendar-grid button.selected{background:var(--calendar-selected);font-weight:800;outline:2px solid #5e9d6b}.calendar-grid button.other{opacity:.3}.calendar-grid button.has-data:after{content:"";display:block;width:5px;height:5px;background:#338a53;border-radius:50%;margin:2px auto 0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:#71877a;margin-bottom:6px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.checkline{display:flex;align-items:center;gap:7px;border:1px solid #e0e9df;border-radius:10px;padding:7px;font-size:12px}.checkline input{flex:none}.card details{border:1px solid #e0e9df;border-radius:12px;padding:11px}.card summary{font-size:13px;font-weight:700;cursor:pointer}
.set-card{background:#f5f9f3;border:1px solid #dfeadc;border-radius:13px;padding:10px;margin:8px 0;display:grid;gap:8px}.set-card .checkline{padding:4px;border:0}.set-card label{min-width:0}
.trend-chart{border:1px solid #e0e9df;border-radius:13px;padding:10px;margin:10px 0}.trend-chart svg{display:block;width:100%;height:auto;margin:5px 0}.trend-chart .row{flex-wrap:wrap}
