:root{--bg:#f7f6ef;--paper:#fffefa;--ink:#29352c;--muted:#526459;--green:#496d53;--green-dark:#31543b;--light:#eaf0e7;--border:#e5e9df;--shadow:0 8px 32px rgba(43,60,44,.055)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}.shell{max-width:1080px;margin:auto;padding:0 24px}.top{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{text-decoration:none;color:var(--green-dark);font-size:26px;font-weight:800;letter-spacing:-1px}.brand span{color:var(--ink)}.topright{display:flex;align-items:center;gap:16px}.username{color:var(--muted)}.nav{display:flex;gap:8px;padding:20px 0 10px;overflow-x:auto}.nav a{color:var(--muted);padding:10px 16px;text-decoration:none;border-radius:12px;white-space:nowrap;font-weight:650}.nav a.active,.nav a:hover{background:var(--light);color:var(--green-dark)}.housebar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.housebar form{display:flex;gap:10px;align-items:center}.housebar label{color:var(--muted)}.housebar select{width:auto;max-width:230px}.pill{font-size:12px;border-radius:30px;background:var(--light);color:var(--green-dark);padding:5px 10px}main{padding:32px 0 70px;min-height:55vh}.heading{display:flex;justify-content:space-between;margin-bottom:24px}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800}h1{font-size:clamp(30px,4vw,42px);line-height:1.2;letter-spacing:-1.5px;margin:7px 0}h2{font-size:20px;letter-spacing:-.4px;margin:0 0 12px}h3{font-size:15px;margin:0 0 9px}p{color:var(--muted);margin:6px 0 15px}.emoji{font-size:.8em}.card{background:var(--paper);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.spaced{margin-top:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.auth{max-width:430px;margin:45px auto}.stack{display:flex;flex-direction:column;gap:14px}.stack label{display:flex;flex-direction:column;gap:6px}.inline{display:flex;align-items:center;gap:8px}.inline input{min-width:0;flex:1}input:not([type=checkbox]),select,textarea{font:inherit;background:white;color:var(--ink);border:1px solid #dce3d9;border-radius:11px;padding:11px 13px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #63846b20}button,.button{font:inherit;font-weight:700;border:0;background:var(--green);color:white;border-radius:11px;padding:11px 17px;cursor:pointer;white-space:nowrap}button:hover{background:var(--green-dark)}button.secondary{background:var(--light);color:var(--green-dark)}button.quiet,button.iconbtn{background:transparent;color:var(--muted);padding:6px 8px}.iconbtn{font-size:22px!important}.notice{background:#e6f1df;border:1px solid #cce0c6;padding:12px 15px;border-radius:12px;margin-bottom:16px;overflow-wrap:anywhere}.tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 0 12px}.tab{text-decoration:none;padding:10px 18px;border-radius:12px;background:white;border:1px solid var(--border);color:var(--muted);font-weight:700;white-space:nowrap}.tab.selected{background:var(--green);color:white}.minor{margin:8px 0 18px;color:var(--green-dark)}summary{cursor:pointer;font-weight:700}.minor form{margin:12px 0}.listtop{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding-bottom:16px}.listtop h2{margin:0}.switch{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.switch input{accent-color:var(--green);width:17px;height:17px}.category{padding:22px 0 14px;border-bottom:1px solid var(--border)}.category h3{color:var(--green-dark);font-size:16px}.item{display:flex;align-items:center;justify-content:space-between;min-height:38px;border-bottom:1px solid #f0f1ec}.itemlabel{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer}.itemlabel input{width:19px;height:19px;accent-color:var(--green);flex-shrink:0}.item.done .itemlabel span{text-decoration:line-through;color:#66776a}.addrow{margin-top:12px}.addrow input{padding:8px 11px}.emptycat{display:none}.weeknav{max-width:420px;margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;background:var(--light);border-radius:17px;padding:9px 13px;text-align:center}.weeknav b{font-size:19px}.weeknav small{display:block;color:var(--muted)}.weeknav .arrow{font-size:32px;line-height:1;text-decoration:none;color:var(--green-dark);padding:5px 12px}.thisweek{display:block;font-size:12px;color:var(--green-dark)}.meals{padding:8px 24px}.day{padding:18px 0;border-bottom:1px solid var(--border)}.day:last-child{border-bottom:0}.day h2{font-size:17px;color:var(--green-dark);margin-bottom:10px}.day h2 span{font-size:13px;font-weight:500;color:var(--muted)}.mealrow{display:grid;grid-template-columns:100px 1fr 18px;align-items:center;gap:12px;margin:6px 0}.mealname{font-weight:650;color:var(--muted);font-size:13px}.mealinput{border-color:transparent!important;background:#f7f8f4!important;padding:9px 12px!important}.mealinput:focus{border-color:var(--green)!important}.saved{color:var(--green)}.member{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.member b{flex:1}.member select{max-width:170px}.invite{margin:8px 0}.invite small{color:var(--muted)}footer{text-align:center;color:#526459;padding:20px 0 35px;font-size:12px}@media(max-width:620px){.shell{padding:0 13px}.top{height:65px}.brand{font-size:22px}.username{display:none}.nav{gap:2px;padding:10px 0}.nav a{padding:9px 10px;font-size:13px}.housebar{padding:9px 0}.pill{font-size:10px}.housebar select{max-width:165px}.heading{margin-bottom:16px}main{padding:20px 0 45px}.card{padding:16px;border-radius:15px}.listtop{align-items:flex-start;flex-direction:column}.meals{padding:4px 15px}.mealrow{grid-template-columns:66px 1fr 12px;gap:5px}.mealname{font-size:12px}.mealinput{font-size:14px!important;padding:8px!important}.day{padding:15px 0}.member{flex-wrap:wrap}.member select{max-width:150px}.auth{margin:20px auto}.cards{grid-template-columns:1fr}}

.list-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.danger-outline{background:transparent;color:#923d39;border:1px solid #bd827d;padding:7px 11px;font-size:13px}.danger-outline:hover{background:#f9e9e7;color:#762e2b}@media(max-width:620px){.list-actions{width:100%;justify-content:space-between}}

/* V3 : contraste renforcé, sans changer l'identité crème / vert. */
:root {
  --bg:#f5f4ec;
  --paper:#ffffff;
  --ink:#172a20;
  --muted:#34473b;
  --green:#285b40;
  --green-dark:#19462e;
  --light:#e2ebe2;
  --border:#bdcbbf;
}
body {font-size:16px}
p,.username,.housebar label,.switch,.mealname,.weeknav small,.day h2 span,
.invite small,footer {color:var(--muted)}
.eyebrow {color:#285b40}
.card {border-color:#c7d2c7}
input:not([type=checkbox]),select,textarea {border-color:#aab9ab;color:#172a20}
input::placeholder,textarea::placeholder {color:#53665a;opacity:1}
.mealinput {background:#edf2eb!important;border:1px solid #c5d1c5!important}
.item {border-bottom-color:#d8e0d8}
.item.done .itemlabel span {color:#465a4c}
.tab {border-color:#b5c4b6;color:#24442f}
button.secondary {background:#dbe9dc;color:#173f29}
button.secondary:hover {background:#c7ddc9}
.danger-outline {color:#8b2626;border-color:#ad5757;background:#fff}
.danger-outline:hover {background:#fae8e8;color:#6b1b1b}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {
 outline:3px solid #306a49;outline-offset:2px
}

/* V3.1 : respecte le masquage HTML, même sur les lignes flex. */
[data-item][hidden], [hidden] { display: none !important; }


/* V3.2 : thèmes personnels, enregistrés dans le navigateur. */
:root[data-theme="sage"] {
 --bg:#f5f4ec;--paper:#ffffff;--ink:#172a20;--muted:#34473b;
 --green:#285b40;--green-dark:#19462e;--light:#e2ebe2;--border:#bdcbbf;
 --field:#ffffff;--field-border:#aab9ab;--meal-bg:#edf2eb;--placeholder:#53665a;
 --checked:#465a4c;--danger:#8b2626;--notice:#e6f1df;
}
:root[data-theme="ocean"] {
 --bg:#eef5f8;--paper:#ffffff;--ink:#122d3b;--muted:#344e5e;
 --green:#176384;--green-dark:#114965;--light:#d9eaf2;--border:#a9c4d0;
 --field:#ffffff;--field-border:#9bb7c4;--meal-bg:#e6f1f6;--placeholder:#476271;
 --checked:#466270;--danger:#8b2626;--notice:#dbeff7;
}
:root[data-theme="sunset"] {
 --bg:#faf2eb;--paper:#fffdfa;--ink:#38251d;--muted:#624638;
 --green:#92503a;--green-dark:#713922;--light:#f3e1d4;--border:#d6b7a6;
 --field:#ffffff;--field-border:#c9aa99;--meal-bg:#f8eae0;--placeholder:#795d50;
 --checked:#73584a;--danger:#8b2626;--notice:#f8e8d8;
}
:root[data-theme="dark"] {
 color-scheme:dark;
 --bg:#141e1b;--paper:#202e28;--ink:#f1f7f1;--muted:#c1d3c7;
 --green:#9acfb0;--green-dark:#b8e4c7;--light:#30483b;--border:#526a5b;
 --field:#263b30;--field-border:#708b79;--meal-bg:#2a4034;--placeholder:#b1c7b7;
 --checked:#b5c6b9;--danger:#ffc0b8;--notice:#304b3a;
 --shadow:0 8px 32px rgba(0,0,0,.16);
}
body{background:var(--bg);color:var(--ink)}
p,.username,.housebar label,.switch,.mealname,.weeknav small,.day h2 span,
.invite small,footer{color:var(--muted)}
.eyebrow{color:var(--green)}
.card{background:var(--paper);border-color:var(--border)}
input:not([type=checkbox]),select,textarea{background:var(--field);color:var(--ink);border-color:var(--field-border)}
input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}
.mealinput{background:var(--meal-bg)!important;border:1px solid var(--border)!important}
.item{border-bottom-color:var(--border)}
.item.done .itemlabel span{color:var(--checked)}
.tab{background:var(--paper);border-color:var(--border);color:var(--green-dark)}
.tab.selected{background:var(--green);color:var(--paper)}
button,.button{background:var(--green);color:var(--paper)}
button:hover{background:var(--green-dark)}
button.secondary{background:var(--light);color:var(--green-dark)}
button.secondary:hover{background:var(--border)}
button.quiet,button.iconbtn{background:transparent;color:var(--muted)}
.danger-outline{color:var(--danger);border-color:var(--danger);background:var(--paper)}
.danger-outline:hover{background:var(--light);color:var(--danger)}
.notice{background:var(--notice);border-color:var(--border);color:var(--ink)}
:root[data-theme="dark"] button:not(.secondary):not(.quiet):not(.iconbtn):not(.danger-outline),
:root[data-theme="dark"] .tab.selected{color:#12251a}
:root[data-theme="dark"] .tab:not(.selected){color:var(--ink)}
:root[data-theme="dark"] .danger-outline{color:var(--danger)}
.theme-control{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:650}
.theme-control select{width:auto;min-width:104px;padding:7px 9px;font-size:13px}
@media(max-width:620px){.topright{gap:5px}.theme-control span{display:none}.theme-control select{min-width:92px;padding:6px}.topright .quiet{font-size:12px;padding:5px}}

.cat-edit{margin:0 0 10px}.cat-edit summary{font-size:13px}.defaults-action{margin:14px 0}.defaults-action button{max-width:100%;white-space:normal}
