:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1d302a;background:#f4f6f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#2e6a55;color:#fff;border:0;border-radius:11px;padding:12px 17px;font-weight:600}button:hover{filter:brightness(.96)}button.quiet,.quiet{background:#e9efe9;color:#2e5e4c}button.text-button{background:none;color:#2c6d54;padding:5px 0;text-align:left;font-size:.88rem}header{background:#2d6652;color:white;padding:22px 0 25px}.wrap{width:min(1150px,calc(100% - 36px));margin:auto}.head{display:flex;align-items:center;justify-content:space-between}.head small{letter-spacing:2px;opacity:.8;font-size:.7rem}.head h1{font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);margin:4px 0}.hidden{display:none!important}main{padding:24px 0 45px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs button{background:#e5eee7;color:#27513f;font-weight:500}.tabs button.active{background:#2c6852;color:white}.panel{background:white;border:1px solid #dce6db;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 6px 20px #123b2410}.bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.bar h2{margin:3px 0 0}h2{font-family:Georgia,serif;font-size:1.7rem}h3{margin:0 0 10px}p{line-height:1.55}.hint{color:#6d7d72;font-size:.86rem}.eyebrow{letter-spacing:1.7px;font-size:.7rem;font-weight:800}.green{color:#5b886c}.switch{display:flex;gap:7px;background:#f0f3ed;border-radius:12px;padding:4px}.switch button{background:transparent;color:#315b49;padding:9px 14px}.switch button.active{background:#2c6852;color:white}.planning-people{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px;background:#f3f7f2;border-radius:14px;margin:16px 0}.planning-people p{margin:4px 0 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.pill,.tag{display:inline-flex;align-items:center;gap:6px;background:#e5eee6;padding:8px 11px;border-radius:20px;font-size:.84rem;color:#285841}.pill input{accent-color:#2d7355}.datebar{display:flex;justify-content:flex-end;margin:15px 0}.datebar label{display:flex;align-items:center;gap:9px}.day-card{border-top:1px solid #dce7df;padding:20px 0}.day-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.day-heading h3{font-family:Georgia,serif;font-size:1.5rem;margin:0}.day-heading span{color:#6c8874}.meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal-card{border:1px solid #e1e9de;border-radius:15px;padding:14px;background:#f9fbf7;min-width:0}.meal-title{font-weight:800;margin-bottom:10px;color:#345947}.meal-visual{display:flex;gap:12px;align-items:center;margin-bottom:12px}.meal-visual img,.meal-visual .photo-placeholder{width:90px;height:85px;object-fit:cover;border-radius:12px;flex-shrink:0}.meal-visual small{display:block;color:#718275;margin:6px 0}.photo-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#d9e8c9,#f3e4c7);font-size:2rem}.meal-card select{width:100%;margin-bottom:10px}.meal-card .pill{padding:6px 8px;font-size:.76rem}.person-facts{display:grid;gap:5px;margin-top:10px;font-size:.85rem}.warning{display:block;color:#9d5119;background:#fff1d9;border-radius:8px;padding:7px;margin-top:7px;font-size:.84rem}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:18px}.filters label{font-size:.78rem;color:#5c7464;min-width:125px}.filters .grow{flex:2;min-width:190px}.filters input,.filters select{margin-top:6px}.recipe-list{display:grid;gap:12px}.recipe-row{display:flex;align-items:center;gap:18px;border:1px solid #dfe7db;border-radius:16px;padding:12px;cursor:pointer;background:#fff;transition:box-shadow .15s,transform .15s}.recipe-row:hover{box-shadow:0 8px 22px #143b2317;transform:translateY(-1px)}.recipe-thumb{width:152px;height:118px;flex-shrink:0}.recipe-thumb img,.recipe-thumb .photo-placeholder{width:100%;height:100%;object-fit:cover;border-radius:12px}.recipe-info{flex:1}.recipe-info h3{font-family:Georgia,serif;font-size:1.25rem;margin:0}.recipe-info p{margin:8px 0;color:#69796e;font-size:.88rem}.facts{display:flex;gap:9px;flex-wrap:wrap}.facts span{background:#eff5ed;border-radius:8px;padding:6px 9px;color:#32634a;font-size:.8rem;font-weight:700}.dots{background:#edf3ed;color:#41644d;font-size:1.7rem;padding:1px 13px}.form{display:grid;gap:17px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{font-size:.9rem;font-weight:600}input,select,textarea{border:1px solid #cbd9cf;border-radius:10px;padding:11px 12px;background:white;color:#1f3028;max-width:100%;outline-color:#46836b}label>input,label>select,label>textarea{display:block;width:100%;margin-top:7px}textarea{width:100%;resize:vertical}.subpanel{background:#f8faf7;padding:17px;border-radius:14px;border:1px solid #e0e9df}.subpanel input{max-width:390px;width:100%}.subpanel .chips{margin:10px 0}.tag{border:0;font-weight:500}.check{display:flex;gap:8px;align-items:center}.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.person-card{padding:18px;border:1px solid #e0e9dd;border-radius:14px;background:#f9fbf8}.actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:15px}.ingredient-head,.ingredient-row{display:grid;grid-template-columns:110px 105px minmax(0,1fr) 42px;gap:9px;align-items:center;margin:8px 0}.ingredient-head{text-align:center;font-weight:700;font-size:.83rem;color:#5d7664}.ingredient-row input,.ingredient-row select{width:100%}.ingredient-row button{padding:9px}.shopping-item{display:block;padding:10px;border-bottom:1px solid #e7eee7}.status{text-align:right;color:#5c7d67;font-size:.82rem;margin-top:10px}.notice{background:#fff2d8;border:1px solid #f0dfb6;padding:14px;border-radius:12px;margin-bottom:16px}.file-label{background:#2e6a55;color:#fff;border-radius:10px;padding:12px 16px;cursor:pointer}.file-label input{display:none}dialog{border:0;border-radius:20px;box-shadow:0 20px 80px #102f2459;max-width:min(800px,95vw);max-height:90vh;overflow:auto;padding:0;width:100%}dialog::backdrop{background:#112b248a}#recipeEditor{padding:25px;max-width:880px}.modalhead{display:flex;justify-content:space-between;align-items:center}.close-dialog{position:sticky;float:right;bottom:12px;margin:0 12px 12px 0;border-radius:50%;padding:10px 15px}.detail-hero{height:250px;background:#dce9d9}.detail-hero img,.detail-hero .photo-placeholder{width:100%;height:100%;object-fit:cover}.detail-content{padding:26px}.detail-content h2{margin:6px 0}.detail-content h3{font-family:Georgia,serif;margin:26px 0 12px}.quantity{display:grid;gap:10px;background:#f3f7f2;padding:16px;border-radius:13px}.quantity .switch{justify-self:start}.amountline{display:flex;gap:12px;align-items:center}.amountline input{width:115px}.nut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.nut-grid>div{background:#eef4eb;padding:14px;border-radius:12px;display:grid;gap:8px}.nut-grid small{color:#667d6b}.nut-grid strong{font-size:1.3rem}.ingline{display:flex;justify-content:space-between;gap:20px;padding:11px 3px;border-bottom:1px solid #e7ede5}.steps{counter-reset:step;list-style:none;padding:0}.steps li{position:relative;margin:0 0 15px;padding:14px 15px 14px 58px;border-radius:12px;background:#f8faf6;line-height:1.65}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:13px;top:14px;width:30px;height:30px;border-radius:50%;background:#d9e9d9;color:#255b42;display:grid;place-items:center;font-weight:800}@media(max-width:720px){.wrap{width:calc(100% - 22px)}.panel{padding:15px}.meal-grid,.formgrid{grid-template-columns:1fr}.planning-people{display:block}.recipe-thumb{width:100px;height:105px}.recipe-row{gap:10px}.recipe-info h3{font-size:1rem}.nut-grid{grid-template-columns:repeat(2,1fr)}.ingredient-head,.ingredient-row{grid-template-columns:76px 75px minmax(0,1fr) 32px;gap:4px}.ingredient-row input,.ingredient-row select{padding:8px 4px}.bar{align-items:flex-start;flex-wrap:wrap}.detail-content{padding:15px}.detail-hero{height:180px}}

