: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}@media (prefers-color-scheme:dark){: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;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,.nav .quit{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}.nav .hub{text-decoration:none}.nav .hub:hover,.nav .quit:hover{color:var(--text)}.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}.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{flex:1;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}.reglages-plan{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.reglages-plan label{color:var(--muted);gap:4px;font-size:12px;display:grid}.reglages-plan .cases{color:var(--text);gap:12px;font-size:13.5px;display:flex}.reglages-plan .cases label{color:var(--text);flex-direction:row;align-items:center;gap:5px;display:flex}.semaine{gap:10px;display:grid}.jour{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:92px 1fr;align-items:stretch;gap:12px;padding:10px 12px;display:grid}.jour .nom{color:var(--muted);align-self:center;font-size:13px;font-weight:600}.jour .repas{grid-template-columns:1fr 1fr;gap:10px;display:grid}.case{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;min-height:76px;padding:10px;display:flex}.case .quand{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.case .titre{font-size:14px;line-height:1.35}.case .titre a{color:inherit;text-decoration:none}.case .titre a:hover{color:var(--accent)}.case .vide-case{color:var(--muted);font-size:13px;font-style:italic}.case .gestes{gap:4px;margin-top:auto;display:flex}.case .gestes button{padding:3px 7px;font-size:12px}.barre-validation{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding:12px 16px;display:flex;position:sticky;bottom:0}.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}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}.nav-burger{display:none}.nav-links{display:contents}@media (max-width:620px){.nav{flex-wrap:wrap;gap:12px;height:auto;min-height:52px;padding:8px 14px}.nav-burger{width:38px;height:38px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;place-items:center;margin-left:auto;font-size:17px;line-height:1;display:grid}.nav-links{display:none}.nav.open .nav-links{border-top:1px solid var(--border);gap:4px;width:100%;padding-top:8px;display:grid}.nav.open .nav-links nav{gap:2px;margin-right:0;display:grid}.nav.open .nav-links nav a{padding:11px 10px}.nav.open .nav-links .hub,.nav.open .nav-links .quit{text-align:left;padding:11px 10px}.nav.open .nav-links form{display:contents}.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}.jour{grid-template-columns:1fr;gap:8px}.jour .nom{align-self:start}.jour .repas{grid-template-columns:1fr}.filtres input[type=search]{width:100%;min-width:0}.filtres select{flex:1;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}.barre-validation{padding:10px 12px}.barre-validation .primaire{flex:1}}
