:root{--cream:#f7f5ef;--paper:#fffefa;--green:#315b47;--deep:#244636;--ink:#2c352d;--muted:#73776c;--line:#e5e6dc;--sage:#eaf0e6;--apricot:#f4d6bc;--radius:16px;color-scheme:light;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--ink);background:var(--cream)}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(100%,540px);padding:clamp(24px,5vw,40px);background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 44px #2446360b}.auth-card h1{max-width:none}.auth-card form{display:grid;gap:18px}.auth-card label:not(.remember-device){display:grid;gap:8px;font-weight:700}.auth-card input:not([type=checkbox]),.auth-card select{width:100%;min-height:48px;border:1px solid #b2bcb0;border-radius:8px;padding:10px 12px;background:white;font-size:16px}.auth-card .remember-device{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.5}.remember-device input{width:22px;height:22px;flex-shrink:0;accent-color:var(--green)}.auth-card .form-note{font-size:13px}.auth-card .primary-button{min-height:48px;justify-content:center}.account-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;margin-bottom:24px;background:var(--sage);border:1px solid #ced9c8;border-radius:12px;font-size:13px;overflow-wrap:anywhere}.account-controls>div{flex:1 1 260px;min-width:0}.account-controls small{display:block;font-size:12px;line-height:1.6;margin-top:5px}.account-controls button{min-height:44px}.device-settings{width:min(650px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}.device-settings h2{margin-bottom:20px}.device-settings p{font-size:14px}.device-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}.device-list li{padding:18px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.device-list h3{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.current-device{font-size:12px;background:var(--sage);color:var(--deep);border:1px solid #bdcdb8;border-radius:6px;padding:5px 8px}.device-list dl{font-size:13px;line-height:1.6;margin-bottom:16px}.device-list dl>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.device-list dd{margin:0}.device-list button{min-height:44px}@media(max-width:600px){.account-controls{padding:14px;gap:10px}.account-controls>div{flex-basis:100%}.account-controls button{flex:1 1}.device-list li{padding:14px}.device-settings .modal-heading{gap:12px}.auth-card .eyebrow{line-height:1.8}}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #be7d45;outline-offset:4px}input,select{min-width:0;max-width:100%}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(30px,3vw,44px);line-height:1.16;margin-bottom:12px}h2{font-size:30px;margin-bottom:0;line-height:1.2}h3{font-size:16px;line-height:1.35}p{line-height:1.6}svg{flex-shrink:0}button svg{vertical-align:middle}button{transition:background .16s,border-color .16s,box-shadow .16s}button:hover:not(:disabled){filter:brightness(.97)}.topbar{height:86px;gap:20px;padding:0 38px;border-bottom:1px solid var(--line);background:var(--paper)}.brand,.topbar{display:flex;align-items:center}.brand{text-decoration:none;font-family:Georgia,serif;font-size:29px;font-weight:700;letter-spacing:-1.4px;color:var(--green)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cbd5c5;border-radius:50%;margin-right:11px;transform:rotate(-10deg)}.brand-dot{color:#b67447}.environment{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.env-dot,.sync-dot{width:7px;height:7px;border-radius:50%;background:#7d9971;flex-shrink:0}.demo-tag{color:#75543a;background:#f5e6d7;border:1px solid #ead6bf;border-radius:5px;font-size:10px;font-weight:700;padding:5px 8px;margin-left:9px}.icon-button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:10px;flex-shrink:0}.icon-button:hover{background:var(--sage)}.help-button{color:var(--muted)}.app-layout{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1800px;margin:0 auto}.sidebar{padding:40px 20px 25px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:calc(100vh - 86px)}.eyebrow,.sidebar-label{font-size:9px;letter-spacing:1.7px;font-weight:700;color:var(--muted);line-height:1.6}.sidebar-label{margin:0 0 18px 14px;font-size:8px}.sidebar nav{display:grid;gap:7px}.nav-button{display:flex;align-items:center;gap:13px;min-height:49px;border-radius:10px;padding:10px 14px;background:transparent;text-align:left;color:#72786c;font-size:13px}.nav-button.active{background:var(--green);color:white;box-shadow:0 3px 7px #29463012}.nav-count{margin-left:auto;min-width:21px;padding:3px 5px;border-radius:6px;background:#e6e9df;font-size:10px;text-align:center;color:var(--green)}.sidebar-note{margin:46px 10px 0;padding:22px 0;border-top:1px solid var(--line)}.little-sprig{display:inline-block;color:#80936c;transform:rotate(-24deg);margin-bottom:13px}.sidebar-note p{font-family:Georgia,serif;font-size:21px;line-height:1.5;color:var(--green);margin-bottom:12px;letter-spacing:-.5px}.sidebar-note strong{font-weight:400}.sidebar-note>span:last-child{font-size:11px;line-height:1.8;color:var(--muted)}.sidebar-bottom{margin:80px 10px 0}.sidebar-bottom p{font-size:10px;color:#878a7e;line-height:1.8;margin-top:9px}.sidebar-bottom .eyebrow{font-size:8px;letter-spacing:1px}.main-content{padding:40px 38px 22px;min-width:0}.page-intro{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:22px}.page-intro .eyebrow{margin:0 0 15px}.intro-subtitle{font-size:12px;color:var(--muted);margin-bottom:0}.ai-button{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);padding:11px 12px;border-radius:9px;font-size:11px;white-space:nowrap;color:var(--green)}.small-tag{background:#ecece3;border-radius:4px;padding:3px 5px;font-size:8px;color:var(--muted)}.sync-line{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin-bottom:30px;min-height:21px}.sync-line button{margin-left:auto;background:none;color:var(--green);font-size:10px;text-decoration:underline;text-underline-offset:3px}.sync-dot.conflict,.sync-dot.offline{background:#c07e46}.sync-dot.connecting,.sync-dot.pending{background:#b9a55c}.is-offline{color:#8e642e}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-toolbar .eyebrow{font-size:8px;letter-spacing:1.6px;display:block;margin-bottom:8px}.section-toolbar p{font-size:12px;color:var(--muted);margin:10px 0 0}.week-picker{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:4px}.week-picker>div{min-width:112px;text-align:center}.week-picker strong{font-size:12px;display:block;white-space:nowrap}.week-picker>div>span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.week-picker .icon-button{width:33px;height:36px}.plan-meta{gap:20px;margin-bottom:16px;font-size:10px;color:var(--muted);min-height:22px}.plan-meta,.plan-meta>span{display:flex;align-items:center}.plan-meta>span{gap:6px}.legend-dot{width:6px;height:6px;border-radius:50%;background:#78976b}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day-column{min-width:0}.day-heading{background:#eeeee5;border-radius:10px;padding:13px 10px;margin-bottom:17px;min-height:77px}.first-day .day-heading{background:var(--green);color:white}.day-heading>span{font-size:11px;display:block;margin-bottom:9px;font-weight:700}.day-heading strong{font-family:Georgia,serif;font-size:24px;line-height:1;font-weight:400}.day-heading strong span{font-family:Trebuchet MS,sans-serif;font-size:9px;margin-left:5px;opacity:.65}.day-slots{display:grid;grid-template-rows:132px 164px 220px 105px;gap:14px}.slot-label{display:block;color:#808477;font-size:8px;letter-spacing:.7px;text-transform:uppercase;margin:0 0 8px 3px}.meal-slot{min-width:0}.empty-meal{width:100%;min-height:82px;border:1px dashed #d9ddcf;border-radius:10px;background:#f9f8f3;color:#9a9f8e;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:7px;font-size:9px}.empty-meal:hover{background:#eaf0e6;color:var(--green);border-color:#a9b69e}.meal-card{border:1px solid #e2e4d8;background:var(--paper);border-radius:10px;overflow:hidden}.meal-main{display:block;text-align:left;background:none;padding:10px;width:100%}.meal-title{display:block;font-family:Georgia,serif;line-height:1.25;font-size:15px;overflow-wrap:anywhere}.meal-caption{display:block;color:var(--muted);font-size:8px;line-height:1.5;margin-top:9px}.meal-main .food-art{margin:-10px -10px 11px;width:calc(100% + 20px);height:72px;border-radius:0}.batch-note{background:#eef1e7;padding:7px;font-size:8px;color:#62724d;display:grid;gap:7px;line-height:1.4}.batch-note button,.batch-note span{display:flex;align-items:center;gap:3px}.batch-note button{background:none;color:var(--green);font-size:8px;font-weight:700;padding:2px 0;min-height:28px}.leftover-card{background:#edf2e7;border-color:#dbe3d0}.source-label{display:block;padding:0 9px 10px;font-size:8px;color:#6a7d5b;line-height:1.6}.plan-footer{border:1px solid #e2e5d7;background:#eef0e6;padding:17px 20px;gap:20px;justify-content:space-between;border-radius:12px;margin-top:6px}.plan-footer,.plan-footer>div{display:flex;align-items:center}.plan-footer>div{gap:12px;color:var(--green)}.plan-footer p{font-size:11px;margin:0}.plan-footer p span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:11px 15px;border-radius:9px;font-size:11px;font-weight:700;line-height:1.4}.primary-button{background:var(--green);color:white;border:1px solid var(--green)}.secondary-button{background:var(--paper);border:1px solid #dce0d2;color:var(--green)}.text-button{display:inline-flex;align-items:center;gap:8px;color:var(--green);background:none;padding:10px 0;font-size:10px;font-weight:700}.recipe-teaser{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:34px 0 18px}.recipe-teaser .eyebrow{font-size:8px;margin-bottom:7px}.recipe-teaser h2{font-size:24px}.teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teaser-card{display:flex;align-items:center;text-align:left;gap:12px;padding:0 12px 0 0;border:1px solid var(--line);background:var(--paper);border-radius:11px;overflow:hidden;min-width:0}.teaser-card>.food-art{width:76px;height:83px;flex-shrink:0}.teaser-card>span{min-width:0}.teaser-card strong{font-family:Georgia,serif;font-size:14px;font-weight:400;line-height:1.3;display:block}.teaser-card small{display:block;font-size:8px;color:var(--muted);margin-top:6px}.teaser-card>svg{margin-left:auto;width:15px}.food-art{height:180px;position:relative;overflow:hidden;background:#e8d5bd;display:grid;place-items:center}.plate{width:133px;height:133px;border-radius:50%;background:#f9f6e9;position:relative;border:9px solid #fffdf1;box-shadow:3px 7px 12px #33332017,inset 0 0 0 1px #d9d7c080;transform:rotate(-16deg)}.plate i{position:absolute;display:block;width:28px;height:20px;background:#d5b25c;border-radius:45% 55% 35% 55%;box-shadow:inset 2px 3px 0 #ffffff25}.plate i:first-child{left:20px;top:18px;transform:rotate(24deg);background:#809559}.plate i:nth-child(2){left:56px;top:20px;transform:rotate(72deg)}.plate i:nth-child(3){left:13px;top:46px;transform:rotate(-30deg);background:#c7764e}.plate i:nth-child(4){left:46px;top:47px;transform:rotate(-16deg);background:#d28c54}.plate i:nth-child(5){left:65px;top:68px;transform:rotate(30deg);background:#759260}.plate i:nth-child(6){left:23px;top:74px;transform:rotate(58deg)}.plate i:nth-child(7){left:62px;top:48px;width:13px;height:8px;background:#456d44}.food-leaf{position:absolute;width:18px;height:32px;border-radius:0 85% 0 85%;background:#65805a;transform:rotate(25deg);right:18%;bottom:20%}.leaf-two{width:13px;height:23px;right:13%;bottom:21%;transform:rotate(77deg);background:#8b9a6e}.compact .plate{width:76px;height:76px;border-width:5px;transform:rotate(-16deg) scale(.87)}.compact .plate i{width:17px;height:12px}.compact .plate i:first-child{left:10px;top:10px}.compact .plate i:nth-child(2){left:32px;top:11px}.compact .plate i:nth-child(3){left:8px;top:27px}.compact .plate i:nth-child(4){left:26px;top:28px}.compact .plate i:nth-child(5){left:35px;top:41px}.compact .plate i:nth-child(6){left:12px;top:43px}.compact .plate i:nth-child(7){left:37px;top:28px;width:8px;height:5px}.compact .food-leaf{width:9px;height:16px;right:9%;bottom:14%}.compact .leaf-two{right:18%;bottom:9%;height:12px}.page-footer{border-top:1px solid var(--line);margin-top:40px;padding-top:17px;gap:16px;color:#909386;font-size:8px;line-height:1.6}.page-footer,.recipe-filters{display:flex;justify-content:space-between}.recipe-filters{align-items:center;gap:15px;margin:28px 0}.search-field{display:flex;align-items:center;gap:10px;background:var(--paper);padding:0 13px;border:1px solid var(--line);border-radius:10px;min-width:220px;flex:1 1;max-width:360px;color:#89917d}.search-field input{width:100%;border:0;background:none;padding:14px 0;font-size:12px;min-height:46px}.filter-group{display:flex;gap:5px;flex-wrap:wrap}.filter-group button{background:transparent;min-height:40px;padding:10px 12px;border-radius:8px;font-size:11px;color:var(--muted)}.filter-group button.selected{background:#e3eadc;color:var(--green);font-weight:700}.selection-note{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--green);background:#eaf0e4;padding:11px 13px;border-radius:8px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.recipe-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--paper)}.recipe-picture{display:block;padding:0;position:relative;width:100%;background:none}.recipe-kind{position:absolute;left:13px;bottom:13px;background:#fffdf0e8;padding:6px 9px;border-radius:6px;font-size:8px;color:var(--green)}.recipe-content{padding:20px}.recipe-content h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin-bottom:8px;letter-spacing:-.4px}.recipe-content h3 button{background:none;padding:0;text-align:left;font:inherit}.recipe-content>p{color:var(--muted);font-size:11px;min-height:34px;margin-bottom:16px}.recipe-meta{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;color:var(--muted);line-height:1.5}.recipe-meta>span{gap:5px}.recipe-meta>span,.recipe-plan{display:flex;align-items:center}.recipe-plan{justify-content:center;gap:6px;margin-top:19px;border-top:1px solid var(--line);background:none;padding:13px 0 0;width:100%;color:var(--green);font-weight:700;font-size:11px;min-height:38px}.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start;margin-top:30px}.shopping-groups{display:grid;gap:24px}.shopping-group{border:1px solid var(--line);background:var(--paper);border-radius:13px;overflow:hidden}.shopping-group h3{display:flex;justify-content:space-between;margin:0;padding:16px 20px;background:#efefe6;font-family:Georgia,serif;font-weight:400;font-size:19px}.shopping-group h3>span{display:grid;place-items:center;border:1px solid #d7decb;font-family:Trebuchet MS,sans-serif;font-size:10px;border-radius:50%;width:24px;height:24px;color:var(--muted)}.shopping-row{gap:10px;padding:10px 15px 10px 20px;border-top:1px solid #eeeee6;min-height:71px}.check-label,.shopping-row{display:flex;align-items:center}.check-label{gap:13px;flex:1 1;cursor:pointer;position:relative;font-size:13px}.check-label input{position:absolute;opacity:0;width:23px;height:23px}.custom-check{width:23px;height:23px;border:1px solid #c7cebe;display:grid;place-items:center;border-radius:6px;flex-shrink:0}.custom-check svg{opacity:0}.check-label input:checked+.custom-check{background:var(--green);border-color:var(--green);color:white}.check-label input:checked+.custom-check svg{opacity:1}.check-label input:focus-visible+.custom-check{outline-offset:3px}.check-label small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.is-checked .check-label>span:last-child{text-decoration:line-through;color:#92988a}.delete-button{color:#999e90}.group-empty{font-size:11px;color:var(--muted);margin:0;padding:20px}.add-panel{border-radius:15px;background:#efe9dc;padding:25px}.add-panel h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:10px 0 24px;letter-spacing:-.7px}.add-panel form{display:grid;gap:15px}form label{display:grid;gap:7px;font-size:11px;color:#656e5e;font-weight:700}.pantry-row input,.pantry-row select,form input:not([type=checkbox]),form select{width:100%;border:1px solid #d9ddcf;background:var(--paper);border-radius:8px;min-height:44px;padding:11px;font-size:12px;color:var(--ink)}.add-panel .primary-button{margin-top:6px}.form-note{font-size:10px;color:var(--muted);line-height:1.8;margin:18px 0 0}.pantry-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:30px}.pantry-row,.pantry-table-heading{display:grid;grid-template-columns:1.2fr 1fr 160px;gap:24px;align-items:center;padding:17px 24px}.pantry-table-heading{background:#edeee4;font-size:10px;color:var(--muted)}.pantry-row{border-top:1px solid var(--line);min-height:89px}.pantry-row>strong{font-family:Georgia,serif;font-size:19px;font-weight:400}.pantry-row input{background:#fafbf6}.pantry-row .pantry-status{font-size:11px;font-weight:700}.pantry-status.vorhanden{background:#e9efdf;color:#4e6b3e;border-color:#d8e3ca}.pantry-status.knapp{background:#faecd7;color:#906228;border-color:#eddfc6}.pantry-status.leer{background:#f3e4dd;color:#8c5946;border-color:#e9d5ca}.mobile-label{display:none}.pantry-footnote{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:var(--muted);margin:20px 0}.feedback{display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:9px;font-size:12px;line-height:1.6;margin:15px 0}.error{background:#f5e4dc;color:#8b3f2b;border:1px solid #e8cbbf}.success{background:#e9efdf;color:var(--green);border:1px solid #d4dfc7}.conflict-card{background:#f8ead4;padding:20px;border:1px solid #e8d6b7;border-radius:12px;margin-bottom:20px}.conflict-card h3{margin-bottom:8px}.conflict-card p{font-size:12px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.empty-state,.loading-state{padding:70px 20px;text-align:center;color:var(--muted)}.empty-state>svg,.loading-state svg{color:var(--green);margin-bottom:15px}.loading-state h2{font-size:26px}.empty-state p,.loading-state p{font-size:12px;margin:15px 0}.modal{border:1px solid #e3e5d9;border-radius:22px;padding:24px 30px 30px;background:var(--paper);color:var(--ink);width:min(740px,calc(100% - 32px));max-height:calc(100dvh - 50px);box-shadow:0 25px 90px #172a2440}.modal::backdrop{background:#20382d66}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal h2{font-size:32px;margin-bottom:12px}.modal-subtitle{font-size:13px;color:var(--muted);margin-bottom:16px}.modal>p:not(.modal-subtitle):not(.form-note){font-size:13px;color:var(--muted);line-height:1.9}.recipe-details{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;margin:28px 0}.assign-form h3,.recipe-details h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin-bottom:15px}.ingredient-list{list-style:none;padding:0;margin:0;font-size:11px}.ingredient-list li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;justify-content:space-between}.ingredient-list strong{font-size:10px;font-weight:400;color:var(--muted);white-space:nowrap}.recipe-steps{padding-left:21px;color:var(--muted);font-size:11px;line-height:1.9;margin:0}.recipe-steps li{padding:0 0 13px 6px}.recipe-steps li::marker{color:var(--green);font-weight:700}.assign-form{border-top:1px solid var(--line);padding-top:23px}.form-grid{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:12px;margin:17px 0}.batch-checkbox{display:flex;align-items:center;gap:11px;margin:21px 0;cursor:pointer}.batch-checkbox input{width:20px;height:20px;accent-color:var(--green)}.batch-checkbox small{font-weight:400;display:block;margin-top:5px;color:var(--muted);line-height:1.6}.batch-quantity{max-width:250px;margin-bottom:20px}.assign-form>.primary-button{width:100%;margin-top:12px}.concept-mark{display:flex;align-items:center;gap:13px;background:#eaf0e4;border-radius:12px;padding:20px;color:var(--green);margin:22px 0}.concept-mark span{font-size:9px;letter-spacing:1px}.architecture-steps{list-style:none;padding:0;counter-reset:architecture;margin:25px 0}.architecture-steps li{counter-increment:architecture;position:relative;padding:0 0 22px 42px;font-size:12px}.architecture-steps li:before{content:counter(architecture);position:absolute;left:0;top:-4px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #c8d2bc;border-radius:50%;color:var(--green);font-family:Georgia,serif}.architecture-steps span{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:6px}@media(min-width:1550px){.main-content{padding:46px 52px}.week-grid{gap:14px}.day-slots{grid-template-rows:140px 170px 235px 110px}.meal-title{font-size:17px}.meal-caption{font-size:9px}.day-heading{padding:15px}.meal-main{padding:13px}.meal-main .food-art{margin:-13px -13px 12px;width:calc(100% + 26px);height:85px}}@media(max-width:1200px){.app-layout{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding-left:14px;padding-right:14px}.main-content{padding:32px 24px 22px}.page-intro{align-items:flex-start}.ai-button{margin-top:0;font-size:0;gap:0;padding:12px}.ai-button .small-tag{display:none}.ai-button svg{width:19px}.week-grid{gap:6px}.meal-title{font-size:13px}.meal-main{padding:8px}.meal-main .food-art{margin:-8px -8px 9px;width:calc(100% + 16px)}.day-heading{padding:11px 7px}.day-heading>span{font-size:9px}.batch-note{padding:6px}.batch-note,.batch-note button{font-size:7px}.day-slots{grid-template-rows:130px 162px 222px 105px}.recipe-grid{gap:14px}.recipe-content{padding:16px}.recipe-content h3{font-size:19px}.teaser-grid{gap:9px}.teaser-card{gap:8px;padding-right:8px}.teaser-card>.food-art{width:56px}.teaser-card>svg{display:none}.teaser-card strong{font-size:12px}.teaser-card small{font-size:7px}.shopping-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.add-panel{padding:20px}.recipe-filters{align-items:flex-start;flex-direction:column}.search-field{max-width:none;width:100%}.pantry-row,.pantry-table-heading{gap:14px;padding-left:18px;padding-right:18px;grid-template-columns:1fr 1fr 130px}}@media(max-width:960px){.app-layout{grid-template-columns:1fr}.sidebar{border-right:0;min-height:0;padding:12px 24px 0}.sidebar nav{display:flex;gap:9px;border-bottom:1px solid var(--line);padding-bottom:12px}.sidebar .nav-button{flex:1 1;justify-content:center;min-height:45px}.sidebar-bottom,.sidebar-label,.sidebar-note{display:none}.topbar{padding:0 24px;height:76px}.main-content{padding-top:29px}.week-grid{gap:10px}.day-heading>span{font-size:10px}.meal-title{font-size:14px}.slot-label{font-size:7px;letter-spacing:.4px}.page-intro .eyebrow{font-size:8px}.recipe-content h3{font-size:21px}}@media(min-width:601px) and (max-width:780px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 12px}.day-slots{grid-template-rows:120px 135px 206px 105px}.day-heading>span{font-size:12px}.meal-title{font-size:16px}.batch-note,.batch-note button,.meal-caption{font-size:9px}.slot-label{font-size:8px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-layout{grid-template-columns:minmax(0,1fr) 225px}.plan-footer{margin-top:20px}.teaser-grid{grid-template-columns:1fr}.teaser-card>.food-art{width:75px;height:72px}.teaser-card strong{font-size:16px}.teaser-card small{font-size:10px}.pantry-row,.pantry-table-heading{grid-template-columns:1fr 1fr 125px;gap:12px}}@media(max-width:600px){.topbar{height:72px;padding:0 19px;gap:8px;flex-wrap:wrap}.brand{font-size:25px;letter-spacing:-1px}.brand-mark{width:31px;height:31px;margin-right:8px}.brand-mark svg{width:21px}.environment{font-size:0;gap:0}.env-dot{display:none}.demo-tag{font-size:9px;margin:0;padding:6px 7px}.help-button{width:32px;height:38px}.sidebar{padding:0}.sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--paper);border-top:1px solid #d9decf;border-bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:7px 7px max(8px,env(safe-area-inset-bottom));box-shadow:0 -3px 20px #2b3f3010}.sidebar .nav-button{padding:8px 4px;display:flex;flex-direction:column;gap:5px;min-height:55px;border-radius:10px;font-size:10px;position:relative}.sidebar .nav-button.active{background:#e7edde;color:var(--green);box-shadow:none}.nav-count{position:absolute;top:3px;right:18px;font-size:8px;min-width:16px;padding:2px 4px;background:#d4dfc8}.main-content{padding:29px 19px 110px}.page-intro{gap:10px;margin-bottom:15px}.page-intro .eyebrow{font-size:7px;letter-spacing:1.15px;margin-bottom:12px}h1{font-size:34px;max-width:340px;line-height:1.14;letter-spacing:-1.25px}.intro-subtitle{font-size:11px;line-height:1.8;max-width:280px}.ai-button{margin-top:26px;min-height:44px;min-width:43px;padding:11px}.sync-line{font-size:9px;align-items:flex-start;margin-bottom:28px;line-height:1.6;flex-wrap:wrap}.sync-line .sync-dot{margin-top:4px}.sync-line button{font-size:9px;min-height:30px;margin-left:12px;padding:0}.section-toolbar{gap:15px;align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}.section-toolbar h2{font-size:29px}.section-toolbar .eyebrow{font-size:7px}.week-picker{width:100%;justify-content:space-between;padding:4px 8px}.week-picker>div{display:flex;gap:13px;align-items:center;flex-wrap:wrap;justify-content:center}.week-picker>div>span{margin:0;font-size:10px}.week-picker strong{font-size:13px}.week-picker .icon-button{width:43px;height:40px}.plan-meta{gap:10px 16px;flex-wrap:wrap;font-size:9px;margin-bottom:21px}.plan-meta>span:nth-child(2){font-size:8px}.week-grid{display:flex;flex-direction:column;gap:22px}.day-column{border:1px solid var(--line);border-radius:14px;background:#fcfbf6;padding:14px}.day-heading{display:flex;align-items:center;justify-content:space-between;padding:0 0 13px;margin:0 0 14px;min-height:0;border-bottom:1px solid var(--line);border-radius:0;background:none}.day-heading>span{margin:0;font-family:Georgia,serif;font-size:23px;font-weight:400;letter-spacing:-.4px}.day-heading strong{font-size:23px}.day-heading strong span{font-size:10px;margin-left:7px}.first-day .day-heading{background:none;color:var(--green)}.first-day{border-color:#bbc8ad;background:#f3f5ec}.day-slots{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:17px 12px;align-items:start}.slot-label{font-size:8px;margin-bottom:7px;letter-spacing:.5px}.empty-meal{min-height:75px;font-size:10px;flex-direction:row;gap:5px}.meal-title{font-size:17px;overflow-wrap:normal}.meal-main{padding:11px}.meal-caption{font-size:9px;margin-top:8px}.meal-main .food-art{margin:-11px -11px 10px;width:calc(100% + 22px);height:77px}.batch-note{font-size:9px;padding:9px}.batch-note button{font-size:9px;min-height:38px;line-height:1.6}.source-label{font-size:9px;padding:0 11px 11px}.plan-footer{margin-top:23px;padding:18px;flex-direction:column;align-items:stretch;gap:17px}.plan-footer>div{align-items:flex-start;gap:10px}.plan-footer p{font-size:12px}.plan-footer p span{font-size:10px;line-height:1.8}.plan-footer svg{margin-top:3px}.plan-footer .secondary-button{font-size:11px;width:100%;min-height:46px}.recipe-teaser{margin:31px 0 18px;align-items:flex-start;flex-direction:column;gap:5px}.recipe-teaser h2{font-size:26px}.recipe-teaser .text-button{font-size:11px;min-height:40px}.teaser-grid{grid-template-columns:1fr;gap:11px}.teaser-card>.food-art{width:88px;height:84px}.teaser-card{gap:17px;padding-right:16px}.teaser-card strong{font-size:18px}.teaser-card small{font-size:10px;margin-top:8px}.teaser-card>svg{display:block}.page-footer{flex-direction:column;gap:7px;font-size:8px;margin-top:32px;line-height:1.8}.selection-note{font-size:10px;line-height:1.6}.recipe-filters{margin:23px 0;gap:13px}.filter-group{gap:4px;width:100%;display:grid;grid-template-columns:repeat(2,1fr)}.filter-group button{font-size:11px;min-height:43px;border:1px solid var(--line)}.recipe-grid{grid-template-columns:1fr;gap:21px}.recipe-card .food-art{height:190px}.recipe-content{padding:22px}.recipe-content h3{font-size:26px}.recipe-content>p{font-size:12px;min-height:0}.recipe-meta{font-size:11px;gap:12px}.recipe-plan{min-height:45px;font-size:12px}.shopping-layout{display:flex;flex-direction:column-reverse;gap:24px;margin-top:23px}.shopping-groups{width:100%;gap:19px}.add-panel{width:100%;padding:20px}.add-panel h3{font-size:27px;margin-bottom:18px}.add-panel form{grid-template-columns:1fr 1fr;gap:13px}.add-panel form label:first-child{grid-column:1/-1}.add-panel form .primary-button{grid-column:1/-1;min-height:46px}.add-panel .form-note{font-size:9px;margin-top:15px}.shopping-group h3{font-size:20px;padding:16px}.shopping-row{padding:10px 11px 10px 16px}.check-label{font-size:14px;gap:11px}.check-label small{font-size:11px}.shopping-row .icon-button{width:44px;height:44px}.pantry-panel{margin-top:20px}.pantry-table-heading{display:none}.pantry-row{grid-template-columns:minmax(0,1fr) 130px;gap:13px;padding:20px 16px;align-items:start}.pantry-row>strong{grid-column:1/-1;font-size:22px}.mobile-label{display:block;font-size:8px;color:var(--muted);margin-bottom:7px}.pantry-status{margin-top:17px}.pantry-footnote{font-size:10px;line-height:1.9;gap:9px}.pantry-footnote svg{margin-top:5px}.modal{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:16px 20px 25px;border-radius:18px}.modal h2{font-size:28px}.modal-heading{margin-bottom:11px}.modal .eyebrow{font-size:8px}.recipe-details{grid-template-columns:1fr;gap:23px;margin:23px 0}.ingredient-list,.recipe-steps{font-size:12px}.ingredient-list strong{font-size:11px}.ingredient-list li{padding:11px 0}.recipe-steps{line-height:1.9}.assign-form h3,.recipe-details h3{font-size:24px}.form-grid{grid-template-columns:1fr 1fr;gap:15px}.form-grid>label:first-child{grid-column:1/-1}form label{font-size:11px}form input:not([type=checkbox]),form select{font-size:14px;min-height:47px}.batch-checkbox{align-items:flex-start}.batch-checkbox input{margin-top:2px;flex-shrink:0}.batch-checkbox small{font-size:11px}.batch-quantity{max-width:none}.assign-form>.primary-button{min-height:48px}.architecture-steps li{font-size:13px}.architecture-steps span{font-size:12px}.concept-mark{padding:17px}.concept-mark span{font-size:8px;line-height:1.7}.modal>.primary-button{font-size:11px;width:100%;line-height:1.7}.feedback{font-size:11px;padding:12px}.conflict-card{padding:17px}.button-row{display:grid;grid-template-columns:1fr}.button-row button{min-height:46px}}.pantry-conflict{grid-column:1/-1;background:#fff2dc;border:1px solid #dec7a4;border-radius:12px;padding:16px;font-size:13px}.pantry-conflict p{margin-bottom:12px}.check-label{min-height:44px}.check-label input{z-index:1;width:44px;height:44px;left:-10px;top:50%;margin:0;transform:translateY(-50%);scroll-margin-block:110px}.custom-check,.custom-check svg{pointer-events:none}.check-label input:focus-visible+.custom-check{outline:3px solid #be7d45;outline-offset:4px}.sidebar nav .nav-button.active,.sidebar nav .nav-button.active:hover{background:var(--green);color:var(--paper)}.batch-note,.batch-note button,.meal-caption,.source-label{font-size:11px;line-height:1.45}.slot-label{font-size:10px;letter-spacing:.5px}.batch-note button{min-height:42px;padding-top:8px;padding-bottom:8px;text-align:left}.day-slots{grid-template-rows:140px 180px 270px 140px}@media(min-width:601px) and (max-width:1200px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.day-column{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px}.day-heading{display:flex;align-items:center;justify-content:space-between;padding:12px;margin-bottom:18px}.day-heading>span{font-size:18px}.day-heading>strong{font-size:25px}.day-heading>strong span{font-size:12px}.day-slots{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:20px 14px}.meal-slot{min-width:0}.meal-title{font-size:17px}.batch-note,.batch-note button,.meal-caption,.source-label{font-size:12px}.meal-main{min-height:108px;padding:12px}.meal-main .food-art{margin:-12px -12px 12px;width:calc(100% + 24px);height:80px}.empty-meal{min-height:108px}.slot-label{font-size:10px}.source-label{display:block;overflow-wrap:anywhere}}@media(max-width:600px){.day-slots{grid-template-rows:auto}.batch-note,.batch-note button,.meal-caption,.source-label{font-size:11px}.slot-label{font-size:9px}}@media(prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.pantry-add-panel{padding:24px;background:var(--sage);border:1px solid #d9e1d3;border-radius:14px}.pantry-add-panel h3{font-size:21px;margin-bottom:7px;font-family:Georgia,serif;font-weight:400}.pantry-add-panel>p{font-size:13px;color:var(--muted);margin-bottom:20px}.pantry-add-fields{border:0;margin:0;padding:0;display:grid;grid-template-columns:1.5fr .8fr 1fr 1fr;align-items:end;gap:14px}.pantry-add-fields label,.pantry-quantity-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;min-width:0}.pantry-add-fields .primary-button{grid-column:1/-1;justify-self:start;min-height:44px}.pantry-add-panel .form-note{margin-bottom:0;line-height:1.7}.pantry-row,.pantry-table-heading{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 145px}.pantry-item-name{min-width:0;overflow-wrap:anywhere}.pantry-item-name strong{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400}.pantry-item-name small{display:block;font-size:12px;line-height:1.7;color:var(--muted);margin-top:6px}.pantry-quantity-fields{display:grid;grid-template-columns:minmax(70px,.85fr) minmax(130px,1fr);gap:10px;min-width:0}.pantry-input-error{grid-column:1/-1;color:#8c3d29;margin:0;font-size:12px;line-height:1.7}@media(max-width:1200px){.pantry-add-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-row,.pantry-table-heading{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) 125px;gap:14px}}@media(max-width:600px){.pantry-add-panel{padding:20px 16px}.pantry-add-fields{gap:16px 12px}.pantry-name{grid-column:1/-1}.pantry-add-fields .primary-button{width:100%;justify-content:center}.pantry-add-fields input,.pantry-add-fields select,.pantry-row input,.pantry-row select{font-size:16px;min-height:46px}.pantry-row{grid-template-columns:minmax(0,1fr);gap:16px}.pantry-quantity-fields{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.pantry-row .pantry-status{margin-top:0;width:100%}.pantry-item-name strong{font-size:22px}}