.pantry-box{margin:18px 0;padding:18px;border:1px solid #d7e5d9;border-radius:16px;background:#f3f8f2}.pantry-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.pantry-header h3{margin:0 0 5px}.pantry-header p{margin:0 0 12px}.pantry-input{display:flex;gap:8px;margin:12px 0}.pantry-input input{flex:1;min-width:0}.pantry-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:100px;background:#dbe9df;font-size:.9rem}.pantry-chip button{border:0;background:transparent;color:#245d4a;cursor:pointer;padding:0 3px;font-size:1.2rem}.pantry-result{display:flex;flex-direction:column;gap:3px;margin:7px 0;color:#245d4a}.pantry-result small{color:#53665b;font-weight:normal}.pantry-box .check{margin-top:12px}@media(max-width:600px){.pantry-header{flex-direction:column}.pantry-input{flex-direction:column}}

/* Einkaufsliste 2.4 */
.shopping-heading,.shop-line{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.shopping-heading{margin-bottom:20px}.shopping-heading h2{margin:6px 0}.shopping-settings{display:grid;gap:17px}.shopping-section{padding:19px;border:1px solid #e0e8de;border-radius:17px;background:#f8faf7}.shopping-section h3,.shopping-output h3{font-family:Georgia,serif;color:#2c5543;font-size:1.2rem;margin:0 0 7px}.shopping-section .hint{margin:4px 0 14px}.shop-controls{display:flex;gap:15px;flex-wrap:wrap}.shop-controls label{min-width:180px}.shopping-people{display:flex;gap:10px;flex-wrap:wrap}.shop-person{display:flex;align-items:center;gap:12px;padding:10px 13px;background:#fff;border:1px solid #dae7db;border-radius:13px}.shop-portion{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#647768}.shop-portion input{width:76px;padding:8px}.shop-actions{display:flex;gap:7px}.shop-actions button{padding:9px 11px;font-size:.8rem}.shopping-days{display:grid;gap:13px}.shop-day{background:#fff;border:1px solid #e0e9de;border-radius:14px;padding:14px}.shop-day-title{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.shop-meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-meal{padding:13px;background:#f3f7f2;border:1px solid #e1eade;border-radius:12px}.shop-meal.shop-muted{opacity:.58}.shop-meal-check{display:flex;align-items:center;gap:8px;color:#2a5844;font-weight:800}.shop-meal-check input,.shop-meal-person input{accent-color:#2c7054}.shop-recipe{font-size:.85rem;color:#5e7263;margin:7px 0 10px}.shop-meal-persons{display:grid;gap:7px}.shop-meal-person{display:flex;align-items:center;justify-content:space-between;gap:8px}.shop-meal-person label{font-size:.82rem}.shop-factor{display:flex;align-items:center;gap:5px}.shop-factor input{width:75px;padding:6px}.shopping-output{margin-top:20px;padding:20px;border-radius:17px;background:#edf5eb}.shopping-items{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shopping-item{display:flex;align-items:center;gap:11px;background:white;border:1px solid #dae7d9;border-radius:10px;padding:12px}.shopping-item input{accent-color:#2c7054}.shopping-item:has(input:checked) span{text-decoration:line-through;color:#819187}.shop-empty{grid-column:1/-1;padding:20px;background:white;border-radius:12px;color:#607567}@media(max-width:720px){.shop-meal-grid,.shopping-items{grid-template-columns:1fr}.shopping-section,.shopping-output{padding:12px}.shop-person{width:100%;justify-content:space-between}}

/* Zutatenverwaltung */
.ingredient-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.ingredient-tools input{flex:1;min-width:210px}.food-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line,#e6e8e8)}.food-card small{display:block;color:#64748b;margin-top:4px}.food-macros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.food-macros label{display:block}.food-macros input{width:100%}.barcode-video{max-width:100%;width:380px;border-radius:16px;margin:12px 0}@media(max-width:650px){.food-card{align-items:flex-start;flex-direction:column}.food-macros{grid-template-columns:1fr}}

/* Optional recipe-specific ingredient mass; stack on narrow screens. */
.ingredient-row{grid-template-columns:100px 95px minmax(120px,1fr) minmax(125px,0.8fr) 42px}.ingredient-row [data-field="gramsOverride"]{font-size:.85rem}@media(max-width:720px){.ingredient-row{grid-template-columns:75px 75px minmax(0,1fr) 32px}.ingredient-row [data-field="gramsOverride"]{grid-column:1 / -2}.ingredient-row [data-remove-ing]{grid-column:4;grid-row:1}}
