:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:#172f32;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit}.shell{max-width:1140px;margin:0 auto;padding:0 22px 110px}.header{height:83px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e8e4;margin-bottom:25px}.brand{display:flex;gap:11px;align-items:center}.brandmark{height:38px;width:38px;border-radius:12px;background:#112f34;color:#a9f3c7;display:grid;place-items:center;font-size:24px;font-weight:800}.brand-name{font-size:19px;font-weight:800;letter-spacing:-.7px;color:#132b30}.brand-sub{font-size:10px;color:#84908c;letter-spacing:1.6px;font-weight:800}.header-right{display:flex;align-items:center;gap:12px}.sync-tag{font-size:12px;background:#e7eee9;color:#4b6760;padding:8px 12px;border-radius:99px}.avatar{height:37px;width:37px;border-radius:50%;border:1px solid #d6e0d8;background:#fff;color:#214b45;font-weight:700}.nav-desktop{display:flex;gap:5px}.nav-desktop button{border:0;background:transparent;color:#667b79;padding:11px 17px;border-radius:12px;font-weight:650}.nav-desktop button.active{background:#dcebe3;color:#174538}.main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(285px,1fr);gap:22px}.section-title{font-size:27px;letter-spacing:-1.1px;font-weight:790;margin:0}.muted{color:#788984}.small{font-size:12px}.eyebrow{font-size:11px;color:#799189;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:8px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 22px}.date-controls{display:flex;gap:6px;align-items:center;background:white;border:1px solid #e5eae5;border-radius:12px;padding:4px}.date-controls button{border:0;background:transparent;border-radius:8px;height:29px;width:28px;font-size:20px;color:#43645a}.date-controls button:hover{background:#eef5ee}.date-controls .date-label{font-size:12px;font-weight:700;padding:0 5px;white-space:nowrap}.card{background:#fff;border:1px solid #e5ebe7;border-radius:19px;box-shadow:0 7px 23px rgba(22,62,40,.025);padding:21px}.card+.card{margin-top:18px}.card-title{font-size:16px;font-weight:800;letter-spacing:-.25px;margin:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:19px}.hero{background:#102f35;color:#fff;border-radius:22px;padding:25px 26px 26px;position:relative;overflow:hidden;margin-bottom:20px}.hero:after{content:"";position:absolute;right:-40px;top:-65px;width:255px;height:255px;border:1px solid #406963;border-radius:50%;box-shadow:0 0 0 45px #ffffff05,0 0 0 90px #ffffff04;pointer-events:none}.hero-top{font-size:12px;color:#a4c8bc;font-weight:700;letter-spacing:1px;text-transform:uppercase}.hero-value{font-size:45px;font-weight:780;letter-spacing:-2px;line-height:1.1;margin:10px 0 4px}.hero-value span{font-size:16px;color:#abc9c0;font-weight:500;letter-spacing:0}.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;position:relative;z-index:1}.hero-remaining{font-size:12px;color:#b6d1ca;text-align:right}.hero-remaining strong{display:block;color:#fff;font-size:20px}.hero-track{height:8px;background:#34535a;border-radius:20px;overflow:hidden;margin-top:20px}.hero-track-fill{background:linear-gradient(90deg,#72cead,#b2efb4);height:100%;border-radius:20px;transition:width .25s}.goal-pills{display:flex;gap:8px;margin-top:13px;font-size:12px;color:#d5efe0}.goal-pills span{padding:5px 10px;background:#22474a;border-radius:99px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid #e5ebe7;border-radius:17px;padding:18px;min-width:0}.stat:nth-child(5){grid-column:span 2}.stat-label{font-size:13px;font-weight:700;color:#60736b;display:flex;align-items:center;gap:7px}.stat-label .dot{width:9px;height:9px;border-radius:50%;display:inline-block}.stat-numbers{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:12px 0 11px}.stat-numbers strong{font-size:25px;letter-spacing:-.9px}.stat-numbers small{color:#80918b;font-weight:500;font-size:12px}.percent{font-size:14px;color:#294740;font-weight:800;white-space:nowrap}.track{height:8px;background:#eef1ee;border-radius:10px;overflow:hidden}.track>div{height:100%;border-radius:10px}.stat-foot{margin-top:8px;display:flex;justify-content:space-between;font-size:11px;color:#85968c}.graph-tools{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid #e5eae6;background:#fff;color:#5d756c;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700}.chip.active{background:#1e4a44;color:#fff;border-color:#1e4a44}.chart-box{height:236px;width:100%}.chart-box svg{width:100%;height:100%;overflow:visible}.chart-empty{display:grid;place-items:center;height:100%;font-size:13px;text-align:center;color:#87958f}.chart-xlabels{display:flex;justify-content:space-between;padding:0 8px;margin-top:6px;color:#93a09b;font-size:10px}.chart-legend{display:flex;justify-content:space-between;color:#80918b;font-size:11px;margin-top:9px}.quick-water{display:flex;gap:8px;flex-wrap:wrap}.waterbtn{padding:12px 9px;flex:1;min-width:62px;border-radius:12px;background:#eaf5fb;color:#216c8c;border:1px solid #d3eaf5;font-weight:800}.waterbtn:hover{background:#d8eef9}.addbutton{background:#173f3c;color:#fff;border:0;border-radius:12px;padding:12px 17px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px}.addbutton:hover{background:#245953}.addbutton.secondary{background:#edf3ee;color:#25443d}.addbutton.ghost{background:#fff;border:1px solid #dde6df;color:#385c51}.addbutton.danger{background:#fff1f0;color:#a33b36}.addbutton.full{width:100%}.action-row{display:flex;gap:8px}.hint{font-size:12px;color:#85958e;line-height:1.5}.log-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eff2ef;padding:15px 0}.log-row:first-child{border-top:0}.log-title{font-weight:760;font-size:14px}.log-sub{font-size:12px;color:#84948d;margin-top:4px}.log-right{display:flex;align-items:center;gap:10px}.log-cal{font-size:14px;font-weight:800;text-align:right}.iconbutton{border:0;background:#f5f7f5;border-radius:9px;padding:8px 9px;color:#59736a}.iconbutton:hover{background:#e8eee9}.right-stack{display:flex;flex-direction:column;gap:18px}.right-stack .card+.card{margin-top:0}.note-panel{background:#f4f8ef;border:1px solid #e1ecda;border-radius:17px;padding:20px}.note-panel strong{color:#315b3b;font-size:15px}.note-panel p{font-size:13px;color:#647766;line-height:1.65;margin:11px 0 0}.note-icon{font-size:24px;margin-bottom:10px}.weight-meta{display:flex;justify-content:space-between;align-items:baseline;margin:8px 0 18px}.weight-current{font-size:33px;font-weight:800;letter-spacing:-1px}.weight-current small{font-size:15px;color:#8a9990;font-weight:600}.weight-goal{font-weight:750;font-size:15px}.top-link{border:0;background:none;color:#35745d;font-weight:700;font-size:12px}.bottom-nav{display:none}.floating-add{display:none}.empty{text-align:center;padding:32px 10px;color:#84938d;font-size:13px;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:#6c8077;font-weight:750}.field input,.field textarea,.field select{border:1px solid #dbe5dd;border-radius:11px;padding:12px;background:#fbfdfb;outline:none;color:#163d38;min-width:0;width:100%}.field textarea{resize:vertical;min-height:84px}.field input:focus,.field textarea:focus{border-color:#64a58d;box-shadow:0 0 0 3px #64a58d24}.field.wide{grid-column:span 2}.helper-label{font-size:11px;color:#93a19a}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.recipe-tile{border:1px solid #e5eae6;background:#fff;border-radius:17px;padding:18px}.recipe-tile h3{margin:0 0 8px;font-size:16px}.recipe-tile .recipe-num{font-size:25px;font-weight:800;letter-spacing:-1px}.recipe-tile .small{margin-top:4px}.recipe-tile .recipe-actions{display:flex;gap:7px;margin-top:17px;flex-wrap:wrap}.recipe-tile .recipe-actions button{padding:9px 12px;font-size:12px}.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.history-day{border:1px solid #e5eae6;border-radius:16px;padding:18px;text-align:left;background:white;cursor:pointer}.history-day:hover{border-color:#abcbb9}.history-day strong{font-size:16px}.history-day .history-row{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:12px;color:#6e8377}.history-bar{height:7px;background:#edf3ee;border-radius:6px;overflow:hidden;margin-top:9px}.history-bar div{height:100%;border-radius:6px;background:#5da887}.settings-stack{max-width:680px;display:grid;gap:18px}.danger-text{color:#a33b36}.badge{display:inline-block;background:#e5f4e8;border-radius:100px;padding:6px 10px;font-size:11px;font-weight:800;color:#42755b}.modal-backdrop{position:fixed;inset:0;background:#102e35a8;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:22px;width:min(100%,565px);max-height:min(90dvh,800px);overflow-y:auto;box-shadow:0 15px 50px #1423214a;padding:24px}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:22px}.modal-title{font-size:22px;font-weight:800;letter-spacing:-.7px}.modal-close{background:#f1f3f1;border:0;height:32px;width:32px;border-radius:10px;font-size:22px;line-height:1;color:#5b6c64}.tabs{display:flex;gap:7px;margin-bottom:16px;background:#f1f5f1;border-radius:12px;padding:5px}.tabs button{border:0;background:transparent;border-radius:9px;flex:1;padding:10px 5px;font-size:13px;font-weight:750;color:#6f8578}.tabs button.active{background:white;color:#285347;box-shadow:0 2px 9px #101a1514}.upload{border:1.5px dashed #bed6c9;background:#f7fbf8;border-radius:13px;display:flex;justify-content:center;align-items:center;min-height:130px;text-align:center;padding:17px;position:relative;overflow:hidden}.upload label{cursor:pointer;display:block;width:100%}.upload img{max-width:100%;max-height:185px;object-fit:contain;border-radius:8px}.upload input{position:absolute;opacity:0;width:1px;height:1px}.review-item{border:1px solid #e5ece5;border-radius:12px;padding:13px;margin:10px 0}.review-item .review-name{font-weight:750}.review-item .review-qty{font-size:12px;color:#85968b;margin:3px 0 10px}.review-macros{font-size:12px;color:#526c61;display:flex;gap:13px;flex-wrap:wrap}.review-note{margin-top:12px;padding:11px 13px;background:#f4f7ee;border-radius:10px;font-size:12px;color:#667c62}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:19px}.modal-actions button{flex:1}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);background:#113a37;color:#fff;border-radius:12px;padding:12px 19px;opacity:0;z-index:90;transition:.22s;box-shadow:0 8px 25px #11291f35;white-space:nowrap;font-size:13px;max-width:calc(100vw - 20px);overflow:hidden;text-overflow:ellipsis;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.signed{display:flex;flex-direction:column;gap:7px;word-break:break-word}.divider{height:1px;background:#ebf0eb;margin:17px 0}.loading{opacity:.6;pointer-events:none}.inline-error{color:#9e473e;font-size:12px;margin-top:8px}.inline-ok{color:#34775c;font-size:12px;margin-top:8px}.big-total{font-size:30px;font-weight:800;letter-spacing:-1.2px}.graph-tabs{margin-top:4px}.summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.summary-metrics .sm-box{background:#f5f8f5;border-radius:12px;padding:12px}.summary-metrics .sm-box strong{display:block;font-size:18px;margin-bottom:5px}.graph-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.graph-title .card-title{white-space:nowrap}.graph-panel{min-width:0}.pill-list{display:flex;flex-wrap:wrap;gap:7px}.pill{background:#edf4ed;border-radius:100px;padding:5px 9px;color:#517463;font-size:11px;font-weight:750}.secondary-button{text-align:center;cursor:pointer;border:1px solid #dbe5df;background:white;border-radius:11px;padding:10px 13px;color:#355e4d;font-weight:700}.mobile-only{display:none}
@media(min-width:800px){.max-wide{max-width:1100px;margin:auto}}
@media(max-width:800px){.shell{padding:0 15px 103px}.header{height:72px;margin-bottom:23px}.nav-desktop{display:none}.main-grid{display:block}.right-stack{margin-top:18px}.hero{padding:22px}.hero-value{font-size:40px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5eae6;z-index:30;padding:7px 5px max(9px,env(safe-area-inset-bottom));box-shadow:0 -9px 30px #2b4a3410}.bottom-nav button{background:transparent;border:0;color:#81928a;padding:7px 1px;font-size:10px;font-weight:750;display:flex;flex-direction:column;gap:5px;align-items:center}.bottom-nav button.active{color:#246d53}.bottom-nav .navicon{font-size:21px}.floating-add{display:block;position:fixed;bottom:86px;right:19px;z-index:29;border:0;background:#17463e;color:#fff;border-radius:16px;padding:15px 18px;box-shadow:0 6px 26px #183e3480;font-size:14px;font-weight:800}.sync-tag{display:none}.section-title{font-size:25px}.title-row{align-items:flex-start}.stats-grid{gap:10px}.stat{padding:15px}.stat-numbers strong{font-size:24px}.card{padding:18px}.recipe-grid,.history-grid{grid-template-columns:1fr}.modal{padding:20px;max-height:91dvh}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;border-radius:22px 22px 0 0;padding-bottom:max(22px,env(safe-area-inset-bottom));max-height:94dvh}.mobile-only{display:block}.toast{bottom:89px}.graph-tools{gap:4px}.chip{padding:7px 8px}}
@media(max-width:380px){.brand-sub{display:none}.stat-numbers strong{font-size:21px}.date-controls .date-label{font-size:11px}.goal-pills{font-size:11px}.chip{font-size:11px}.title-row{gap:4px}}
