:root{--ink:#253e32;--muted:#788177;--green:#376247;--dark:#1e3b2e;--lime:#dce7bc;--line:#e4e6dc;--paper:#f8f8f2;--white:#fff;--warm:#f0e9d9}*{box-sizing:border-box}body{margin:0;font:15px/1.55 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #88a553;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #9cb676;outline-offset:1px}h1,h2,h3,p{margin-top:0}button{border:0}img{display:block;max-width:100%;object-fit:cover}.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;width:238px;height:100vh;background:#fff;border-right:1px solid var(--line);padding:33px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:25px;font-weight:700;letter-spacing:-1.2px}.brand-mark{background:var(--dark);color:white;font:700 italic 34px Georgia,serif;width:38px;height:40px;border-radius:12px 3px 12px 3px;line-height:40px;text-align:center;position:relative}.brand-mark>span{color:#dce7bc;font-size:21px;position:absolute;right:5px;top:-6px}.family-switch{display:flex;gap:10px;align-items:center;padding:18px 0;margin:28px 0 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.family-avatar,.person-avatar,.small-avatar{display:flex;align-items:center;justify-content:center;background:#ecedde;flex-shrink:0}.family-avatar{width:38px;height:38px;border-radius:12px;font-family:Georgia,serif;font-size:21px}.family-switch strong{font-size:13px}.family-switch small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.nav-label{font-size:9px;color:#8f968b;letter-spacing:1.4px;font-weight:700;padding-left:12px;margin-bottom:13px}.sidebar nav{display:grid;gap:5px}.nav-item{position:relative;display:flex;align-items:center;gap:13px;background:none;width:100%;padding:13px 14px;text-align:left;border-radius:8px;font-size:14px;color:#6f7b70}.nav-item>span:first-child{font-size:22px;line-height:1;width:24px;text-align:center}.nav-item.active{background:#eaf0df;color:#304b33;font-weight:700}.nav-item:hover{background:#f3f5ed}.nav-dot{width:6px;height:6px;background:var(--green);border-radius:50%;margin-left:auto}.sidebar-note{padding:20px 16px;background:#f6f5ed;border-radius:12px;margin-top:auto}.sidebar-note>span{font-size:25px;display:block;color:#799364;margin-bottom:10px}.sidebar-note strong{font:22px/1.2 Georgia,serif;letter-spacing:-.4px}.sidebar-note p{font-size:11px;line-height:1.7;color:var(--muted);margin:10px 0 0}.sidebar-footer{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.small-avatar{width:32px;height:32px;border-radius:50%;font-size:10px}.sidebar-footer strong{display:block;font-size:11px}.sidebar-footer small{font-size:9px;color:var(--muted)}.main-shell{margin-left:238px}.demo-bar{min-height:37px;padding:7px 38px;background:#eeeedd;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#6a725f;font-size:10px;letter-spacing:.2px}.demo-dot{display:inline-block;background:#879c63;width:6px;height:6px;border-radius:50%;margin-right:7px}.demo-bar button{font-size:10px;background:none;text-decoration:underline;text-underline-offset:3px;padding:0}.main-shell main{max-width:1510px;margin:auto;padding:40px 40px 0}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#89917c;margin-bottom:10px}.page-header h1{font:40px/1.15 Georgia,Times New Roman,serif;letter-spacing:-1.2px;margin:0 0 11px}.page-subtitle{color:var(--muted);font-size:13px;margin-bottom:0}.header-date{text-align:right;font-size:10px;color:#8b9185}.header-date strong{display:block;font-size:11px;color:#66725e;font-weight:400;margin-top:5px}.preview-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border:1px dashed #d5dcc9;border-radius:8px;margin-bottom:20px;font-size:10px;color:#7b836f}.preview-controls label{display:flex;align-items:center;gap:12px;white-space:nowrap}.preview-controls select{padding:5px 28px 5px 9px;font-size:11px;background:var(--paper);border-color:#d5dcc9}.notice{font-size:12px;line-height:1.5;color:var(--green)}.notice:not(:empty){background:#edf2e5;padding:12px 16px;margin-bottom:18px;border-radius:8px}.today-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:25px;align-items:start}.card,.hero-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.hero-photo{position:relative;height:340px}.hero-photo>img{width:100%;height:100%;object-position:center}.photo-label{position:absolute;top:20px;left:22px;background:#fff9f0ed;padding:7px 12px;border-radius:5px;font-size:9px;font-weight:700;letter-spacing:1.8px}.photo-credit{position:absolute;bottom:12px;right:14px;color:white;text-shadow:0 1px 4px #000;background:#0003;font-size:8px;padding:2px 5px;border-radius:4px}.hero-content{padding:27px 28px 25px}.green{color:#6f8b57}.hero-content .eyebrow{font-size:9px;letter-spacing:1px}.hero-content .eyebrow span{font-weight:400;color:#969c8f;letter-spacing:0;margin-left:6px}.hero-content h2{font:30px/1.2 Georgia,serif;letter-spacing:-.6px;margin-bottom:12px}.hero-content>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8;max-width:450px;margin-bottom:21px}.recipe-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;gap:8px}.recipe-metrics>div{display:grid;grid-template-columns:22px 1fr;column-gap:7px;align-items:center}.metric-icon{grid-row:span 2;font-size:22px;color:#80906c}.recipe-metrics strong{font-size:12px}.recipe-metrics small{font-size:9px;color:#92978a;line-height:1.5}.hero-actions{display:flex;gap:12px;margin-top:22px;align-items:center}.primary,.secondary{padding:12px 18px;border-radius:7px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.4;min-height:42px}.primary{background:var(--green);color:#fff}.primary:hover{background:#284c35}.secondary{background:white;color:#4e604a;border:1px solid #dce1d1}.secondary:hover{background:#f4f6ec}.hero-actions .primary{flex:1 1;justify-content:space-between}.hero-actions .secondary{flex:1 1}.cooked-note{font-size:11px;color:#6e8759;flex:1 1}.today-side{display:grid;gap:22px}.mini-week{padding:23px 22px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}.section-heading h2{font:22px/1.25 Georgia,serif;letter-spacing:-.4px;margin:0}.section-heading .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:7px}.round-button{border-radius:50%;width:28px;height:28px;background:#f0f3e9;color:#71845b;font-size:17px;flex-shrink:0}.upcoming{display:flex;text-align:left;align-items:center;gap:12px;background:white;padding:16px 0;width:100%;border-bottom:1px solid var(--line)}.upcoming>img{width:60px;height:65px;border-radius:7px}.upcoming div{flex:1 1;min-width:0}.upcoming small{font-size:9px;color:#8f967f;display:block;margin-bottom:3px}.upcoming strong{font-size:11px;line-height:1.6;display:block}.upcoming div>span{font-size:9px;color:#92978c;display:block;margin-top:4px}.text-button{background:none;color:#6f805b;font-size:11px;font-weight:600;padding:8px 0;text-align:left}.full-width{width:100%;text-align:center;margin-top:10px}.feedback-card{background:#edeedc;border:1px solid #e5e5cf;border-radius:13px;padding:23px 24px;position:relative}.feedback-symbol{font:80px/.5 Georgia,serif;color:#c8cead;position:absolute;right:21px;top:30px}.feedback-card .eyebrow{font-size:8px;margin-bottom:10px;position:relative}.feedback-card h2{font:26px Georgia,serif;margin:0 0 12px;position:relative}.feedback-card>p:not(.eyebrow){font-size:11px;line-height:1.8;color:#7b8269;max-width:220px}.feedback-card .secondary{background:transparent;border-color:#cfd5b9;min-height:35px;padding:9px 12px;font-size:10px}.feedback-card .saved-note{margin:8px 0 0;font-size:9px}.bottom-note{display:flex;align-items:center;gap:16px;background:#f0f2e7;border:1px solid #e6e9db;border-radius:10px;padding:15px 22px;margin-top:25px;font-size:10px}.bottom-note>span:first-child{font-size:29px;color:#8b9b6e}.bottom-note p{margin:0;color:#889078;flex:1 1}.bottom-note strong{display:block;color:#5e7052;font-size:11px;margin-bottom:3px}.bottom-note>.muted{max-width:150px;text-align:right;font-size:9px}.muted{color:var(--muted)}.page-footer{display:flex;gap:20px;align-items:center;color:#979c8e;font-size:9px;border-top:1px solid var(--line);margin-top:40px;padding:23px 0}.brand-mini{font-size:13px;font-weight:700;color:#5c7157;letter-spacing:-.5px}.page-footer>span:last-child{margin-left:auto}.plan-hint,.planning-reminder{display:flex;align-items:center;gap:14px;border:1px solid #dedfc4;background:#f0f0df;border-radius:9px;padding:14px 18px;margin-bottom:20px;font-size:12px}.planning-reminder>span{font-size:26px;color:#8e9c6c}.planning-reminder p{margin:3px 0 0;font-size:11px;color:#7a846b}.planning-reminder .text-button{margin-left:auto}.shopping-header,.week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:12px 0 22px}.shopping-header h2,.week-toolbar h2{font:29px Georgia,serif;letter-spacing:-.6px;margin:10px 0 8px}.shopping-header p,.week-toolbar p{font-size:12px;color:var(--muted);margin:0}.pill{display:inline-block;background:#eaf0df;border:1px solid #dde5cf;color:#6f8057;border-radius:20px;font-size:10px;padding:5px 10px}.week-actions{display:flex;gap:10px;flex-wrap:wrap}.plan-hint{font-size:11px;padding:12px 16px;color:#858a72}.plan-hint>span{font-size:20px}.plan-hint p{margin:0}.week-list{background:white;border:1px solid var(--line);border-radius:13px;overflow:visible}.meal-row{display:flex;align-items:center;gap:18px;padding:20px;border-bottom:1px solid var(--line);position:relative}.meal-row:last-child{border-bottom:0}.meal-day{width:75px;flex-shrink:0}.meal-day strong{display:block;font-size:12px}.meal-day>span{display:block;font-size:10px;color:#8b9381;margin-top:3px}.meal-placeholder,.meal-thumb{width:90px;height:75px;border-radius:8px;flex-shrink:0}.meal-placeholder{display:flex;align-items:center;justify-content:center;background:#eff1e5;font-size:27px;color:#859572}.meal-description{flex:1 1}.status-label{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#a28c57}.status-label.is-approved{color:#6b8a52}.meal-description h3{font:18px Georgia,serif;margin:5px 0 6px}.meal-description p{font-size:10px;color:#8c9483;margin:0}.meal-actions{display:flex;align-items:center;gap:7px}.small{font-size:10px;padding:8px 11px;min-height:34px}.approve-button{background:#eef3e4;border:1px solid #dfe6d4;color:#68874f;border-radius:6px;width:31px;height:34px}.meal-more{position:relative}.meal-more>summary{list-style:none;padding:10px 6px;font-size:12px;cursor:pointer;letter-spacing:1px}.meal-more>summary::-webkit-details-marker{display:none}.meal-more>div{position:absolute;right:0;top:36px;z-index:5;width:190px;border:1px solid var(--line);background:#fff;border-radius:8px;box-shadow:0 10px 30px #1e3b2e15;padding:5px}.meal-more button{display:block;width:100%;background:white;text-align:left;padding:10px;font-size:11px;border-radius:5px}.meal-more button:hover{background:#eff3e7}.time-warning{color:#a47d36}.approved-banner{margin-top:20px;display:flex;align-items:center;gap:20px;padding:15px;background:#eaf0df;border-radius:9px}.approved-banner p{margin:0;font-size:12px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.library-toolbar p{font-size:12px;color:var(--muted)}.search-field{width:300px}.search-field>span{font-size:10px;color:var(--muted);margin-bottom:4px}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.recipe-card{padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;overflow:hidden}.recipe-card>img{width:100%;height:230px}.recipe-card>div{padding:20px}.recipe-card h2{font:23px Georgia,serif;margin:8px 0 12px}.recipe-card p{font-size:11px;color:var(--muted);margin:0}.empty-card{background:white;border:1px solid var(--line);border-radius:13px;padding:55px 30px;text-align:center}.empty-card h2{font:28px Georgia,serif}.empty-card p{font-size:13px;color:var(--muted)}.empty-icon{display:block;font-size:50px;color:#a2b187;margin-bottom:20px}.shopping-table{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.shopping-row,.shopping-table-head{display:grid;grid-template-columns:minmax(140px,2fr) 1fr 1fr 1fr;align-items:center;gap:20px;padding:17px 24px}.shopping-table-head{background:#eff2e7;font-size:10px;color:#7c866e}.shopping-row{border-top:1px solid var(--line);font-size:12px}.shopping-name{display:flex;align-items:center;gap:12px;font-size:12px}.shopping-name input{width:16px;height:16px;accent-color:var(--green)}.quantity-input{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.quantity-input input{width:90px}.to-buy{font-size:12px;color:#526d40}.checked .shopping-name{text-decoration:line-through;color:#9a9f91}.list-footnote{font-size:11px;color:var(--muted);margin-top:15px}.settings-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:start}.settings-card{padding:26px;margin-bottom:22px}.settings-card h2{font:27px Georgia,serif;margin-bottom:12px}.settings-card h3{font:21px Georgia,serif;margin-bottom:5px}.settings-card p{font-size:11px;line-height:1.8;color:var(--muted)}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.settings-divider{border-top:1px solid var(--line);margin:26px 0}.time-setting{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;font-size:11px}.time-setting>span:last-child{color:var(--muted);font-size:10px}.time-setting input{width:65px;font-size:11px;padding:7px 8px;margin-right:7px}.person-setting{display:flex;align-items:center;gap:10px;margin:18px 0}.person-avatar{height:30px;width:30px;border-radius:50%;font-size:13px}.person-setting label{min-width:0;flex:1 1;font-size:9px}.person-setting input,.person-setting select{padding:8px;font-size:11px;width:100%}.person-setting .icon-button{font-size:19px;width:20px}.allergy-card{background:#f6f4e9}.settings-local-note{font-size:10px;color:var(--muted);padding:0 10px}label{display:grid;gap:6px;font-size:11px;color:#617057}input,select,textarea{border:1px solid #dce2d2;border-radius:6px;background:#fff;color:#3d533f;padding:10px 12px;max-width:100%}textarea{resize:vertical;line-height:1.7}.modal{background:#fffef9;border:1px solid #dfe3d5;border-radius:15px;box-shadow:0 20px 100px #152b2b33;color:var(--ink);padding:28px;max-width:620px;width:calc(100% - 32px);max-height:90vh}.modal::backdrop{background:#17332977;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.modal-heading h2{font:26px Georgia,serif;margin:0}.icon-button{font-size:25px;background:none;line-height:1;flex-shrink:0;padding:5px}.modal-photo{width:100%;height:230px;border-radius:9px}.modal form>p,.modal>p{font-size:12px;line-height:1.8;margin:16px 0}.modal h3{font:20px Georgia,serif}.ingredient-list{list-style:none;margin:0 0 20px;padding:0}.ingredient-list li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}.recipe-demo-note{background:#f1f2e7;padding:12px;border-radius:7px;font-size:11px;color:#80876e;margin-bottom:20px}.swap-options{gap:10px}.swap-options button{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;text-align:left}.swap-options img{width:65px;height:60px;border-radius:6px}.swap-options button>span:nth-child(2){flex:1 1}.swap-options strong{font-size:12px;display:block}.swap-options small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.modal form label{margin:16px 0}.modal-actions{display:flex;gap:12px;margin-top:22px}@media(min-width:1600px){.hero-photo{height:420px}.main-shell main{padding-top:50px}.today-layout{grid-template-columns:1.9fr 1fr}.hero-content h2{font-size:36px}.hero-content{padding:30px 34px}.upcoming{padding:20px 0}.upcoming>img{width:74px;height:74px}.upcoming strong{font-size:13px}.feedback-card{padding:30px}.sidebar{width:255px}.main-shell{margin-left:255px}}@media(max-width:1150px){.sidebar{width:205px;padding:28px 15px}.main-shell{margin-left:205px}.main-shell main{padding:30px 24px 0}.demo-bar{padding:7px 24px}.today-layout{grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:18px}.hero-photo{height:285px}.hero-content{padding:23px 22px}.hero-content h2{font-size:27px}.mini-week{padding:20px 17px}.upcoming>img{width:48px;height:55px}.recipe-metrics{gap:4px}.recipe-metrics>div{grid-template-columns:1fr}.metric-icon{display:none}.hero-actions{flex-wrap:wrap}.hero-actions>*{min-width:120px}.page-header h1{font-size:35px}.header-date{display:none}.meal-row{gap:12px;padding:16px}.meal-placeholder,.meal-thumb{width:70px;height:65px}.meal-description h3{font-size:16px}.meal-day{width:58px}.week-toolbar{align-items:flex-start}.week-actions{flex-direction:column}.settings-grid{grid-template-columns:1fr}.preview-controls{flex-wrap:wrap}}@media(max-width:850px){.sidebar{position:sticky;top:0;width:100%;height:auto;padding:12px 20px;display:flex;flex-direction:row;align-items:center;gap:24px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:21px}.brand-mark{width:30px;height:32px;font-size:28px;line-height:32px}.sidebar nav{display:flex;margin-left:auto;gap:4px}.nav-item{padding:9px 11px;font-size:11px;gap:7px}.nav-item>span:first-child{font-size:18px;width:auto}.family-switch,.nav-label,.sidebar-footer,.sidebar-note{display:none}.main-shell{margin-left:0}.main-shell main{padding-top:28px}.today-layout{grid-template-columns:1.7fr 1fr}.demo-bar{font-size:9px}.hero-photo{height:280px}.feedback-card{padding:21px}.feedback-card h2{font-size:23px}.bottom-note>.muted{display:none}.week-toolbar{flex-wrap:wrap}.week-actions{flex-direction:row}}@media(max-width:640px){.sidebar{padding:12px 16px;gap:10px}.sidebar nav{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);justify-content:space-around;padding:7px 5px max(7px,env(safe-area-inset-bottom));z-index:20}.nav-item{flex-direction:column;gap:5px;font-size:9px;min-width:58px;padding:7px 8px}.nav-item>span:first-child{font-size:20px}.nav-dot{position:absolute;top:4px;right:14px}.main-shell main{padding:24px 16px 65px}.demo-bar{padding:7px 16px;font-size:9px}.demo-detail{display:none}.page-header{margin-bottom:21px}.page-header h1{font-size:33px;max-width:320px}.page-subtitle{font-size:12px;line-height:1.7}.eyebrow{font-size:8px}.preview-controls{padding:9px 12px;gap:7px}.preview-controls label{font-size:9px;width:100%;justify-content:space-between}.preview-controls>span{font-size:9px}.today-layout{grid-template-columns:1fr;gap:19px}.hero-photo{height:270px}.hero-content{padding:22px}.hero-content h2{font-size:29px}.hero-content>p:not(.eyebrow),.recipe-metrics strong{font-size:12px}.recipe-metrics small{font-size:9px}.hero-actions{gap:10px}.hero-actions .primary,.hero-actions .secondary{font-size:11px}.today-side{grid-template-columns:1fr;gap:18px}.mini-week{padding:22px}.upcoming>img{width:62px;height:60px}.upcoming strong{font-size:12px}.upcoming div>span{font-size:10px}.feedback-card{padding:25px}.feedback-card>p:not(.eyebrow){max-width:280px;font-size:12px}.bottom-note{padding:14px 17px;align-items:flex-start}.page-footer{flex-wrap:wrap;gap:6px 15px;margin-top:27px;padding:18px 0}.page-footer>span:last-child{margin:0;width:100%;font-size:8px}.planning-reminder{padding:12px;gap:10px;flex-wrap:wrap}.planning-reminder .text-button{margin-left:36px;padding-top:0}.planning-reminder strong{font-size:11px}.planning-reminder p{font-size:10px}.week-toolbar h2{font-size:27px}.week-actions{width:100%;gap:8px}.week-actions button{flex:1 1;font-size:10px;padding:11px}.meal-row{display:grid;grid-template-columns:54px 58px 1fr;gap:12px;padding:16px 12px}.meal-placeholder,.meal-thumb{width:58px;height:63px}.meal-description h3{font-size:17px}.meal-description p{font-size:9px}.meal-day strong{font-size:10px}.meal-day>span{font-size:9px}.meal-actions{grid-column:3;justify-content:flex-start}.meal-more>div{right:0}.plan-hint{font-size:10px}.approved-banner{flex-wrap:wrap;gap:7px}.recipe-grid{grid-template-columns:1fr;gap:18px}.recipe-card>img{height:230px}.library-toolbar{flex-wrap:wrap;gap:5px}.search-field{width:100%}.shopping-header{flex-wrap:wrap;gap:16px}.shopping-header h2{font-size:27px}.shopping-header>button{width:100%}.shopping-row,.shopping-table-head{grid-template-columns:minmax(80px,1.5fr) .8fr 1fr .8fr;gap:7px;padding:15px 10px}.shopping-table-head{font-size:9px}.shopping-name,.shopping-row,.to-buy{font-size:10px}.quantity-input{gap:3px;font-size:9px}.quantity-input input{padding:7px 4px;font-size:10px;width:55px}.shopping-name{gap:5px;overflow-wrap:anywhere}.shopping-name input{width:13px;height:13px}.settings-card{padding:23px 20px}.person-setting{gap:7px}.person-avatar{width:25px;height:25px}.person-setting .icon-button{width:15px;font-size:18px}.person-setting input,.person-setting select{padding:7px 5px;font-size:10px}.modal{padding:23px 20px}.modal-heading h2{font-size:24px}.modal-photo{height:200px}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1 1}.empty-card{padding:40px 20px}}.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}.shopping-final .shopping-row,.shopping-final .shopping-table-head{display:flex;justify-content:space-between}.manual-shopping-row{display:flex;gap:12px;align-items:center}.manual-shopping-row>input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.manual-shopping-row>div{flex:1 1;min-width:0}.manual-shopping-row>div>input{width:100%;padding:2px 0;border:1px solid transparent;background:transparent;font-size:12px;font-weight:600}.manual-shopping-row>div>input:hover{border-bottom-color:var(--line)}.manual-shopping-row.checked>div>input{text-decoration:line-through;color:#939a8a}.manual-remove{background:transparent;color:#8b7965;padding:4px;font-size:10px}.compact-add{display:flex;align-items:center;gap:9px;padding:12px 24px;border-top:1px solid var(--line);margin:0;background:#fcfcf8}.compact-add>input{flex:1 1;min-width:0;font-size:12px;padding:9px 10px}.compact-add>button{flex-shrink:0;font-size:11px;padding:9px 14px;min-height:36px}@media(max-width:640px){.compact-add{padding:10px;gap:8px;flex-wrap:nowrap}.compact-add>input{font-size:11px;padding:9px 8px}.compact-add>button{width:auto;padding:9px 12px;font-size:11px}.manual-shopping-row{gap:7px}.manual-shopping-row>div>input{font-size:10px}.manual-remove{font-size:9px}.manual-shopping-row>input{width:13px;height:13px}}.product-shell{min-height:100vh;background:var(--background,#f7f8f4)}.product-header{display:flex;align-items:center;gap:24px;padding:22px max(20px,calc((100vw - 1000px)/2));background:#fff;border-bottom:1px solid #e3e8df;flex-wrap:wrap}.product-header .brand{margin-right:auto}.product-header>a:not(.brand){color:#346347;font-size:14px}.product-main{max-width:1000px;margin:auto;padding:24px 20px 60px}.product-main h1{font-size:clamp(26px,4vw,38px);margin-bottom:24px}.product-card{padding:28px;background:#fff;border:1px solid #e3e8df;border-radius:20px;margin:22px 0}.auth-card{max-width:500px;margin:32px auto}.product-card h2{margin-bottom:12px}.product-card p{color:#626b61;line-height:1.6}.product-card form:not(.product-add){display:grid;gap:18px;margin-top:22px;max-width:480px}.product-card form label{display:grid;gap:8px;font-weight:600;font-size:14px}.product-card input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #cdd6c8;border-radius:9px;padding:12px;background:#fff;color:#273728;font:inherit}.product-card input:focus-visible,.product-shell a:focus-visible,.product-shell button:focus-visible{outline:3px solid #539b6c;outline-offset:3px}.product-tabs{display:flex;gap:10px;flex-wrap:wrap}.product-error{border-left:4px solid #b84d36;background:#fff0e9;padding:14px;color:#81351f}.product-status{color:#316044;min-height:22px}.product-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.product-items{padding:0;list-style:none;margin:24px 0 12px}.product-items li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0e8}.product-check input{width:22px;height:22px;accent-color:#347b4e}.product-bought{text-decoration:line-through;color:#757b72!important}.product-add{display:flex;gap:10px}.product-add button{flex-shrink:0}.member-list{list-style:none;padding:0;margin:20px 0 28px}.member-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf0e8;padding:16px 0}@media(max-width:600px){.product-header{gap:12px;padding:16px}.product-main{padding:18px 12px 40px}.product-card{padding:18px}.product-section-heading{display:block}.product-items li{gap:6px}.product-items .small{padding:9px}.product-add{gap:6px}.product-header .brand{font-size:24px}.member-list li{align-items:start;flex-direction:column}}.recipe-library form.recipe-search{display:flex;max-width:none}.recipe-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:22px}.recipe-tile{text-align:left;border:1px solid #d9e2d1;background:#fff;border-radius:12px;overflow:hidden;padding:0 0 16px;display:grid;gap:8px;color:#293e2c}.recipe-tile img{width:100%;height:150px;object-fit:cover}.recipe-tile small,.recipe-tile span,.recipe-tile strong{padding:0 16px}.recipe-detail{margin-top:24px}.recipe-detail li{margin:10px 0;line-height:1.6}.recipe-detail ol,.recipe-detail ul{padding-left:24px}.product-recipe-image{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin:20px 0}.product-card form.recipe-editor{max-width:none}.recipe-editor select,.recipe-editor textarea{width:100%;padding:12px;border:1px solid #cdd6c8;border-radius:9px;font:inherit;background:white;color:#273728}.recipe-metadata{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ingredient-edit{display:grid;grid-template-columns:2fr 1fr 1fr 32px;gap:10px;align-items:end;margin-bottom:12px}.recipe-editor fieldset{padding:16px;border:1px solid #d9e2d1;border-radius:12px}@media(max-width:600px){.recipe-metadata{grid-template-columns:1fr}.ingredient-edit{grid-template-columns:1fr 1fr 32px}.ingredient-edit label:first-child{grid-column:1/-1}.recipe-tiles{grid-template-columns:1fr}}.family-fields{display:grid;gap:16px;padding:0;border:0;min-width:0}.family-fields select{padding:12px;border:1px solid #cdd6c8;border-radius:9px;background:white;font:inherit}.family-heading{margin-top:32px}.family-fields:disabled{opacity:.75}.plans h3{margin:20px 0 12px}.plans .plan-create{display:flex!important;align-items:end;gap:12px;max-width:none!important;flex-wrap:wrap}.plan-create input,.plan-edit input:not([type=checkbox]),.plan-edit select,.plan-edit textarea,.plan-picker select{padding:12px;border:1px solid #cdd6c8;border-radius:9px;font:inherit;background:#fff;width:100%;min-width:0}.plan-picker{display:grid;gap:8px;margin:22px 0;max-width:480px}.manual-week{display:grid;gap:18px;margin-top:22px}.manual-day{border:1px solid #e1e7dd;border-radius:14px;padding:18px}.manual-day-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.manual-day-heading h3{margin:0;text-transform:capitalize;font-size:18px}.manual-day-heading small{display:block;font-weight:400;font-size:13px;color:#616e60;margin-top:6px}.manual-meal{margin-top:16px;padding:16px 0 0;border-top:1px solid #e5eadf}.manual-meal h4{font-size:19px;margin:4px 0}.manual-meal .product-tabs{margin-top:12px}.plan-boundary{background:#f1f5e9;padding:14px;border-radius:12px}.plan-dialog{width:min(680px,calc(100vw - 24px));box-sizing:border-box;max-height:90vh;overflow-y:auto}.plan-edit{display:grid;gap:16px;margin:20px 0}.plan-edit>label{display:grid;gap:8px}.plan-edit fieldset{border:1px solid #d9e2d1;border-radius:9px;padding:12px}.plan-person{display:flex;gap:10px;align-items:center;margin:10px 0}.plan-person input{width:20px;height:20px;accent-color:#347b4e}.swap-options{display:grid;gap:12px;margin:20px 0}.evaluation-entry{padding:18px 0;border-top:1px solid #e4e9dc}.evaluation-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.plan-history{padding-left:24px}.plan-history li{margin-bottom:20px}.plan-dialog .product-error{overflow-wrap:anywhere}@media(max-width:600px){.manual-day{padding:12px}.manual-day-heading{align-items:start;flex-wrap:wrap}.manual-day-heading .small{font-size:12px}.plan-dialog{padding:18px}.plan-dialog .modal-heading h2{font-size:22px}.plan-create label{width:100%}}.product-card form select{width:100%;min-width:0;padding:12px;border:1px solid #cdd6c8;border-radius:9px;font:inherit;background:white;color:#273728}