:root{--bg:#eef2f5;--panel:#fff;--text:#1c2126;--muted:#66707a;--border:#dde3e8;--accent:#1f6f8b;--accent-weak:#e2eef3;--juste:#1e7d4e;--juste-weak:#e0f2e8;--danger:#c0392b;--danger-weak:#fbe6e3;--radius:12px}:root{--bg:#14181c;--panel:#1c2126;--text:#e8ebee;--muted:#98a2ac;--border:#2b3238;--accent:#64b6d4;--accent-weak:#16303a;--juste:#63c48e;--juste-weak:#16301f;--danger:#e97264;--danger-weak:#331b18}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,Segoe UI,Helvetica,Arial,sans-serif;font-size:15px}body{flex-direction:column;display:flex}.page{flex:1;min-height:0}.discret{color:var(--muted)}.error{color:var(--danger)}.vide{color:var(--muted);text-align:center;padding:32px 0}.nav{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:18px;height:52px;padding:0 18px;display:flex}.nav .brand{color:inherit;letter-spacing:-.01em;white-space:nowrap;font-size:15px;font-weight:600;text-decoration:none}.nav nav{gap:4px;min-width:0;margin-right:auto;display:flex}.nav nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:14px;text-decoration:none}.nav nav a:hover{color:var(--text);background:var(--bg)}.nav nav a.on{color:var(--accent);background:var(--accent-weak)}.nav .hub{font:inherit;color:var(--muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:5px 10px;font-size:13px;text-decoration:none}.nav .hub:hover{color:var(--text)}.nav-add,.nav-more-btn{width:36px;height:36px;font:inherit;cursor:pointer;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;flex:none;place-items:center;font-size:18px;line-height:1;display:grid;position:relative}.nav-add{color:var(--accent);font-size:22px}.nav-add:hover,.nav-more-btn:hover{border-color:var(--accent)}.nav-more{flex:none;position:relative}.nav-more-menu{z-index:45;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000002e}.nav-more-menu a,.nav-more-menu button{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:14px;text-decoration:none;display:block}.nav-more-menu a:hover,.nav-more-menu a.on,.nav-more-menu button:hover{background:var(--accent-weak);color:var(--accent)}.nav-more-menu hr{border:0;border-top:1px solid var(--border);margin:4px 2px}.overlay{z-index:42;background:#0a10166b;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet{background:var(--bg);border:1px solid var(--border);border-radius:14px;width:100%;max-width:820px;padding:10px 0 0;position:relative;box-shadow:0 16px 50px #0000004d}.sheet-close{z-index:1;width:32px;height:32px;font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:8px;position:absolute;top:12px;right:12px}.sheet-close:hover{color:var(--text);border-color:var(--accent)}.ecran{max-width:1000px;margin:0 auto;padding:24px}.ecran.large{max-width:1200px}.ecran.etroit{max-width:760px}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:26px}h2{margin:28px 0 10px;font-size:17px}.lead{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.55}button,select,input,textarea{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:7px 10px}textarea{resize:vertical;line-height:1.55}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.5;cursor:default}.primaire{color:var(--accent);background:var(--accent-weak);border-color:#0000;font-weight:600}.primaire:hover:not(:disabled){filter:brightness(.97)}.danger{color:var(--danger);background:var(--danger-weak);border-color:#0000}.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.plat{background:0 0;border-color:#0000;padding:4px 8px}.rangee{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rangee.serre{gap:6px}.pousse{margin-left:auto}.pousse-non{font-size:13px}a.puce.lien{color:var(--accent);border-color:var(--accent-weak);background:var(--accent-weak);text-decoration:none}a.puce.lien:hover{border-color:var(--accent)}.puce{color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:12px;display:inline-block}.filtres{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.filtres input[type=search]{flex:1;min-width:180px}.grille{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.tuile{color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:15px;text-decoration:none;display:flex}a.tuile:hover{border-color:var(--accent)}.tuile h3{margin:0;font-size:15.5px;line-height:1.35}.tuile .meta{color:var(--muted);font-size:12.5px}.tuile .tags{flex-wrap:wrap;gap:4px;margin-top:auto;display:flex}.tuile .tags span{padding:1px 7px;font-size:11.5px}.fiche .entete{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.fiche .entete h1{overflow-wrap:anywhere;flex:260px;min-width:0}.fiche .infos{flex-wrap:wrap;gap:6px;margin:10px 0 24px;display:flex}.fiche .colonnes{grid-template-columns:minmax(240px,340px) 1fr;align-items:start;gap:28px;display:grid}.bloc{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.bloc h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 12px;font-size:14px}ul.ingredients{margin:0;padding:0;list-style:none}ul.ingredients li{border-bottom:1px solid var(--border);gap:8px;padding:5px 0;font-size:14px;display:flex}ul.ingredients li:last-child{border-bottom:none}ul.ingredients .q{min-width:62px;color:var(--accent);font-variant-numeric:tabular-nums;flex:none}ul.ingredients .n{flex:1}ul.ingredients .prep{color:var(--muted);font-size:12.5px}.groupe-titre{color:var(--muted);margin:14px 0 4px;font-size:12.5px;font-weight:600}.groupe-titre:first-child{margin-top:0}ol.etapes{margin:0;padding-left:22px}ol.etapes li{margin-bottom:12px;line-height:1.6}.form{gap:16px;display:grid}.form label{color:var(--muted);gap:4px;font-size:12.5px;display:grid}.form label>input,.form label>select,.form label>textarea{font-size:15px}.champs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}table.ing{border-collapse:collapse;width:100%}table.ing th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;padding:0 6px 6px;font-size:11.5px;font-weight:600}table.ing td{vertical-align:middle;padding:2px 3px}table.ing input,table.ing select{width:100%;padding:6px 8px}table.ing .col-q{width:76px}table.ing .col-u{width:108px}table.ing .col-x{width:34px}table.ing .col-x button{width:100%;padding:6px 0}.alerte{background:var(--danger-weak);border:1px solid #0000;border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:1.55}.alerte strong{margin-bottom:6px;display:block}.alerte ul{margin:0;padding-left:18px}.alerte li{margin:3px 0}.alerte button{margin-left:8px;padding:1px 8px;font-size:12px}.info{background:var(--accent-weak);border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:1.55}.onglets{gap:6px;margin-bottom:14px;display:flex}.onglets button{border-radius:999px;font-size:13.5px}.onglets button.on{color:var(--accent);background:var(--accent-weak);border-color:#0000}.depot{text-align:center;color:var(--muted);background:var(--panel);border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;place-items:center;gap:8px;padding:40px 20px;display:grid}.depot.survol{border-color:var(--accent);color:var(--accent)}.depot .gros{font-size:30px}.tirage{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:12px 16px}.tirage-tete{align-items:center;gap:12px;display:flex}.tirage-tete h2{margin:0;font-size:15px}.tirage-tete button{margin-left:auto}.repas-liste{margin:12px 0 0;padding:0;list-style:none}.repas-liste li{border-top:1px solid var(--border);grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:7px 0;display:grid}.repas-liste li .choix-recette{grid-column:1/-1}.repas-liste .quand{color:var(--muted);font-size:13px}.repas-liste .titre{min-width:0;font-size:14.5px}.repas-liste .titre a,.jour .titre a{color:inherit;text-decoration:none}.repas-liste .titre a:hover,.jour .titre a:hover{color:var(--accent)}.gestes{gap:2px;display:flex}.gestes button{padding:2px 6px;font-size:13px}.tirage-pied{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:10px;padding-top:12px;display:flex}.tirage-pied label,.periode label,.au-calendrier label{color:var(--muted);gap:3px;font-size:12px;display:grid}@media (max-width:560px){.repas-liste li{grid-template-columns:minmax(0,1fr) auto}.repas-liste .quand{grid-column:1/-1}}.semaine-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.semaine-nav strong{font-size:15px}.semaine{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.jour{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.jour.aujourdhui{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.jour.passe{opacity:.72}.jour-tete{background:var(--accent-weak);justify-content:space-between;align-items:center;padding:6px 8px 6px 12px;font-size:13px;font-weight:600;display:flex}.jour-tete .date{display:inline-block}.jour-tete .date:first-letter{text-transform:uppercase}.semaine-nav a{color:var(--accent);font-size:14px;text-decoration:none}.semaine-nav a:hover{text-decoration:underline}.jour .case{border-top:1px solid var(--border);padding:6px 8px}.jour .case:first-of-type{border-top:none}.case-ligne{align-items:flex-start;gap:6px;display:flex}.case-ligne .quand{flex:none;font-size:14px;line-height:1.4}.case-ligne .titre{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px;line-height:1.4}.case-ligne .titres{overflow-wrap:anywhere;flex:1;gap:1px;min-width:0;font-size:13px;line-height:1.4;display:grid}.case-ligne .titres a{color:inherit;text-decoration:none}.case-ligne .titres a:hover{color:var(--accent)}.plat-pose{align-items:baseline;gap:4px;display:flex}.plat-pose.accompagne{color:var(--muted);padding-left:10px}.plat-pose.accompagne:before{content:"+";width:10px;color:var(--muted);margin-left:-10px}.plat-pose .retirer{color:var(--muted);opacity:0;margin-left:auto;padding:0 4px;font-size:11px}.case:hover .retirer,.plat-pose:focus-within .retirer{opacity:1}@media (hover:none){.plat-pose .retirer{opacity:.8}}.case-ligne .gestes{opacity:0}.case:hover .gestes,.case:focus-within .gestes{opacity:1}@media (hover:none){.case-ligne .gestes{opacity:1}}.barre-deplacement{z-index:20;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:6px 12px;max-width:760px;margin:0 0 12px;padding:10px 14px;font-size:13.5px;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 6px 18px #00000024;margin:0 auto!important}.barre-deplacement .quoi{flex:220px;min-width:0}.barre-deplacement .copie{align-items:center;gap:4px;font-size:13px;display:flex}.semaine.en-deplacement{padding-bottom:130px}.semaine.en-deplacement .case:not(.source),.semaine.en-deplacement .jour-tete{cursor:pointer}.semaine.en-deplacement .case:not(.source):hover{background:var(--accent-weak)}.case.source,.jour.source{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-weak)}.gestes button.actif{color:var(--accent);background:var(--accent-weak)}.choix-recette{margin-top:6px}.choix-recette input{padding:5px 8px;font-size:13.5px}.choix-recette .resultats{background:var(--panel);border:1px solid var(--border);border-radius:8px;max-height:260px;margin:4px 0 0;padding:0;list-style:none;overflow-y:auto}.choix-recette .resultats button{text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;border-radius:0;gap:1px;width:100%;padding:6px 9px;display:grid}.choix-recette .resultats button:hover{background:var(--accent-weak)}.choix-recette .resultats .t{font-size:13.5px}.choix-recette .resultats .discret{font-size:11.5px}.choix-recette .rien{padding:6px 9px;font-size:13px}.au-calendrier{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);gap:12px;margin:0 0 18px;padding:12px 16px;display:grid}.repas-choix{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.repas-choix button{text-align:left;gap:2px;padding:7px 10px;display:grid}.repas-choix button.on{border-color:var(--accent);background:var(--accent-weak)}.repas-choix .occupant{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.juste{color:var(--juste);font-size:13.5px}.periode{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);gap:10px;margin-bottom:16px;padding:12px 14px;display:grid}.periode label{align-content:end}.periode button.actif{border-color:var(--accent);background:var(--accent-weak);color:var(--accent)}.lien-bouton{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.recettes-periode{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:-10px 0 18px;padding:10px 14px 10px 30px;font-size:13.5px;line-height:1.6}.recettes-periode .explication{margin:6px 0 0 -16px;font-size:12px;line-height:1.45;list-style:none}.rayon{margin-bottom:22px}.rayon h2{align-items:center;gap:8px;margin:0 0 8px;font-size:14px;display:flex}.rayon h2 .compte{color:var(--muted);font-size:12px;font-weight:400}.historique-jour{margin-bottom:22px}.historique-jour h2{text-transform:capitalize;margin:0 0 8px;font-size:14px}ul.liste{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none}ul.liste li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 14px;display:flex}ul.liste li:last-child{border-bottom:none}ul.liste li.coche .label,ul.liste li.coche .q{opacity:.45;text-decoration:line-through}ul.liste input[type=checkbox]{flex:none;width:19px;height:19px}ul.liste .label{flex:1;min-width:0;font-size:14.5px}ul.liste .q{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}ul.liste .doù{color:var(--muted);font-size:11.5px;display:block}ul.liste .outils{opacity:0;gap:2px;margin-left:auto;display:flex}ul.liste li:hover .outils,ul.liste li:focus-within .outils{opacity:1}ul.liste .outils select{padding:2px 4px;font-size:11.5px}ul.liste .outils button{padding:2px 6px;font-size:12px}@media (hover:none){ul.liste .outils{opacity:1}}.login{max-width:320px;margin:0 auto;padding:72px 24px}.login h1{text-align:center;margin:0 0 20px;font-size:22px}.login form{gap:12px;display:grid}.login label{color:var(--muted);gap:4px;font-size:13px;display:grid}.login input,.login button{width:100%;padding:9px 11px;font-size:15px}.login button{color:var(--accent);background:var(--accent-weak);border-color:#0000;font-weight:600}.cartes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:8px;display:grid}.carte-lien{color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;text-decoration:none;display:block}.carte-lien:hover{border-color:var(--accent)}.carte-lien h3{margin:0 0 5px;font-size:16px}.carte-lien p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (max-width:620px){.nav{gap:8px;padding:0 12px}.nav nav{gap:0}.nav nav a{padding:5px 8px;font-size:13.5px}.nav .hub-short{display:none}.nav .hub{padding:5px 8px}.nav-more-menu{min-width:0;position:fixed;top:58px;left:14px;right:14px}.overlay{align-items:stretch;padding:0}.sheet{border-width:0 0 1px;border-radius:0;min-height:100%}.ecran{padding:16px 14px 48px}input,select,textarea,.form label>input,.form label>select,.form label>textarea,table.ing input,table.ing select{font-size:16px}.fiche .colonnes{grid-template-columns:1fr;gap:18px}.filtres input[type=search]{flex:100%;min-width:0}.filtres select{flex:40%;min-width:0}table.ing,table.ing tbody,table.ing tr,table.ing td{width:100%;display:block}table.ing thead{display:none}table.ing tr{border-bottom:1px solid var(--border);padding:8px 0}table.ing td{padding:3px 0}table.ing .col-q,table.ing .col-u,table.ing .col-x{width:100%}ul.liste .q{white-space:normal}ul.liste .outils select{max-width:168px}.tirage-pied .primaire{flex:1}}.tuile .trouves{color:var(--accent)}.voile{z-index:40;background:#0a10166b;animation:.15s ease-out voile-entre;position:fixed;inset:0}.panneau-recette{overscroll-behavior:contain;z-index:41;background:var(--bg);outline:none;flex-direction:column;width:min(900px,94vw);animation:.18s ease-out panneau-entre;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #00000038}.panneau-tete{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.panneau-tete .fermer{padding:6px 12px;font-size:18px}.panneau-tete a.plat{border-radius:8px;padding:6px 12px;text-decoration:none}.panneau-tete a.plat:hover{color:var(--accent)}.panneau-nav{align-items:center;gap:6px;display:flex}.panneau-nav.haut button{padding:4px 12px;font-size:20px;line-height:1}.panneau-nav .discret{text-align:center;font-variant-numeric:tabular-nums;min-width:52px;font-size:13px}.panneau-nav.bas{display:none}.panneau-corps{overscroll-behavior:contain;flex:1;min-height:0;padding:20px 26px 40px;overflow-y:auto}.panneau-fiche.entre-droite{animation:.18s ease-out fiche-droite}.panneau-fiche.entre-gauche{animation:.18s ease-out fiche-gauche}@keyframes voile-entre{0%{opacity:0}}@keyframes panneau-entre{0%{opacity:0;transform:translate(40px)}}@keyframes fiche-droite{0%{opacity:0;transform:translate(28px)}}@keyframes fiche-gauche{0%{opacity:0;transform:translate(-28px)}}@media (prefers-reduced-motion:reduce){.voile,.panneau-recette,.panneau-fiche{animation:none!important}}.tuile.ouverte{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak)}@media (max-width:900px){.panneau-recette .fiche .colonnes{grid-template-columns:1fr;gap:18px}}@media (max-width:620px){.panneau-recette{width:100%;box-shadow:none}.panneau-nav.haut{display:none}.panneau-corps{padding:14px 14px 28px}.panneau-recette .fiche h1{font-size:22px}.panneau-nav.bas{padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border);justify-content:space-between;gap:8px;display:flex}.panneau-nav.bas button{flex:1;padding:11px 10px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
