:root{--fond:#faf8f3;--surface:#fff;--texte:#24302a;--discret:#66736c;--bordure:#dedad0;--accent:#2f6b4f;--accent-fonce:#245540;--erreur:#a3352b;color:var(--texte);background:var(--fond);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{background:var(--fond);min-height:100dvh;margin:0}h1{margin:0 0 .25rem;font-size:1.6rem}.discret{color:var(--discret)}.erreur{color:var(--erreur)}.centre{place-items:center;min-height:100dvh;padding:1rem;display:grid}.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:14px;flex-direction:column;width:100%;min-width:0;max-width:24rem;padding:1.75rem;display:flex}.carte p{margin:0 0 .5rem}label{margin-top:.9rem;margin-bottom:.3rem;font-size:.9rem;font-weight:600}input{width:100%;min-width:0;font:inherit;color:inherit;border:1px solid var(--bordure);background:var(--surface);border-radius:8px;padding:.65rem .75rem}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;color:inherit;border:1px solid var(--bordure);background:var(--surface);cursor:pointer;border-radius:8px;padding:.5rem .9rem}button.principal{border-color:var(--accent);background:var(--accent);color:#fff;margin-top:1.25rem;padding:.75rem 1rem;font-weight:600}button.principal:hover{background:var(--accent-fonce)}button:disabled{opacity:.6;cursor:default}.entete{padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--bordure);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.marque{color:var(--accent);font-size:1.15rem;font-weight:700}.compte{color:var(--discret);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:.9rem;overflow:hidden}.page{max-width:60rem;margin:0 auto;padding:1.5rem 1rem}.entete nav{gap:.25rem;display:flex}.entete button{white-space:nowrap}.entete nav a{color:var(--texte);border-radius:8px;padding:.35rem .7rem;text-decoration:none}.entete nav a.active{color:var(--accent-fonce);background:#e6efe9;font-weight:600}a{color:var(--accent)}h2{margin:0;font-size:1.15rem}.bouton{border:1px solid var(--bordure);background:var(--surface);color:var(--texte);cursor:pointer;border-radius:8px;margin:0;padding:.5rem .9rem;font-size:1rem;font-weight:400;text-decoration:none;display:inline-block}.bouton.principal{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.bouton.principal:hover{background:var(--accent-fonce)}button.danger{color:var(--erreur)}.titre-page,.titre-section{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.titre-page h1{margin:0}.actions{gap:.5rem;display:flex}.puces{flex-wrap:wrap;gap:.4rem;display:flex}.puce{border-radius:999px;padding:.3rem .75rem;font-size:.9rem}.puce.active{border-color:var(--accent);background:var(--accent);color:#fff}.puces-lignes{flex-direction:column;gap:.4rem;display:flex}.puce-supprimable{display:inline-flex}.puce-supprimable .puce:first-child{border-radius:999px 0 0 999px;padding-right:.5rem}.puce.croix{color:var(--discret);border-left:none;border-radius:0 999px 999px 0;padding:.3rem .6rem .3rem .45rem}.puce.ajout{color:var(--discret);border-style:dashed}.puce-saisie{border-radius:999px;width:9rem;padding:.3rem .75rem;font-size:.9rem}.etoiles{color:#d9930d;letter-spacing:.05em}.etoiles .vides{color:var(--bordure)}.etoiles.saisie button{background:0 0;border:none;padding:0 .15rem;font-size:1.6rem;line-height:1}.etoiles.saisie .pleine{color:#d9930d}.etoiles.saisie .vide{color:var(--bordure)}.filtres{background:var(--surface);border:1px solid var(--bordure);border-radius:14px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.groupe-filtre .libelle{color:var(--discret);margin-bottom:.3rem;font-size:.85rem;font-weight:600;display:block}.compteur{margin:0 0 .75rem;font-size:.9rem}.grille{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;display:grid}.fiche{background:var(--surface);border:1px solid var(--bordure);border-radius:14px;flex-direction:column;gap:.4rem;padding-bottom:.9rem;display:flex;overflow:hidden}.fiche>:not(.fiche-lien){margin:0 .9rem}.fiche-lien{color:inherit;text-decoration:none}.fiche-lien img,.fiche-lien .sans-photo{aspect-ratio:4/3;object-fit:cover;background:#e9e5da;width:100%;display:block}.fiche-lien h2{overflow-wrap:anywhere;margin:.7rem .9rem 0}.fiche-infos{color:var(--discret);font-size:.88rem}.fiche-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.fiche .fiche-actions{margin-top:auto;padding-top:.3rem}.recette section{margin-top:1.75rem}.photo{aspect-ratio:4/3;object-fit:cover;border-radius:14px;width:100%;max-width:28rem;height:auto;margin-bottom:1rem;display:block}.photo.apercu{max-width:16rem}.resume,.macros{flex-wrap:wrap;gap:.75rem 2rem;margin:1rem 0 0;display:flex}.resume dt,.macros dt{color:var(--discret);font-size:.85rem}.resume dd,.macros dd{margin:0;font-weight:600}.portions{align-items:center;gap:.6rem;display:flex}.portions button{width:2.2rem;padding:.3rem 0;font-weight:600}.ingredients{margin:0;padding-left:1.2rem}.ingredients li,.etapes li{margin-bottom:.4rem}.etapes{margin:.75rem 0 0;padding-left:1.4rem}.page.large{max-width:100rem;padding:.9rem .75rem}.page.large h1{font-size:1.3rem}.page.large .titre-page{margin-bottom:.6rem}.page.large .bouton,.page.large .semaines button,.page.large .semaines select{padding:.3rem .7rem;font-size:.9rem}.semaines{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.semaines select{padding:.5rem .75rem}.avis{background:#fdf6e3;border:1px solid #e6d7a8;border-radius:10px;margin-bottom:.6rem;padding:.6rem .8rem;font-size:.9rem}.avis p{margin:0 0 .5rem}.avis button{text-align:left;padding:.25rem .7rem;font-size:.85rem}.avis.succes{background:#e6efe9;border-color:#bcd5c6}.avis.succes p{margin:0}.semaines .generer{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.semaines .generer .principal{margin:0}.coche{cursor:pointer;align-items:center;gap:.35rem;margin:0;font-size:.9rem;font-weight:400;display:flex}.coche input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.case{flex-direction:column;height:100%;display:flex}.case .cellule{flex:auto;height:auto}.actions-case{flex-wrap:wrap;gap:.3rem;padding:.2rem .4rem .4rem;display:flex}.actions-case button{color:var(--discret);padding:.1rem .5rem;font-size:.75rem}.actions-case input{flex:100%;padding:.25rem .4rem;font-size:16px}.defilement{border:1px solid var(--bordure);background:var(--surface);border-radius:14px;overflow-x:auto}table.menu{border-collapse:collapse;table-layout:fixed;width:100%;font-size:clamp(.64rem,1vw,.82rem);line-height:1.35}@media (width<=44rem){table.menu{min-width:50rem}}table.menu th,table.menu td{border-bottom:1px solid var(--bordure);border-right:1px solid var(--bordure);vertical-align:top;text-align:left}table.menu tr>:last-child{border-right:none}table.menu tbody tr:last-child>*{border-bottom:none}table.menu thead th{color:var(--accent-fonce);background:#e6efe9;padding:.45rem .4rem}table.menu tbody th{padding:.4rem;font-weight:600}table.menu thead th:first-child{width:7.5%}.col-petit_dej{width:8%}.col-midi{width:14%}.col-midi_ingredients{width:16.5%}.col-ajustements{width:12%}.col-soir{width:19%}.col-snack{width:7%}.col-meal_prep{width:16%}table.menu td{height:1px;padding:0}.cellule{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;height:100%;min-height:3.2rem;padding:.4rem}.cellule:hover,.cellule:focus-visible{background:#f3f7f4;outline:none}.cellule.edition{background:#f3f7f4;flex-direction:column;gap:.3rem;padding:.3rem;display:flex}.cellule textarea{min-height:3.2rem;font-size:inherit;line-height:inherit;resize:none;padding:.3rem;overflow:hidden}@media (pointer:coarse){.cellule textarea{font-size:16px}}.cellule .outils{flex-wrap:wrap;gap:.25rem;display:flex}.cellule .outils button,.cellule .outils select{padding:.2rem .55rem;font-size:.8rem}.cellule .outils select{max-width:100%}.cellule .outils .ok{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.cellule .outils .gras{font-weight:700}.actions-case small{color:var(--discret);flex:100%;font-size:.72rem;line-height:1.3}.synthese{background:#e6efe9;border:1px solid #bcd5c6;border-radius:10px;margin-top:.6rem;padding:.6rem .8rem;font-size:.9rem}.synthese.alerte{background:#fbe9e7;border-color:#e3b1ab}.synthese.alerte strong{color:var(--erreur)}.synthese p{margin:0}.aide{margin:.6rem 0 0;font-size:.9rem}.courses,.courses .article .coche{font-size:.9rem}.courses .semaines{margin-bottom:1rem}.choix-recette{border:1px solid var(--bordure);width:min(34rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--texte);border-radius:14px;padding:1.25rem}.choix-recette::backdrop{background:#00000059}.choix-recette .coche{margin-top:.6rem}.choix-recette .articles{margin-top:.8rem}.recette-a-choisir{border:none;border-bottom:1px solid var(--bordure);text-align:left;border-radius:0;flex-direction:column;width:100%;padding:.5rem .25rem;display:flex}.recette-a-choisir:hover{background:#f3f7f4}.recette-a-choisir small{color:var(--discret)}.principal.sans-marge{margin-top:0}.articles{margin:0;padding:0;list-style:none}.article{border-bottom:1px solid var(--bordure);justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.35rem 0;display:flex}.article .coche{align-items:flex-start;font-size:1rem}.article .coche input{flex:none;margin-top:.2rem}.article small{color:var(--discret)}.article.raye span{color:var(--discret);text-decoration:line-through}.article>button{color:var(--discret);background:0 0;border:none;flex:none;padding:0 .5rem;font-size:1.2rem;line-height:1.4}.saisons .filtres{margin-top:1rem}.aliment{border-bottom:1px solid var(--bordure);padding:.4rem 0}.aliment-ligne{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.aliment-ligne strong{flex:9rem}.aliment.exclu strong{color:var(--discret);text-decoration:line-through}.notes{gap:.25rem;display:flex}.notes .puce{min-width:2.4rem;padding:.25rem .5rem}.aliment-mois{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.6rem 0 .3rem;display:flex}.import-ligne select{padding:.5rem .6rem}.bloc select{display:block}.rubrique{flex-direction:column;align-items:flex-start;margin-bottom:.4rem;display:flex}.rubrique p{margin:0 0 .3rem;font-size:.9rem}.rubrique textarea{font-size:.95rem}.rubrique .puce{margin-top:.3rem}.bouton.desactive{opacity:.6;cursor:default}.bloc{background:var(--surface);border:1px solid var(--bordure);border-radius:14px;max-width:40rem;margin-top:1rem;padding:1.25rem}.bloc h3{margin:1.1rem 0 .3rem;font-size:.95rem}.bloc p{margin:.3rem 0 .7rem}.import{background:var(--surface);border:1px solid var(--bordure);border-radius:14px;flex-direction:column;margin:.75rem 0 .5rem;padding:.25rem 1rem 1rem;display:flex}.import-ligne{gap:.5rem;display:flex}.import p{margin:.6rem 0 0}.succes{color:var(--accent-fonce)}.formulaire{flex-direction:column;max-width:46rem;display:flex}fieldset{border:none;min-width:0;margin:1.1rem 0 0;padding:0}legend{margin-bottom:.4rem;padding:0;font-size:.9rem;font-weight:600}textarea,select{font:inherit;color:inherit;border:1px solid var(--bordure);background:var(--surface);border-radius:8px;padding:.65rem .75rem}textarea{resize:vertical;width:100%}.ligne-champs{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:0 .75rem;display:grid}.ligne-champs>div{flex-direction:column;display:flex}.ingredients-saisie{flex-direction:column;gap:.5rem;display:flex}.ingredient-ligne{grid-template-columns:4.5rem 5rem minmax(0,1.2fr) auto minmax(0,1fr) auto;gap:.4rem;display:grid}@media (width<=40rem){.ingredient-ligne{border-bottom:1px solid var(--bordure);grid-template-columns:4.5rem 5rem minmax(0,1fr) auto;padding-bottom:.5rem}.ingredient-ligne .nom{grid-column:3/5}.ingredient-ligne .precision{grid-column:2/4}}.actions.bas{justify-content:flex-end;margin-top:1.5rem}.actions.bas .principal{margin-top:0}@media (width<=34rem){.compte{display:none}.entete nav{margin-right:auto}}
