@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#14221b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-kerning:normal;--ink:#14221b;--muted:#5d6b60;--line:#e1e2d9;--cream:#f6f5ef;--white:#fffefa;--lime:#7c3;--lime-dark:#315e22;--green-ink:#426e2b;--deep:#173524;--soft-green:#e9f3df;--coral:#df856d;--yellow:#d9aa3b;--blue:#72959a;background:#f6f5ef;font-family:DM Sans,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#f6f5eff5;justify-content:space-between;align-items:center;height:72px;padding:0 max(32px,50vw - 580px);display:flex}.brand{letter-spacing:-1px;align-items:center;gap:10px;font:800 21px Manrope,sans-serif;display:inline-flex}.brand-mark,.footer-mark{background:var(--lime);color:var(--ink);border-radius:12px;place-items:center;width:35px;height:35px;display:grid}.brand-period{color:var(--green-ink)}.profile-chip{border:1px solid var(--line);background:var(--white);border-radius:999px;align-items:center;gap:10px;padding:6px 11px 6px 6px;font-size:13px;font-weight:600;display:flex}.profile-dot{background:var(--deep);width:26px;height:26px;color:var(--lime);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.page-content{width:min(100% - 64px,1080px);margin:0 auto;padding:54px 0 70px}.welcome-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.eyebrow{letter-spacing:1.3px;color:#5d6b60;margin:0 0 12px;font-size:10px;font-weight:700}.eyebrow-dot{vertical-align:1px;background:var(--lime);border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.welcome-row h1,.section-title-row h2,.modal-header h2{letter-spacing:-1.6px;font-family:Manrope,sans-serif}.welcome-row h1{margin:0;font-size:clamp(34px,5vw,52px);font-weight:800;line-height:1.08}.welcome-row h1 span{color:var(--green-ink)}.intro{color:var(--muted);margin:12px 0 0;font-size:15px}.date-picker-wrap{z-index:3;position:relative}.date-picker{border:1px solid var(--line);background:var(--white);border-radius:10px;align-items:center;gap:9px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.date-picker>svg:first-child{color:#56783f}.date-picker-chevron{color:#657368;transform:rotate(90deg)}.calendar-popover{z-index:10;border:1px solid var(--line);background:var(--white);border-radius:13px;width:296px;padding:15px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 15px 42px #14221b29}.calendar-heading{text-align:center;grid-template-columns:34px 1fr 34px;align-items:center;margin-bottom:12px;display:grid}.calendar-heading strong{text-transform:capitalize;font:700 14px Manrope,sans-serif}.calendar-heading button{border:1px solid var(--line);color:#425b3c;background:#fbfcf8;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekdays{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:700}.calendar-weekdays span{padding:5px 0}.calendar-days button{width:32px;height:32px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:50%;justify-self:center;place-items:center;font-size:11px;display:grid}.calendar-days button:hover{background:#edf4e7}.calendar-days button.outside{color:var(--muted)}.calendar-days button.today{border-color:#77a75b;font-weight:700}.calendar-days button.selected{border-color:var(--deep);background:var(--deep);color:#fff;font-weight:700}.calendar-days button:focus-visible,.calendar-heading button:focus-visible,.calendar-today:focus-visible{outline-offset:2px;outline:3px solid #598f3661}.calendar-today{color:#315e22;background:#edf4e7;border:0;border-radius:7px;width:100%;min-height:34px;margin-top:10px;font-size:11px;font-weight:700}.day-switcher{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:50px;margin-bottom:20px;font-size:13px;font-weight:700;display:flex}.day-switcher>button{border:1px solid var(--line);background:var(--white);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.date-long{color:var(--muted);font-weight:400}.summary-card{background:var(--deep);color:var(--white);border-radius:16px;margin-bottom:50px;padding:23px 27px 25px;position:relative;overflow:hidden}.summary-caption{color:#c4d2be;letter-spacing:1.15px;align-items:center;gap:10px;font-size:10px;font-weight:700;display:flex}.summary-icon{width:30px;height:30px;color:var(--lime);background:#77cc332e;border-radius:9px;place-items:center;display:grid}.summary-date{color:#d1dccf;letter-spacing:0;margin-left:auto;font-size:11px;font-weight:500}.daily-balance-layout{z-index:1;grid-template-columns:minmax(175px,.88fr) minmax(175px,.88fr) minmax(260px,1.24fr);align-items:stretch;gap:22px;margin-top:22px;display:grid;position:relative}.daily-calorie-total{flex-direction:column;justify-content:center;min-width:0;display:flex}.daily-calorie-total>span,.daily-kpi>span{color:#c6d4c2;font-size:12px}.daily-calorie-readout{align-items:center;gap:12px;display:flex}.daily-calorie-icon{width:37px;height:37px;color:var(--lime);background:#77cc332e;border-radius:11px;flex:none;place-items:center;display:grid}.daily-calorie-total h2{letter-spacing:-1.1px;margin:0 0 13px;font:800 43px/1 Manrope,sans-serif}.daily-calorie-total h2 small{color:#bdcbb9;letter-spacing:0;font:600 15px DM Sans,sans-serif}.daily-calorie-total>p{color:#c6d0c4;margin:9px 0 0;font-size:11px}.daily-calorie-track,.daily-macro-track{background:#ffffff29;border-radius:99px;height:7px;overflow:hidden}.daily-calorie-gauge{gap:5px;display:grid}.daily-calorie-track{background:linear-gradient(90deg,#ffffff30 0 66.666%,#ffffff17 66.666% 100%);position:relative;overflow:visible}.daily-calorie-track span,.daily-macro-track span{border-radius:inherit;background:var(--lime);width:0;height:100%;transition:width .25s;display:block}.daily-calorie-track span{z-index:1;position:relative}.daily-calorie-target-marker{z-index:2;background:#fff;border-radius:2px;width:2px;position:absolute;top:-4px;bottom:-4px;left:66.666%;box-shadow:0 0 0 1px #0e1f1866}.daily-calorie-scale{color:#c6d4c2;grid-template-columns:2fr 1fr;min-height:13px;font-size:9px;line-height:1;display:grid;position:relative}.daily-calorie-scale>span:first-child{justify-self:start}.daily-calorie-scale>span:nth-child(2){color:#fff;font-weight:700;position:absolute;left:66.666%;transform:translate(-50%)}.daily-calorie-scale>span:last-child{grid-column:2;justify-self:end}.daily-calorie-status{color:#d9f8c9;background:#77cc3321;border:1px solid #77cc334d;border-radius:99px;align-self:flex-start;align-items:center;margin-top:11px;padding:6px 9px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.daily-calorie-status.is-over{color:#ffd0c4;background:#f08d7524;border-color:#f08d7561}.daily-calorie-status.is-reached{color:#fff;background:#ffffff1a}.daily-calorie-kpis{align-content:center;gap:11px;display:grid}.daily-kpi{background:#ffffff0e;border:1px solid #ffffff24;border-radius:10px;gap:5px;padding:12px 14px;display:grid}.daily-kpi strong{font:750 20px/1.1 Manrope,sans-serif}.daily-kpi small{color:#c6d0c4;font-size:10px}.daily-macro-summary{border-left:1px solid #ffffff2e;align-content:center;gap:11px;padding-left:20px;display:grid}.daily-macro-heading,.daily-macro-row>div:first-child{justify-content:space-between;align-items:center;gap:9px;display:flex}.daily-macro-heading strong{font:700 13px Manrope,sans-serif}.daily-macro-heading span,.daily-macro-row>div:first-child span{color:#c6d4c2;font-size:10px}.daily-macro-row{gap:6px;display:grid}.daily-macro-row>div:first-child strong{font-size:11px}.daily-macro-track{background:#ffffff24;height:5px}.daily-macro-track.protein span{background:#a8c4c3}.daily-macro-track.carbs span{background:#e2bd5c}.daily-macro-track.fat span{background:#95b9bc}.daily-macro-note{color:#c6d0c4;margin:0;font-size:10px;line-height:1.4}.summary-leaf{color:#77cc3314;pointer-events:none;position:absolute;bottom:-22px;right:-3px;transform:rotate(-12deg)}.summary-leaf svg{width:102px;height:102px}.notice{border-radius:9px;padding:12px 14px;font-size:13px}.error-notice{color:#803f30;background:#fff0ec;margin:-30px 0 34px}.error-notice button{color:inherit;background:0 0;border:0;font-weight:700;text-decoration:underline}.section-title-row{justify-content:space-between;align-items:flex-end;margin-bottom:19px;display:flex}.section-title-row .eyebrow{margin-bottom:7px}.section-title-row h2{margin:0;font-size:29px;line-height:1.1}.add-food-button,.submit-button{background:var(--ink);color:#fff;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:12px 15px;font-size:13px;font-weight:700;display:inline-flex}.add-food-button svg,.submit-button svg{color:var(--lime)}.loading-state{text-align:center;color:var(--muted);padding:36px}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.meal-card{background:var(--white);border:1px solid var(--line);border-radius:13px;min-height:198px;padding:19px 20px 13px}.meal-heading{border-bottom:1px solid #ecece5;align-items:center;gap:11px;padding-bottom:15px;display:flex}.meal-icon{background:var(--soft-green);color:#466837;border-radius:11px;flex:none;place-items:center;width:37px;height:37px;display:grid}.meal-heading-text{flex:1;min-width:0}.meal-heading h3{margin:0;font:700 15px Manrope,sans-serif}.meal-heading-text>span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.meal-kcal{white-space:nowrap;font:700 14px Manrope,sans-serif}.meal-kcal small{color:var(--muted);font:500 10px DM Sans,sans-serif}.empty-meal{min-height:57px;color:var(--muted);align-items:center;font-size:12px;display:flex}.food-list{margin:0;padding:0;list-style:none}.food-row{border-bottom:1px solid #f0f0ea;align-items:center;gap:8px;min-height:48px;display:flex}.food-symbol{color:#65814f;background:#f4f3ed;border-radius:8px;flex:none;place-items:center;width:27px;height:27px;display:grid}.food-info{flex:1;gap:2px;min-width:0;display:grid}.food-edit-button{min-height:40px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:3px 0}.food-edit-button:hover strong,.food-edit-button:focus-visible strong{color:#456d34}.food-edit-button:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:4px}.food-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.food-info small{color:var(--muted);font-size:10px}.food-energy{color:#4f5e52;white-space:nowrap;font-size:11px}.remove-food{color:var(--muted);background:0 0;border:0;flex:none;place-items:center;padding:5px;display:grid}.remove-food:hover{color:#a64937}.meal-add{color:#456d34;background:0 0;border:0;align-items:center;gap:6px;margin-top:12px;padding:3px 0;font-size:11px;font-weight:700;display:flex}.tracking-section{margin-top:44px}.tracking-date{border:1px solid var(--line);background:var(--white);color:#536052;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:600}.hydration-card,.weight-card{border:1px solid var(--line);background:var(--white);border-radius:14px;overflow:hidden}.hydration-card{grid-template-columns:minmax(220px,.8fr) 1.2fr;min-height:220px;display:grid}.hydration-summary{background:#eef5e8;grid-template-columns:44px 1fr;align-content:center;align-items:center;gap:12px;padding:25px 27px;display:grid}.hydration-icon,.weight-icon{background:var(--lime);color:#173524;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.hydration-summary>div:nth-child(2){gap:3px;display:grid}.hydration-summary strong{letter-spacing:-.8px;font:800 31px/1 Manrope,sans-serif}.hydration-summary strong small{font-size:17px}.hydration-summary>div:nth-child(2)>span{color:var(--muted);font-size:11px}.water-progress{background:#d8e4ce;border-radius:99px;grid-column:1/-1;height:9px;margin-top:13px;overflow:hidden}.water-progress>span{border-radius:inherit;background:#4b852c;height:100%;transition:width .25s;display:block}.water-goal-copy{color:#4c5e4b;grid-column:1/-1;margin:0;font-size:11px}.hydration-actions{padding:24px 27px}.hydration-actions>p:first-child{margin:0 0 12px;font-size:12px;font-weight:700}.water-buttons{flex-wrap:wrap;gap:8px;display:flex}.water-buttons button{color:#315e22;background:#fbfcf8;border:1px solid #dfe4d8;border-radius:8px;align-items:center;gap:5px;min-height:37px;padding:8px 11px;font-size:11px;font-weight:700;display:inline-flex}.water-buttons button:hover,.water-buttons button:focus-visible{background:#f0f7e9;border-color:#88b966}.water-buttons button:disabled,.water-log button:disabled{opacity:.55;cursor:wait}.water-log{flex-wrap:wrap;gap:7px;margin:15px 0 0;padding:0;list-style:none;display:flex}.water-log li{color:#4e5d50;background:#f2f4ed;border-radius:7px;align-items:center;gap:5px;padding:5px 7px;font-size:10px;display:flex}.water-log li span{align-items:center;gap:4px;display:flex}.water-log li svg{color:#568d3c}.water-log button{color:var(--muted);background:0 0;border:0;place-items:center;padding:2px;display:grid}.water-empty,.weight-chart-empty{color:var(--muted);margin:14px 0 0;font-size:11px}.tracking-note{color:var(--muted);align-items:flex-start;gap:7px;margin:10px 2px 0;font-size:10px;line-height:1.5;display:flex}.tracking-note svg{flex:none;margin-top:1px}.weight-overview{align-items:center;gap:14px;padding:19px 22px;display:flex}.weight-icon{color:#315e22;background:#e9f3df;flex:none}.weight-current{flex:1;gap:4px;display:grid}.weight-current>span:first-child{color:var(--muted);font-size:11px}.weight-current strong{font:800 25px/1.1 Manrope,sans-serif}.weight-current strong small{font-size:14px}.weight-last-date,.weight-empty-copy{color:var(--muted);font-size:10px}.weight-toggle{border:1px solid var(--line);color:#315e22;background:#fbfcf8;border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:8px 11px;font-size:11px;font-weight:700;display:inline-flex}.weight-toggle svg{transition:transform .2s}.weight-toggle svg.rotated{transform:rotate(90deg)}.weight-details{border-top:1px solid var(--line);background:#fffefa;padding:19px 22px 22px}.weight-form{gap:8px;display:grid}.weight-form>label{color:#36453a;font-size:12px;font-weight:700}.weight-input-row{align-items:center;gap:9px;max-width:440px;display:flex;position:relative}.weight-input-row input{background:var(--white);width:150px;min-height:42px;color:var(--ink);border:1px solid #d8dcd2;border-radius:8px;padding:9px 38px 9px 12px;font-size:14px}.weight-input-row>span{color:var(--muted);font-size:11px;position:absolute;left:119px}.weight-input-row .submit-button{min-height:42px;padding:10px 12px;font-size:11px}.weight-form-help{color:var(--muted);margin:0;font-size:10px}.weight-chart-wrap{border-top:1px solid #eceee7;margin-top:24px;padding-top:19px}.weight-chart-area{position:relative}.weight-chart-title{color:#38473b;justify-content:space-between;gap:12px;font-size:12px;display:flex}.weight-chart-title span{color:var(--muted);font-size:10px}.weight-chart{width:100%;height:auto;margin-top:12px;display:block;overflow:visible}.weight-chart line{stroke:#e7eae2;stroke-width:1px}.weight-chart .chart-axis-line{stroke:#9ca99b;stroke-width:1.25px}.weight-chart text{fill:#647166;font-family:DM Sans,sans-serif}.weight-chart .chart-weight-label{font-size:12px;font-weight:600}.weight-chart .chart-date-label{font-size:11px}.weight-chart .chart-point-hit{fill:#0000;stroke:#0000;stroke-width:12px;cursor:crosshair;pointer-events:all}.weight-chart .chart-point-hit:focus-visible{stroke:#315e22;stroke-opacity:.45;outline:none}.weight-chart .chart-point{fill:#7c3;stroke:#fffefa;stroke-width:3px;pointer-events:none}.weight-chart-tooltip{z-index:2;color:#fffefa;white-space:nowrap;pointer-events:none;background:#173524;border:1px solid #ffffff29;border-radius:8px;gap:2px;padding:7px 10px;font-size:12px;display:grid;position:absolute;box-shadow:0 5px 15px #14221b33}.weight-chart-tooltip strong{font:700 12px Manrope,sans-serif}.weight-chart-tooltip span{color:#d0ddc9;font-size:10px}.weight-chart polyline{fill:none;stroke:#5e9c39;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.weight-chart circle{fill:#7c3;stroke:#fffefa;stroke-width:3px}.chart-axis{color:var(--muted);justify-content:space-between;margin-top:-4px;font-size:10px;display:flex}.weight-history{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.weight-history li{color:#5c695f;border:1px solid #eceee7;border-radius:8px;justify-content:space-between;gap:8px;padding:9px 10px;font-size:10px;display:flex}.weight-history strong{color:var(--ink);font-size:11px}.gentle-note{color:var(--muted);align-items:flex-start;gap:8px;margin:24px 0 0;font-size:11px;line-height:1.55;display:flex}.gentle-note svg{flex:none;margin-top:1px}.app-footer{border-top:1px solid var(--line);color:#5f6a60;justify-content:center;align-items:center;gap:9px;padding:22px 24px;font-size:11px;display:flex}.footer-mark{border-radius:8px;width:24px;height:24px}.footer-separator{color:var(--muted)}.modal-backdrop{z-index:5;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d1c1399;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.food-modal{background:var(--cream);border-radius:16px;width:min(100%,510px);max-height:min(90vh,820px);padding:25px 27px 24px;overflow:auto;box-shadow:0 24px 80px #0000003d}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-header .eyebrow{margin-bottom:5px}.modal-header h2{margin:0;font-size:27px}.modal-close{border:1px solid var(--line);background:var(--white);border-radius:50%;place-items:center;width:34px;height:34px;font-size:24px;line-height:1;display:grid}.food-form{gap:14px;display:grid}.food-search-wrap{gap:6px;display:grid;position:relative}.food-search-wrap>label{color:#36453a;font-size:12px;font-weight:700}.food-search-wrap>input{background:var(--white);width:100%;min-height:42px;color:var(--ink);border:1px solid #d8dcd2;border-radius:8px;outline:none;padding:9px 12px;font-size:13px}.food-search-wrap>input:focus{border-color:#5e9e35;box-shadow:0 0 0 3px #7c33}.food-suggestions{z-index:1;border:1px solid var(--line);background:var(--white);border-radius:10px;gap:3px;max-height:228px;margin:-1px 0 0;padding:5px;list-style:none;display:grid;position:relative;overflow:auto;box-shadow:0 10px 25px #0d1c1317}.food-suggestions li{border-radius:7px;padding:3px}.food-suggestion-main{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.food-suggestion-main:hover,.food-suggestion-main:focus-visible{background:#f0f4e9}.food-suggestion-main>span:first-child{gap:3px;display:grid}.food-suggestion-main strong{color:var(--ink);font-size:13px}.food-suggestion-main small,.catalog-search-status,.catalog-source-note{color:var(--muted);font-size:11px;line-height:1.5}.suggestion-kcal{color:#47554a;flex:none;font-size:11px}.food-suggestion-confirm{color:#315a25;background:#f8faf5;border:1px solid #dce3d3;border-radius:6px;margin:0 8px 5px;padding:4px 7px;font-size:10px;font-weight:700}.food-suggestion-confirm:hover{background:#edf5e6}.catalog-search-status,.catalog-source-note{margin:0}.catalog-share{color:#354239;cursor:pointer;background:#f7f9f3;border:1px solid #dfe5d8;border-radius:9px;align-items:flex-start;gap:9px;padding:10px 11px;display:flex}.food-form .catalog-share input{accent-color:#4e8c28;flex:none;width:16px;min-height:16px;margin:2px 0 0}.catalog-share span{gap:3px;display:grid}.catalog-share strong{font-size:12px}.catalog-share small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.45}.food-form>label,.nutrition-fields label{color:#36453a;gap:6px;font-size:12px;font-weight:700;display:grid;position:relative}.food-form input,.food-form select{background:var(--white);width:100%;min-height:42px;color:var(--ink);border:1px solid #d8dcd2;border-radius:8px;outline:none;padding:9px 12px;font-size:13px}.food-form input:focus,.food-form select:focus{border-color:#5e9e35;box-shadow:0 0 0 3px #7c33}.input-unit{color:var(--muted);font-size:11px;font-weight:500;position:absolute;top:34px;right:11px}.food-form fieldset{border:1px solid #dfe1d7;border-radius:9px;margin:2px 0 0;padding:12px 13px 14px}.food-form legend{color:#455348;padding:0 5px;font-size:11px;font-weight:700}.nutrition-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.nutrition-fields .input-unit{top:29px}.form-error{color:#923d30;margin:0;font-size:12px}.modal-actions{justify-content:flex-end;gap:9px;margin-top:4px;display:flex}.cancel-button{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:11px 15px;font-size:13px;font-weight:600}.submit-button:disabled{opacity:.65;cursor:wait}@media (width<=700px){.topbar{height:62px;padding:0 20px}.brand{font-size:19px}.profile-chip{gap:7px;font-size:12px}.profile-chip>svg{display:none}.page-content{width:min(100% - 36px,520px);padding:37px 0 49px}.welcome-row{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:24px}.welcome-row h1{font-size:37px}.intro{max-width:300px;font-size:14px;line-height:1.5}.date-picker{padding:9px 11px}.calendar-popover{left:0;right:auto}.day-switcher{margin-bottom:14px}.summary-card{margin-bottom:38px;padding:19px 17px 20px}.daily-balance-layout{grid-template-columns:1fr;gap:15px;margin-top:16px}.daily-calorie-total h2{font-size:35px}.daily-calorie-kpis{grid-template-columns:1fr;gap:8px}.daily-kpi{padding:10px}.daily-kpi strong{font-size:17px}.daily-macro-summary{border-top:1px solid #ffffff2e;border-left:0;padding:14px 0 0}.summary-leaf{top:12px;bottom:auto;right:1px}.summary-leaf svg{width:74px}.section-title-row{align-items:flex-start;gap:12px}.section-title-row h2{font-size:27px}.section-title-row .eyebrow{font-size:9px}.add-food-button{white-space:nowrap;padding:10px 11px;font-size:11px}.meal-grid{grid-template-columns:1fr;gap:11px}.tracking-section{margin-top:35px}.hydration-card{grid-template-columns:1fr}.hydration-summary,.hydration-actions{padding:20px}.weight-overview{flex-wrap:wrap;padding:16px}.weight-current{min-width:calc(100% - 60px)}.weight-toggle{margin-left:56px}.weight-details{padding:16px}.weight-input-row{flex-wrap:wrap}.weight-input-row .submit-button{flex:1}.weight-chart-title{flex-direction:column;gap:3px}.meal-card{min-height:0;padding:16px 16px 12px}.empty-meal{min-height:48px}.gentle-note{font-size:10px}.app-footer{flex-wrap:wrap;padding:19px 16px;font-size:10px}.food-modal{padding:21px 18px}.modal-header h2{font-size:24px}}@media (width<=390px){.page-content{width:calc(100% - 28px)}.profile-chip>span:not(.profile-dot){display:none}.calendar-popover{width:min(296px,100vw - 28px)}.welcome-row h1{font-size:33px}.section-title-row{flex-direction:column;align-items:flex-start}.add-food-button{align-self:flex-start}.food-energy{font-size:10px}.meal-card{padding-inline:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.session-loading{min-height:100vh;color:var(--muted);place-items:center;font-size:14px;display:grid}.auth-layout{background:var(--cream);flex-direction:column;min-height:100vh;display:flex}.auth-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:72px;padding:0 max(32px,50vw - 580px);display:flex}.auth-top-label{color:var(--muted);letter-spacing:1px;font-size:10px;font-weight:700}.auth-content{flex:1;grid-template-columns:1fr minmax(340px,430px);align-items:center;gap:clamp(40px,8vw,110px);width:min(100% - 64px,1000px);margin:0 auto;padding:58px 0;display:grid}.auth-intro .eyebrow{margin-bottom:20px}.auth-intro h1{letter-spacing:-2.6px;margin:0;font:800 clamp(44px,6vw,66px)/1.02 Manrope,sans-serif}.auth-intro h1 span{color:var(--green-ink)}.auth-intro>p:not(.eyebrow){max-width:400px;color:var(--muted);margin:19px 0 0;font-size:16px;line-height:1.65}.auth-points{gap:12px;margin-top:27px;font-size:13px;font-weight:600;display:grid}.auth-points span{align-items:center;gap:9px;display:flex}.auth-points svg{color:#4d852d}.auth-card{border:1px solid var(--line);background:var(--white);border-radius:15px;padding:26px 28px 24px;box-shadow:0 14px 44px #14221b0f}.auth-tabs{background:#efefe8;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:25px;padding:4px;display:grid}.auth-tabs button{color:#606c62;background:0 0;border:0;border-radius:7px;min-height:37px;padding:7px 10px;font-size:12px;font-weight:600}.auth-tabs button.active{background:var(--white);color:var(--ink);box-shadow:0 1px 4px #14221b1a}.auth-card>.eyebrow{margin:0 0 7px;font-size:9px}.auth-card h2{letter-spacing:-.8px;margin:0;font:800 28px/1.15 Manrope,sans-serif}.auth-card-copy{color:var(--muted);margin:7px 0 19px;font-size:12px}.auth-form{gap:13px;display:grid}.auth-form label{color:#36453a;gap:6px;font-size:11px;font-weight:700;display:grid}.auth-form input{background:var(--white);width:100%;min-height:42px;color:var(--ink);border:1px solid #d8dcd2;border-radius:8px;outline:none;padding:9px 11px;font-size:13px}.auth-form input:focus{border-color:#5e9e35;box-shadow:0 0 0 3px #7c33}.auth-submit{background:var(--ink);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:44px;margin-top:3px;font-size:13px;font-weight:700;display:flex}.auth-submit svg{color:var(--lime)}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-error,.auth-server-notice{color:#903f30;margin:0;font-size:11px;line-height:1.5}.auth-notice{color:#355b26;background:#f1f7eb;border:1px solid #5587383d;border-radius:8px;margin:0 0 12px;padding:11px 12px;font-size:12px;line-height:1.55}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:13px;display:flex}.auth-links button,.auth-text-button{color:#426e2b;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.auth-text-button{margin-top:15px}.auth-server-notice{background:#fff0ec;border-radius:8px;margin:-4px 0 13px;padding:10px 11px}.auth-server-notice button{color:inherit;background:0 0;border:0;margin-top:4px;padding:0;font-size:11px;font-weight:700;text-decoration:underline;display:block}.auth-privacy{color:var(--muted);margin:15px 0 0;font-size:10px;line-height:1.5}.auth-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:20px 24px;font-size:11px}.auth-footer span{color:var(--muted);margin:0 5px}.profile-actions{align-items:center;gap:10px;display:flex}.profile-name{color:#39473b;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;font-weight:600;overflow:hidden}.logout-button{border:1px solid var(--line);background:var(--white);color:#39473b;border-radius:8px;align-items:center;gap:7px;min-height:35px;padding:7px 10px;font-size:11px;font-weight:600;display:flex}.logout-button:hover{background:#f7faf3;border-color:#b9c9ac}@media (width<=700px){.auth-topbar{height:62px;padding:0 20px}.auth-top-label{display:none}.auth-content{grid-template-columns:1fr;align-content:center;gap:27px;width:min(100% - 36px,500px);padding:38px 0}.auth-intro h1{letter-spacing:-1.8px;font-size:42px}.auth-intro .eyebrow{margin-bottom:12px}.auth-intro>p:not(.eyebrow){max-width:360px;margin-top:10px;font-size:14px}.auth-points{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;font-size:10px}.auth-points span{gap:5px}.auth-points svg{width:14px}.auth-card{padding:20px 19px}.profile-actions{gap:7px}.profile-name{max-width:95px}.logout-button{min-height:32px;padding:6px 8px}.logout-button span{font-size:10px}}@media (width<=390px){.auth-content{width:calc(100% - 28px)}.auth-points{grid-template-columns:1fr}.profile-name,.logout-button span{display:none}}.energy-card,.activity-tracking-card{border:1px solid var(--line);background:var(--white);border-radius:14px;overflow:hidden}.energy-card-heading,.activity-log-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.energy-card-heading{border-bottom:1px solid var(--line);padding:18px 21px}.energy-card-heading>div,.activity-log-heading>div,.steps-heading>div{gap:4px;display:grid}.energy-card-heading strong,.activity-log-heading strong,.steps-heading strong{font-size:14px}.energy-card-heading span,.activity-log-heading span,.steps-heading span{color:var(--muted);font-size:12px}.secondary-action{border:1px solid var(--line);color:#315e22;background:#fbfcf8;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 11px;font-size:12px;font-weight:700;display:inline-flex}.secondary-action:hover,.secondary-action:focus-visible{background:#f0f7e9;border-color:#88b966}.energy-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 21px 10px;display:grid}.energy-baseline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 21px 18px;display:grid}.energy-stat{background:#f3f5ee;border-radius:9px;align-content:start;gap:7px;min-height:72px;padding:12px;display:grid}.energy-stat>span{color:var(--muted);font-size:12px}.energy-stat strong{font:800 20px/1.1 Manrope,sans-serif}.energy-stat strong small{color:var(--muted);font:600 11px DM Sans,sans-serif}.energy-stat .energy-stat-detail{color:var(--muted);font-size:11px;line-height:1.35}.macro-goal-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 21px 13px;display:grid}.macro-goal-row{background:#fbfcf8;border:1px solid #edf0e8;border-radius:9px;align-content:start;gap:11px;min-width:0;padding:12px;display:grid}.macro-goal-row>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.macro-goal-row>div:first-child span{color:var(--muted);font-size:12px}.macro-goal-row>div:first-child strong{font-size:12px}.macro-goal-track{background:#e9ece2;border-radius:99px;height:7px;overflow:hidden}.macro-goal-track span{border-radius:inherit;background:#5a9d35;height:100%;transition:width .2s;display:block}.macro-goal-track.protein-track span{background:#6e9092}.macro-goal-track.carbs-track span{background:#77a943}.macro-goal-track.fat-track span{background:#cf9b42}.macro-goal-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px;line-height:1.45}.profile-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:19px 21px;display:grid}.profile-form-intro{grid-column:1/-1;gap:4px;display:grid}.profile-form-intro strong{font-size:13px}.profile-form-intro span,.profile-needed{color:var(--muted);font-size:12px;line-height:1.5}.profile-form label,.activity-form label{color:#354438;gap:6px;font-size:12px;font-weight:700;display:grid;position:relative}.profile-form input,.profile-form select,.activity-form input,.activity-form select,.steps-form input{width:100%;min-height:41px;color:var(--ink);background:#fffefa;border:1px solid #d8ddd2;border-radius:8px;outline-color:#4b852c;padding:9px 11px;font-size:14px}.profile-form .input-unit,.activity-form .input-unit{color:var(--muted);font-size:10px;font-weight:500;position:absolute;top:0;right:3px}.profile-form-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.profile-form-actions .submit-button{min-height:39px;padding:9px 13px;font-size:12px}.profile-needed{margin:0;padding:0 21px 16px}.energy-method-note{padding:0 21px 17px;font-size:12px}.activity-tracking-card{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);margin-top:12px;display:grid}.steps-panel{background:#eef5e8;padding:21px}.steps-heading{align-items:center;gap:11px;display:flex}.activity-icon{background:var(--lime);color:#173524;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.steps-form{gap:7px;margin-top:16px;display:flex}.steps-form .submit-button{flex:none;min-height:41px;padding:8px 11px;font-size:12px}.steps-saved-status,.steps-inline-error{align-items:flex-start;gap:6px;margin:9px 0 0;font-size:12px;line-height:1.4;display:flex}.steps-saved-status{color:#285b25}.steps-saved-status svg{flex:none;margin-top:1px}.steps-inline-error{color:#a33125}.steps-estimate{color:#526751;margin:9px 0 0;font-size:12px;line-height:1.4}.activity-log-panel{min-width:0;padding:19px 21px}.activity-log-heading{margin-bottom:14px}.activity-form{background:#f4f5ef;border-radius:9px;grid-template-columns:1.2fr 1fr .7fr auto;align-items:end;gap:8px;padding:12px;display:grid}.activity-form .submit-button{min-height:41px;padding:8px 10px;font-size:12px}.activity-log-list{gap:1px;margin:12px 0 0;padding:0;list-style:none;display:grid}.activity-log-list li{border-bottom:1px solid #edf0e8;align-items:center;gap:10px;min-height:51px;padding:8px 0;display:flex}.activity-log-name{flex:1;gap:3px;display:grid}.activity-log-name strong{font-size:12px}.activity-log-name small{color:var(--muted);font-size:12px}.activity-log-kcal{white-space:nowrap;font-size:12px}.activity-log-list .remove-food{flex:none}.activity-section>.tracking-note{font-size:12px}.activity-empty{color:var(--muted);margin:14px 0 0;font-size:12px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=850px){.activity-tracking-card{grid-template-columns:1fr}.steps-panel{border-bottom:1px solid var(--line)}.activity-form{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-form .submit-button{min-height:41px}}@media (width<=700px){.energy-overview-grid,.energy-baseline-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 15px 7px}.energy-card-heading,.activity-log-heading{align-items:flex-start}.energy-card-heading{padding:15px}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 15px}.energy-method-note{padding:0 15px 15px}.macro-goal-list{grid-template-columns:1fr;padding:8px 15px 13px}.activity-log-heading{flex-direction:column}.activity-log-panel,.steps-panel{padding:16px}}@media (width<=390px){.energy-overview-grid,.energy-baseline-grid,.profile-form,.activity-form{grid-template-columns:1fr}.profile-form-actions{justify-content:stretch}.profile-form-actions .submit-button,.profile-form-actions .cancel-button{flex:1}.activity-log-list li{gap:6px}.activity-log-kcal{font-size:12px}}
