/* Menubrias: cocina legible, preparación semanal y acceso móvil. */
.taste-check{display:flex;align-items:center;gap:.65rem;color:#294c39;font-size:.9rem;line-height:1.5;flex-wrap:wrap;cursor:pointer}.taste-check input{width:1.15rem;height:1.15rem;accent-color:#365b45;flex:0 0 auto}.taste-check small{color:#626a63;font-weight:400}.meal-controls .taste-check{flex-basis:100%;margin:.6rem 0 .15rem}.cook-recipe-actions{padding:1.25rem 0;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;border-top:1px solid #e0e7dd}.cook-dialog{box-sizing:border-box;width:min(1180px,96vw);max-height:95dvh;border:1px solid #d4ded4;border-radius:22px;padding:0;color:#202a24;background:#fff}.cook-dialog::backdrop{background:#14251b9e}.cook-header{position:sticky;top:0;z-index:4;background:#fff;padding:1.2rem 1.8rem;border-bottom:1px solid #e1e8df}.cook-header h2{font-family:Georgia,serif;font-weight:400;font-size:1.8rem;margin:.45rem 2.2rem 0 0;line-height:1.2}.cook-close{position:absolute;right:1.2rem;top:1rem;border:1px solid #cfdacd;background:#fff;color:#294c39;padding:.6rem 1rem;border-radius:9px;cursor:pointer}.cook-layout{display:grid;grid-template-columns:280px minmax(0,1fr)}.cook-ingredients{position:sticky;top:0;align-self:start;max-height:75dvh;overflow:auto;padding:1.5rem;background:#f5f7f1;box-sizing:border-box}.cook-ingredients h3{margin-top:0;font-size:1.1rem}.cook-ingredients ul{list-style:none;padding:0;margin:0}.cook-ingredients li{padding:.7rem 0;border-bottom:1px solid #dce5d6;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.cook-main{padding:1.5rem 2rem 2rem;min-width:0}.cook-progress{font-size:.85rem;color:#527058;text-transform:uppercase;letter-spacing:.08em}.cook-photo{display:block;width:100%;height:250px;object-fit:cover;border-radius:12px;background:#f2f1e9}.cook-caption{font-size:.78rem;line-height:1.45;color:#60675e;margin:.6rem 0 1.4rem}.cook-step{font-size:1.55rem;line-height:1.65;margin:1.2rem 0;overflow-wrap:anywhere}.cook-large .cook-step{font-size:1.9rem}.cook-step:focus{outline:2px solid #648265;outline-offset:8px}.cook-navigation,.cook-utilities,.batch-tools,.offline-tools{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.cook-navigation{justify-content:space-between;margin:1.5rem 0}.cook-safety,.cook-storage{font-size:.85rem;line-height:1.6;color:#566052}.cook-storage{background:#f5f7f1;padding:1rem;border-radius:10px}.cook-timer{padding:1rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;background:#f6f3e9;border-radius:12px}.timer-display{font-variant-numeric:tabular-nums;font-size:2rem;min-width:110px;color:#294c39}.timer-label{font-size:.85rem;display:flex;gap:.5rem;align-items:center}.timer-label input{width:70px;padding:.6rem;border:1px solid #b8c8b5;border-radius:6px}.cook-timer .btn{font-size:.85rem;padding:.55rem .8rem}.timer-badge{position:fixed;right:1rem;bottom:1rem;z-index:90;background:#294c39;color:white;border:0;border-radius:30px;padding:1rem 1.4rem;box-shadow:0 5px 25px #132a2226;cursor:pointer}.timer-badge[hidden]{display:none}.v28-status{position:fixed;bottom:5rem;right:1rem;max-width:330px;background:#fff;box-shadow:0 5px 20px #18261d24;z-index:100;padding:1rem;border:1px solid #d9e4d4;border-radius:12px;font-size:.9rem;line-height:1.5}.v28-status:empty{display:none}.v28-status.is-error{border-color:#ac6f53;color:#733b2c}.batch-panel{margin:2rem 0;padding:2rem;border:1px solid #dce5d8;border-radius:22px;background:#fbfcf8}.batch-panel[hidden]{display:none}.batch-panel h2,.offline-panel h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.2;letter-spacing:-.02em}.batch-tools{margin:1.5rem 0}.batch-tools select{margin-left:.6rem;padding:.6rem;border:1px solid #bdccbb;border-radius:8px;background:white}.batch-safety{border-left:3px solid #6a8665;padding:1rem 1.2rem;background:#eff4e9;font-size:.9rem;line-height:1.65;margin:1.5rem 0}.batch-session{background:white;border:1px solid #e0e6db;border-radius:15px;padding:1.5rem;margin-top:1.2rem}.batch-session h3{font-size:1.3rem;margin-top:0}.batch-session p{font-size:.9rem;line-height:1.65}.batch-shared{background:#f6f4ec;padding:.8rem 1rem;border-radius:9px}.batch-portions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.batch-portion{border-top:1px solid #dce5d8;padding:1.1rem 0}.batch-portion h4{font-size:1.05rem;margin:.6rem 0}.batch-badge{font-size:.75rem;letter-spacing:.03em;background:#edf3e7;color:#365b45;display:inline-block;padding:.4rem .65rem;border-radius:20px}.batch-portion summary,.batch-sources summary{cursor:pointer;color:#365b45;font-size:.9rem;line-height:1.6}.batch-portion details .btn{font-size:.85rem;padding:.6rem .8rem}.batch-sources{margin-top:1.5rem}.batch-sources a{display:block;margin:.65rem 0;color:#365b45}.offline-panel{box-sizing:border-box;max-width:1160px;margin:3rem auto;padding:2.5rem;background:#f4f6ef;border:1px solid #dce4d7;border-radius:22px}.offline-panel p{line-height:1.7;font-size:.95rem;max-width:900px}.offline-panel .taste-check{margin:1.5rem 0}.offline-panel .offline-tools{margin-bottom:1rem}.offline-page{margin:0;color:#24372a;background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}.offline-page *{box-sizing:border-box}.offline-page header{max-width:1080px;margin:auto;padding:1.5rem 1.5rem;border-bottom:1px solid #e0e7da;display:flex;justify-content:space-between;align-items:center}.offline-brand{color:#294c39;font-family:Georgia,serif;font-size:1.8rem;text-decoration:none}.offline-page header span{font-size:.7rem;letter-spacing:.12em}.offline-page main{max-width:1000px;margin:3rem auto;padding:0 1.5rem 4rem}.offline-page h1{font-family:Georgia,serif;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.12;letter-spacing:-.035em;font-weight:400}.offline-page .eyebrow{font-size:.75rem;letter-spacing:.1em;color:#51704c}.offline-page .btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.2rem;text-decoration:none;border-radius:8px;border:1px solid #365b45;cursor:pointer;font:inherit;font-size:.9rem;background:#fff;color:#365b45}.offline-page .btn-primary{background:#365b45;color:white}.offline-page .offline-tools{margin:1.2rem 0}.offline-page .small{font-size:.83rem;color:#5e6b5c;margin-top:2.5rem}.offline-groceries{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.offline-grocery{display:flex;align-items:center;gap:.7rem;padding:1rem;border:1px solid #dde5d7;border-radius:10px;cursor:pointer}.offline-grocery strong{margin-left:auto;font-size:.9rem;white-space:nowrap}.offline-grocery input{width:1.2rem;height:1.2rem;accent-color:#365b45}.offline-grocery:has(input:checked){background:#f0f4eb;color:#677262}.offline-recipe{border:1px solid #dce4d7;border-radius:12px;padding:1.2rem;margin:1rem 0}.offline-recipe summary{font-size:1.1rem;cursor:pointer;font-weight:600}.offline-recipe li{margin:.7rem 0}.offline-recipe-image{width:min(100%,600px);max-height:300px;object-fit:cover;border-radius:10px;margin-top:1rem}.offline-page button:focus-visible,.offline-page a:focus-visible,.offline-page input:focus-visible,.cook-dialog button:focus-visible{outline:3px solid #658958;outline-offset:3px}
@media(max-width:700px){.cook-dialog{width:100vw;max-height:100dvh;height:100dvh;margin:0;border-radius:0;border:0}.cook-header{padding:1rem}.cook-header h2{font-size:1.35rem}.cook-layout{display:flex;flex-direction:column}.cook-ingredients{position:sticky;top:0;z-index:3;width:100%;max-height:24dvh;padding:.7rem 1rem;border-bottom:1px solid #d7e0d0}.cook-ingredients h3{font-size:.85rem;margin:.2rem 0}.cook-ingredients ul{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}.cook-ingredients li{font-size:.8rem;padding:.4rem 0}.cook-main{padding:1rem}.cook-step{font-size:1.25rem;line-height:1.7}.cook-large .cook-step{font-size:1.55rem}.cook-photo{height:190px}.cook-timer{padding:.8rem}.cook-timer .btn{flex:1 1 25%;min-height:44px}.cook-navigation .btn{padding:.8rem}.batch-panel{padding:1.1rem;border-radius:14px}.batch-portions{grid-template-columns:1fr}.batch-session{padding:1rem}.offline-panel{margin:2rem 1rem;padding:1.4rem}.offline-panel h2,.batch-panel h2{font-size:1.7rem}.offline-tools>.btn{flex:1 1 45%;text-align:center;min-height:44px}.offline-groceries{grid-template-columns:1fr}.v28-status{left:1rem;right:1rem;max-width:none;bottom:5rem}.batch-panel p{overflow-wrap:anywhere}.timer-badge{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.cook-dialog *,.offline-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.cook-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.cook-header{position:relative;flex:0 0 auto}.cook-layout{overflow:auto;min-height:0;flex:1 1 auto}.cook-ingredients{top:0}.cook-main{overflow-wrap:anywhere}@media(max-width:700px){.cook-layout{display:block}.cook-ingredients{top:0;position:sticky}.cook-main{padding-top:.5rem}}

.nutrition-method-details{margin:1rem 0;border:1px solid #dde5d7;border-radius:12px;padding:1rem 1.25rem}.nutrition-method-details>summary{color:#365b45;cursor:pointer;font-size:.9rem;font-weight:600}.nutrition-method-details .v15-menu-audit{margin:1rem 0 0}.offline-page footer{max-width:1000px;margin:auto;padding:1.5rem;border-top:1px solid #e1e6dc}

@media(max-width:700px){.results-header{display:block}.results-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;width:100%;margin-top:1rem}.results-actions>.btn{min-width:0;width:100%;white-space:normal;min-height:48px;padding:.75rem .6rem}.results{min-width:0}.stats-grid{min-width:0}.meal-controls{flex-wrap:wrap}.meal-controls>.swap-btn{white-space:normal;min-width:0}}

@media(max-width:700px){.cook-dialog{max-width:100vw;max-height:100dvh}.cook-header h2{margin-right:0;padding-right:5.1rem}.cook-timer>.btn{flex:1 1 calc(50% - .5rem);min-height:44px;white-space:normal}.cook-ingredients{max-height:26dvh}}

.offline-food-photo{display:inline-block;width:44px;height:44px;flex:0 0 44px;background-size:440% 440%;border-radius:8px;background-color:#f5f2e9}.offline-grocery>span:not(.offline-food-photo){min-width:0;overflow-wrap:anywhere}

@media(max-width:700px){.cook-dialog{width:100%;max-width:100%}}

.offline-food-name{display:flex;flex-direction:column;gap:.25rem}.offline-food-name small{font-size:.7rem;line-height:1.4;color:#5c695b}.offline-grocery{align-items:flex-start}.offline-grocery>input{margin-top:.7rem}.offline-grocery>strong{padding-top:.6rem}
