@font-face{font-family:Inter;src:url(/fonts/InterVariable.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Inter,sans-serif;font-synthesis:none;color:#172b46;background:#f4f7fb;--bg:#F4F7FB;--ink:#172B46;--muted:#4D5F75;--brand:#214C82;--soft:#E4EDF9;--line:#A2B2C6;--focus:#8C3A00}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:hover{background:var(--soft)}button:disabled{cursor:wait}h1,h2,h3,p{margin:0}button{border:0;background:none}p{color:var(--muted);line-height:1.5}.rail{position:fixed;inset:0 auto 0 0;width:232px;background:#fff;padding:32px;display:flex;flex-direction:column}.brand{font-size:32px;font-weight:600;line-height:1.25;margin-top:0}.rail>p{font-size:14px;margin-top:10px;white-space:nowrap}.rail nav{margin-top:44px;display:flex;flex-direction:column;gap:18px;margin-left:-14px;margin-right:-14px}.rail nav button{text-align:left;padding:12px 22px;min-height:48px;font-size:18px;border-radius:8px}.selected{background:var(--soft);font-weight:600}.rail-home{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;margin-bottom:20px;display:grid;gap:10px;font-size:16px}.rail-home span{font-size:14px;color:var(--muted)}.workspace{margin-left:232px;padding:0 56px;min-height:1080px;display:flex;flex-direction:column}.topbar{height:89px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.home-label{font-size:14px;font-weight:600;letter-spacing:.025em;color:var(--muted)}.header-right{display:flex;gap:92px;align-items:center;color:var(--muted);font-size:16px}.notice-button{font-weight:600;min-height:44px;padding:8px 0;color:var(--ink)}main{flex:1}.page-heading{height:161px;display:flex;align-items:flex-start;justify-content:space-between;padding-top:36px}h1{font-size:52px;line-height:1.2;font-weight:500}.page-heading p{font-size:18px;margin-top:8px}.page-heading .motto{margin:31px 14px 0 0}.today-grid{display:grid;grid-template-columns:minmax(0,984fr) minmax(0,524fr);column-gap:68px}.decision-column{min-width:0}.support-column{border-left:1px solid var(--line);padding-left:59px;min-width:0;padding-bottom:66px}.eyebrow{font-size:14px;letter-spacing:.035em;line-height:20px;font-weight:600;color:var(--brand)}.pantry h3{font-size:34px;font-weight:400;line-height:1.3;margin-top:20px;margin-bottom:22px}.pantry-items{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.pantry-items li{display:grid;grid-template-columns:minmax(0,1fr) 150px 338px;align-items:center;min-height:96px;border-bottom:1px solid var(--line);gap:24px}.pantry-items strong{font-size:24px;font-weight:500}.pantry-items span{font-size:20px}.pantry-items .date{font-size:17px;color:var(--muted)}.text-action{font-size:17px;color:var(--brand);font-weight:600;min-height:44px;text-align:left;padding:9px 0}.pantry>.text-action{margin-top:27px}.meal{margin-top:62px}.meal h3{font-size:38px;font-weight:400;line-height:1.3;margin-top:23px}.meal p{font-size:18px;margin-top:16px}.meal .meal-help{margin-top:36px}.meal>.text-action{margin-top:22px}.shopping h3{font-size:30px;font-weight:400;line-height:1.3;margin-top:21px}.shopping-items{list-style:none;margin:24px 0 0;padding:0}.shopping-items li{min-height:53px}.shopping-items label{display:flex;align-items:center;min-height:44px;gap:16px;font-size:18px;cursor:pointer}.shopping-items input{appearance:none;flex-shrink:0;width:20px;height:20px;margin:0;border:1px solid var(--muted);border-radius:3px;background:#fff;position:relative;cursor:pointer}.shopping-items input:checked{background:var(--brand);border-color:var(--brand)}.shopping-items input:checked:after{content:"✓";position:absolute;color:#fff;font-size:17px;line-height:18px;left:2px}.checked span:not(.quantity){text-decoration:line-through;color:var(--muted)}.quantity{font-size:16px;margin-left:auto;color:var(--muted);padding-right:32px;white-space:nowrap}.primary{background:var(--brand);color:#fff;min-height:44px;font-size:16px;font-weight:600;border-radius:6px;padding:12px 16px;text-align:left}.primary:hover{background:var(--ink)}.shopping>.primary{margin-top:30px;min-width:190px}.spending{border-top:1px solid var(--line);margin-top:66px;padding-top:54px}.spending h3{font-size:50px;font-weight:400;line-height:1.25;margin-top:30px}.spending p{font-size:17px;margin-top:22px}.spending .text-action{margin-top:25px}footer{border-top:1px solid var(--line);font-size:14px;line-height:1.5;color:var(--muted);height:87px;padding-top:25px;flex-shrink:0}.mobile-brand,.mobile-demo,.mobile-nav,.mobile-list-title{display:none}.skip-link{position:fixed;left:16px;top:10px;transform:translateY(-200%);background:#fff;padding:12px;color:var(--brand);z-index:10}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-state{padding:40px 0;max-width:640px}.data-state h2{font-size:30px;font-weight:500}.data-state p{margin:24px 0}.data-state .primary{margin-top:12px}dialog{border:1px solid var(--line);border-radius:8px;padding:32px;background:#fff;color:var(--ink);width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto}dialog::backdrop{background:#172b4666}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}.panel-header h2{font-size:28px;font-weight:500}.close-button{min-height:44px;padding:8px;font-size:16px;color:var(--brand)}dialog p{margin:18px 0;font-size:16px}dialog h3{font-size:24px;font-weight:500;margin-top:24px}.demo-tag{font-size:14px;color:var(--muted);background:var(--soft);padding:8px 12px;border-radius:4px}.detail-list{padding-left:22px;line-height:1.7}.detail-list li{margin:14px 0}dialog .shopping-items{margin:24px 0}.panel-note{font-size:14px}@media(min-width:961px)and (max-width:1550px){.workspace{padding:0 36px}.today-grid{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:36px}.support-column{padding-left:32px}.pantry-items li{grid-template-columns:1fr 80px;gap:12px}.pantry-items .date{grid-column:1/-1;margin-top:-12px}.header-right{gap:32px}.pantry h3{font-size:30px}.meal h3{font-size:32px}.quantity{padding-right:0}}@media(max-width:960px){.rail{display:none}.workspace{margin-left:0;padding:0 24px 88px;min-height:100dvh}.topbar{height:84px}.header-right>span{display:none}.today-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}.support-column{padding-left:24px}.pantry-items li{grid-template-columns:1fr 80px;gap:8px}.pantry-items .date{grid-column:1/-1;margin-top:-12px}.pantry h3{font-size:25px}.meal h3{font-size:30px}.quantity{padding-right:0}.shopping-items label{gap:10px;font-size:16px}.mobile-nav{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;background:#fff;border-top:1px solid var(--line);height:80px;padding:7px 12px 15px;z-index:2}.mobile-nav button{font-size:16px;min-height:56px;padding:12px 6px;border-radius:8px}.mobile-nav:after{content:"";width:82px;height:4px;background:var(--ink);border-radius:2px;position:absolute;bottom:7px;left:calc(50% - 41px)}footer{margin-top:40px;height:auto;padding:20px 0}.page-heading .motto{display:none}}@media(max-width:640px){.workspace{padding:0 16px 96px;min-height:100dvh}.topbar{height:77px;display:grid;grid-template-columns:1fr auto;grid-template-rows:44px 24px;align-content:start}.home-label{display:none}.mobile-brand{display:block;font-size:23px;font-weight:600;align-self:center}.mobile-demo{display:block;grid-column:1/-1;font-size:12px;line-height:20px}.header-right{font-size:14px;display:block}.notice-button{font-size:14px;padding:0}.page-heading{height:100px;padding-top:23px}h1{font-size:32px;line-height:1.2}.page-heading p{font-size:16px;margin-top:7px}.today-grid{display:block}.eyebrow{font-size:12px;line-height:18px;letter-spacing:.025em}.pantry h3{display:none}.pantry-items{margin-top:9px}.pantry-items li{min-height:62px;grid-template-columns:1fr auto;gap:2px;padding:12px 0 8px;border:0}.pantry-items strong{font-size:18px;font-weight:500}.pantry-items span{font-size:16px}.pantry-items .date{font-size:16px;margin-top:1px;grid-column:1/-1;line-height:24px}.pantry-items{border-bottom:1px solid var(--line)}.pantry>.text-action{display:none}.meal{margin-top:23px;padding-bottom:12px;border-bottom:1px solid var(--line)}.meal h3{font-size:25px;line-height:1.25;margin-top:17px;letter-spacing:-.035em}.meal p{font-size:16px;margin-top:13px}.meal .meal-help{display:none}.meal .text-action{margin-top:8px;font-size:16px;min-height:44px}.support-column{border:0;padding:0}.shopping{margin-top:22px}.desktop-list-title{display:none}.mobile-list-title{display:inline}.shopping h3{display:none}.shopping-items{margin-top:5px}.shopping-items li{min-height:34px}.shopping-items label{min-height:34px;gap:12px;font-size:16px}.shopping-items input{width:20px;height:20px}.quantity{padding-right:20px;font-size:16px}.shopping>.primary{margin-top:14px;width:100%;min-height:44px}.spending{position:relative;border:0;margin-top:27px;padding-top:0}.spending h2{padding-top:2px;max-width:55%}.spending h3{position:absolute;right:0;top:-8px;font-size:26px;line-height:1.3;margin:0}.spending p{font-size:16px;margin-top:16px}.spending .text-action{display:none}footer{font-size:12px;margin-top:24px;padding:14px 0 0;border-top:1px solid var(--line)}dialog{margin:16px;width:calc(100% - 32px);padding:20px;max-height:calc(100dvh - 32px)}.panel-header h2{font-size:24px}.mobile-nav button{font-size:16px;padding:12px 4px}.data-state h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(max-width:640px){.pantry-items{margin-top:5px}.pantry-items li{padding:8px 0 4px;min-height:62px}.meal{margin-top:19px;padding-bottom:0}.meal h3,.meal p{margin-top:2px}.meal .text-action{margin-top:0}.shopping>.primary{margin-top:4px}.spending p{margin-top:10px}}button,input,select,textarea{font:inherit}select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.rail nav{gap:2px;margin-top:28px}.rail nav button{font-size:16px;min-height:42px;padding:8px 20px}.workspace{min-height:100dvh}.rail-home{margin-bottom:0}.access-card{max-width:560px;padding:60px 0}.access-card h1{font-size:44px;margin-bottom:20px}.access-card>p{margin:16px 0}.access-card h2{margin-top:40px}.small,small{font-size:14px;line-height:1.5;color:var(--muted)}.form-grid{display:grid;gap:18px;align-content:start;margin:24px 0}.field{display:grid;gap:8px;color:var(--ink);font-size:15px;min-width:0}.field input,.field select,textarea{border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:12px;min-height:46px;width:100%;min-width:0}.field input[type=checkbox]{width:auto}.form-grid>.primary{justify-self:start;min-width:160px}.secondary{border:1px solid var(--brand);color:var(--brand);border-radius:5px;padding:10px 14px;min-height:44px;flex-shrink:0}.secondary:disabled,.primary:disabled{opacity:.6;cursor:not-allowed}.two-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;padding-bottom:48px}.two-column>div+div{border-left:1px solid var(--line);padding-left:40px}.two-column h2,.private-area h2{font-size:25px;font-weight:500;margin-bottom:14px}.two-column h3,.subform h3{margin-top:28px;font-size:20px;font-weight:500}.record-list{list-style:none;padding:0;margin:24px 0}.record-list>li{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.record-list>li:last-child{border-bottom:1px solid var(--line)}.record-list h2{font-size:24px;font-weight:500;margin-bottom:8px}.record-list h3{font-size:19px;font-weight:500;margin:0 0 8px}.record-list p+p{margin-top:8px}.record-list ul{line-height:1.8;padding-left:20px}.row-actions{display:flex;gap:12px;align-items:center}.section-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:32px}.section-toolbar p{max-width:750px}.section-toolbar .primary{flex-shrink:0}.empty-message{padding:22px 0;font-size:17px}.shopping-row{display:flex;align-items:center;min-height:44px;font-size:18px;gap:16px}.subform{border-top:1px solid var(--line);margin-top:36px;padding-top:4px}.check-field{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.5;margin:20px 0}.check-field input{flex-shrink:0;width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}fieldset{border:1px solid var(--line);padding:20px;border-radius:6px;display:grid;gap:16px;min-width:0}legend{font-weight:600;padding:0 8px}.form-error,.alert{background:#fff;border:1px solid var(--focus);border-radius:5px;padding:16px;line-height:1.5}.form-error{color:var(--focus)}.form-status{color:var(--brand)}.alert{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.alert button{color:var(--brand);padding:8px;min-height:44px}.refreshing{position:fixed;top:0;right:16px;background:var(--soft);padding:6px 12px;font-size:13px;z-index:5}.tabs{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.tabs button{border:1px solid var(--line);border-radius:6px;min-height:44px;padding:10px 16px}.medical-note{padding:28px;background:var(--soft);border-radius:8px}.medical-note h2{font-size:28px;font-weight:500;margin-bottom:12px}.wellbeing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.wellbeing-grid article{border-top:1px solid var(--line);padding:24px 0}.wellbeing-grid h2{font-size:24px;font-weight:500;line-height:1.3;margin-bottom:16px}.wellbeing-grid .text-action{margin-top:18px}.private-area{margin:48px 0;padding:32px;border:1px solid var(--line);border-radius:8px;max-width:850px}.private-area .form-grid{max-width:600px}dialog ul,dialog ol{line-height:1.7;padding-left:24px}dialog li{margin:12px 0}a{color:var(--brand);overflow-wrap:anywhere}dialog textarea{resize:vertical;min-height:100px}.mobile-more{display:none}main>section{padding-bottom:24px}.record-list>li>div{min-width:0}@media(max-width:1100px){.two-column{gap:32px}.two-column>div+div{padding-left:28px}.wellbeing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-list>li{gap:14px}.section-toolbar{gap:20px}.rail{width:210px;padding:28px}.workspace{margin-left:210px;padding-left:32px;padding-right:32px}}@media(max-width:960px){.workspace{margin-left:0;padding-left:24px;padding-right:24px}.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr));height:80px}.mobile-nav button{font-size:14px}.mobile-more{display:block;position:relative}.mobile-more summary{list-style:none;text-align:center;padding:18px 0;min-height:56px;font-size:14px;cursor:pointer}.mobile-more>div{position:absolute;bottom:68px;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;min-width:170px;box-shadow:0 6px 24px #172b4620}.mobile-more>div button{display:block;width:100%;text-align:left;min-height:44px}}@media(max-width:640px){.workspace{padding-left:16px;padding-right:16px}.two-column{display:block}.two-column>div+div{border-left:0;border-top:1px solid var(--line);padding:28px 0 0;margin-top:28px}.record-list>li{align-items:flex-start;flex-wrap:wrap;padding:20px 0}.record-list h2{font-size:21px}.section-toolbar{display:block}.section-toolbar .primary{margin-top:18px}.wellbeing-grid{display:block}.medical-note{padding:20px}.medical-note h2{font-size:24px}.private-area{padding:20px;margin-top:28px}.access-card{padding:32px 0}.access-card h1{font-size:34px}.field input,.field select,.empty-message{font-size:16px}.shopping-row{font-size:16px;min-height:34px}.spending h3{font-size:24px}.spending h2{max-width:57%}.today-grid .empty-message{padding:16px 0}.mobile-nav button{font-size:13px}.mobile-more summary{font-size:13px}.tabs{gap:8px}.tabs button{font-size:14px;padding:10px 12px}.page-heading{height:auto;min-height:112px;padding-bottom:24px}.alert{align-items:flex-start;font-size:15px}fieldset{padding:16px}.record-list .row-actions{width:100%}.private-area .record-list{margin:12px 0}.pantry>.text-action,.spending .text-action{display:inline-block}.pantry>.text-action{margin-top:2px}.meal{margin-top:18px}.pantry-items li{min-height:62px}.support-column .shopping{margin-top:16px}.spending{margin-top:24px}}@media(max-width:960px){html{scroll-padding-bottom:96px}main :is(button,input,select,textarea,a[href],summary){scroll-margin-top:16px;scroll-margin-bottom:96px}}
