/* Carnet Creed — app santé « verre dépoli » : fond gris doux, grandes cartes arrondies, dégradés flous, chiffres en points, accents lime */
:root{
  color-scheme:light;
  --bg:#e3e3e3; --card:#f2f2f2; --card-2:#fafafa; --ink:#18181a; --soft:#6f6f74; --faint:#a3a3a8; --line:#d6d6d9;
  --lime:#ec4466; --lime-ink:#ffffff; --brand:linear-gradient(180deg,#f2548d,#e5384a); --brand-soft:#ffe6ec; --white:#ffffff;
  --orange-a:#ffa3be; --orange-b:#f2548d; --orange-c:#e5384a;
  --green-a:#ffe0e8; --green-b:#f2809d; --green-c:#e2577a;
  --pink-a:#ff8fa0; --pink-b:#c8203f; --pink-c:#7d0c25;
  --blue-a:#dedee4; --blue-b:#8b8b95; --blue-c:#4b4b53;
  --r-xl:34px; --r-l:26px; --r-m:20px;
  --font:"Inter Tight","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --nav-h:72px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  padding-bottom:calc(var(--nav-h) + 28px + env(safe-area-inset-bottom,0px))}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
button:disabled{cursor:not-allowed}
input,select,textarea{font:inherit;color:var(--ink)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
a{color:var(--ink)}
h1{font-weight:300;font-size:clamp(36px,8vw,56px);letter-spacing:-.035em;line-height:.95;margin:0}
h2{font-weight:300;font-size:clamp(24px,5vw,32px);letter-spacing:-.025em;line-height:1.05;margin:0}
h3{font-weight:500;font-size:17px;letter-spacing:-.01em;margin:0}
p{margin:0}
.dots{display:block;height:var(--dh,56px);width:auto;fill:currentColor}
.wrap{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px;padding-top:18px}
.muted{color:var(--soft)}
.small{font-size:13px}
.tip{font-size:13.5px;color:var(--soft);max-width:62ch}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.between{justify-content:space-between}

/* en-tête */
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--soft);margin-bottom:8px}
.badge i,.ldot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(236,68,102,.35);display:inline-block}
.sync{font-size:12px;color:var(--faint);display:inline-flex;align-items:center;gap:6px}
.sync i{width:7px;height:7px;border-radius:50%;background:var(--green-b)}
.sync.off i{background:var(--orange-b)}
.datebar{display:flex;align-items:center;gap:6px;background:var(--card);border-radius:999px;padding:4px}
.datebar button{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--soft)}
.datebar button:hover{background:var(--white);color:var(--ink)}
.datebar .lbl{min-width:150px;text-align:center;font-size:14px;font-weight:500;padding:0 4px}
.datebar svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}

/* segments & boutons */
.seg{display:inline-flex;background:var(--card);border-radius:999px;padding:4px;flex-wrap:wrap}
.seg button{padding:9px 16px;border-radius:999px;font-size:14px;color:var(--soft);font-weight:500;transition:background .2s,color .2s}
.seg button[aria-pressed="true"]{background:var(--white);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.btn{background:var(--ink);color:var(--white);border-radius:999px;padding:12px 20px;font-weight:500;font-size:15px}
.btn:disabled{opacity:.4}
.btn-ghost{display:inline-block;text-decoration:none;background:var(--white);border-radius:999px;padding:9px 16px;font-size:14px;color:var(--soft)}
.btn-ghost:hover{color:var(--ink);background:var(--white)}
.btn-lime{background:var(--lime);color:var(--lime-ink);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500}
.icon-btn{width:36px;height:36px;border-radius:50%;background:var(--white);display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.icon-btn svg{width:15px;height:15px;stroke:var(--ink);stroke-width:1.8;fill:none}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--soft);min-width:0}
.field input,.field select,.inp{width:100%;padding:11px 14px;border:0;border-radius:14px;background:var(--white);font-variant-numeric:tabular-nums}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:560px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{background:var(--card);border-radius:var(--r-xl);padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
@media (max-width:620px){.card{padding:16px}}
.chip{font-size:12px;font-weight:500;background:var(--white);border-radius:999px;padding:5px 11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.tag{font-size:11.5px;font-weight:500;background:var(--lime);color:var(--lime-ink);border-radius:999px;padding:3px 9px}

/* carte héro dégradée */
.grid-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px}
@media (max-width:700px){.grid-top{grid-template-columns:minmax(0,1fr)}}
.hero{position:relative;overflow:hidden;border-radius:var(--r-xl);color:var(--white);padding:24px 22px 20px;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;isolation:isolate;gap:10px}
.hero::before{content:"";position:absolute;inset:-30%;z-index:-1;filter:blur(38px);transition:background .5s;
  background:radial-gradient(40% 45% at 28% 30%,var(--ga) 0%,transparent 70%),radial-gradient(50% 55% at 72% 70%,var(--gb) 0%,transparent 72%),linear-gradient(140deg,var(--gb),var(--gc))}
.g-orange{--ga:var(--orange-a);--gb:var(--orange-b);--gc:var(--orange-c)}
.g-green{--ga:var(--green-a);--gb:var(--green-b);--gc:var(--green-c)}
.g-pink{--ga:var(--pink-a);--gb:var(--pink-b);--gc:var(--pink-c)}
.g-blue{--ga:var(--blue-a);--gb:var(--blue-b);--gc:var(--blue-c)}
.hero .lbl{font-size:15px;opacity:.92}
.hero .num{--dh:clamp(54px,11vw,78px);display:flex;justify-content:center}
.hero .sub{font-size:13px;opacity:.85;margin-top:8px;font-variant-numeric:tabular-nums}
.hero .state{font-size:12px;font-weight:500;background:rgba(255,255,255,.22);padding:5px 11px;border-radius:999px}
.hero .state.lime{background:var(--lime);color:var(--lime-ink)}
.ruler{display:flex;align-items:flex-end;justify-content:space-between;width:100%;max-width:360px;height:26px}
.ruler i{width:1.5px;height:10px;background:rgba(255,255,255,.55);border-radius:1px}
.ruler i.l{height:18px}
.ruler i.on{height:26px;width:2.5px;background:#fff}

/* macros */
.macros{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:700px){.macros{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none}}
.mac{background:var(--card);border-radius:var(--r-l);padding:16px 18px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;isolation:isolate;min-width:0}
.mac .h{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--soft)}
.mac .ico{width:30px;height:30px;border-radius:50%;background:var(--white);display:grid;place-items:center;flex:0 0 auto}
.mac .ico svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.6}
.mac .v{display:flex;align-items:flex-end;gap:6px;--dh:30px;font-variant-numeric:tabular-nums}
.mac .v small{font-size:13px;color:var(--soft);padding-bottom:2px;white-space:nowrap}
.line{height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.line b{display:block;height:100%;background:var(--ink);transition:width .3s}
.mac.over .line b{background:var(--pink-b)}
.mac.hit{color:var(--white)}
.mac.hit::before{content:"";position:absolute;inset:-30%;z-index:-1;filter:blur(26px);background:radial-gradient(50% 60% at 30% 30%,var(--green-a),transparent 70%),linear-gradient(140deg,var(--green-b),var(--green-c))}
.mac.hit .h,.mac.hit .v small{color:rgba(255,255,255,.85)}
.mac.hit .line{background:rgba(255,255,255,.35)}.mac.hit .line b{background:#fff}
.mac.hit .ico{background:rgba(255,255,255,.25)}.mac.hit .ico svg{stroke:#fff}
@media (max-width:700px){.mac{padding:14px}.mac .h .t2{display:none}.mac .v{--dh:24px;flex-direction:column;align-items:flex-start;gap:2px}}

/* pilule collante */
.pill{position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px);z-index:6;align-self:center;display:flex;align-items:center;gap:12px;
  background:rgba(250,250,250,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:9px 16px 9px 12px;
  box-shadow:0 6px 24px rgba(0,0,0,.08);font-size:14px;font-variant-numeric:tabular-nums;max-width:100%}
.pill .dot{width:9px;height:9px;border-radius:50%;background:var(--lime);flex:0 0 auto}
.pill.full .dot{background:var(--pink-b)}
.pill .mini{width:90px;height:4px;border-radius:4px;background:var(--line);overflow:hidden;flex:0 0 auto}
.pill .mini b{display:block;height:100%;background:var(--ink);border-radius:4px;transition:width .3s}

/* repas */
.meal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 0}
.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (max-width:620px){.items{grid-template-columns:minmax(0,1fr)}}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;background:var(--card-2);border-radius:var(--r-m);padding:10px 10px 10px 16px;transition:background .2s,opacity .2s;min-height:60px}
.item .n{font-size:15px;font-weight:500;line-height:1.2}
.item .q{font-size:12.5px;color:var(--faint)}
.item .v{text-align:right;font-variant-numeric:tabular-nums;font-size:12px;color:var(--soft);line-height:1.35;white-space:nowrap}
.item .v b{color:var(--ink);font-size:14px;font-weight:500}
.item.on{background:var(--white);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.item.locked{opacity:.38}
.item.locked .q::after{content:" · dépasse le quota";color:var(--pink-c)}
.qty{display:flex;align-items:center;gap:4px;background:var(--card);border-radius:999px;padding:3px}
.qty button{width:30px;height:30px;border-radius:50%;background:var(--white);font-size:16px;line-height:1}
.qty button:disabled{opacity:.35}
.qty span{min-width:34px;text-align:center;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.add{width:36px;height:36px;border-radius:50%;background:var(--white);display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.add svg{width:15px;height:15px;stroke:var(--ink);stroke-width:1.8;fill:none}
.item .del{width:28px;height:28px;border-radius:50%;color:var(--faint);font-size:16px}

/* muscu */
.days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;background:var(--card);border-radius:var(--r-l);padding:6px}
.day-btn{border-radius:18px;padding:9px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:background .2s}
.day-btn b{font-size:14px;font-weight:500}
.day-btn span{font-size:11px;color:var(--faint);text-align:center;line-height:1.15}
.day-btn[aria-pressed="true"]{background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.08)}
@media (max-width:520px){.day-btn span{display:none}}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--soft)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.slot-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:0 4px}
.slot-top .lbl{font-size:17px;font-weight:500;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.slot-body{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:start}
.slot-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.ill{background:var(--card-2);border-radius:var(--r-l);padding:10px 10px 4px;position:relative;overflow:hidden;isolation:isolate}
.prio .ill::before{content:"";position:absolute;inset:auto -20% -40% -20%;height:70%;z-index:-1;filter:blur(24px);background:radial-gradient(50% 50% at 50% 50%,rgba(236,68,102,.55),transparent 70%)}
.ill svg{width:100%;height:auto;display:block}
@media (max-width:600px){.slot-body{grid-template-columns:minmax(0,1fr)}.ill{max-width:220px}}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opt{background:var(--white);border-radius:999px;padding:8px 14px;font-size:13.5px;color:var(--soft);text-align:left;transition:background .2s,color .2s}
.opt[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.last{font-size:13px;color:var(--soft);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.last b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.sets{display:flex;flex-direction:column;gap:6px}
.setrow{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:center}
.setrow .n{font-size:13px;color:var(--faint);text-align:center;font-variant-numeric:tabular-nums}
.setrow input{width:100%;padding:9px 12px;border:0;border-radius:999px;background:var(--white);font-variant-numeric:tabular-nums;text-align:center}
.setrow .ok{width:40px;height:40px;border-radius:50%;background:var(--white);display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.setrow .ok svg{width:15px;height:15px;stroke:var(--faint);stroke-width:2;fill:none}
.setrow .ok[aria-pressed="true"]{background:var(--lime)}
.setrow .ok[aria-pressed="true"] svg{stroke:var(--lime-ink)}
.setrow.hd{font-size:11.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}
.setrow.hd span{text-align:center}
.pr{font-size:11.5px;font-weight:500;background:var(--ink);color:var(--lime);border-radius:999px;padding:3px 9px}

/* minuteur */
.timer{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + 22px + env(safe-area-inset-bottom,0px));z-index:30;
  display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--white);border-radius:999px;padding:8px 10px 8px 8px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.timer .ring{width:44px;height:44px;position:relative}
.timer .ring svg{width:44px;height:44px;transform:rotate(-90deg)}
.timer .t{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums;min-width:56px}
.timer button{background:rgba(255,255,255,.12);color:var(--white);border-radius:999px;padding:8px 12px;font-size:13px;white-space:nowrap}
.timer.done{background:var(--lime);color:var(--lime-ink)}
.timer.done button{background:rgba(0,0,0,.1);color:var(--lime-ink)}

/* graphiques */
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart text{font-family:var(--font);font-size:10px;fill:var(--faint)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:620px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{background:var(--card-2);border-radius:var(--r-m);padding:14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi .k{font-size:12.5px;color:var(--soft)}
.kpi .v{font-size:24px;font-weight:400;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi .s{font-size:12px;color:var(--faint)}
.kpi .s.good{color:var(--green-c)}.kpi .s.bad{color:var(--pink-c)}

/* calendrier */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .wd{font-size:11px;color:var(--faint);text-align:center;padding-bottom:4px}
.cal .c{aspect-ratio:1/1;max-width:100%;background:var(--card-2);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:13px;font-variant-numeric:tabular-nums}
.cal .c.out{background:transparent;color:var(--faint)}
.cal .c.today{box-shadow:inset 0 0 0 1.5px var(--ink)}
.cal .c .ds{display:flex;gap:3px;height:6px}
.cal .c .ds i{width:6px;height:6px;border-radius:50%}
.i-q{background:var(--lime)}.i-p{background:var(--green-b)}.i-w{background:var(--ink)}

/* photos */
.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ph{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:var(--card-2);display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:13px}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph .cap{position:absolute;left:8px;bottom:8px;font-size:11.5px;background:rgba(255,255,255,.85);color:var(--ink);border-radius:999px;padding:3px 9px}
.ph .x{position:absolute;right:6px;top:6px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.85);font-size:14px}
.ph label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.ph input{position:absolute;opacity:0;pointer-events:none}
.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}

/* navigation basse */
.nav{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;
  display:flex;gap:2px;background:rgba(250,250,250,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:999px;padding:6px;box-shadow:0 8px 30px rgba(0,0,0,.12);max-width:calc(100% - 24px)}
.nav a{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--soft);font-size:11px;padding:8px 12px;border-radius:999px;min-width:58px}
.nav a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}
.nav a[aria-current="page"]{background:var(--white);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}
@media (max-width:380px){.nav a{min-width:0;padding:8px 9px}}

/* feuille modale */
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:40;display:flex;align-items:flex-end;justify-content:center;padding:12px}
.sheet{background:var(--card);border-radius:var(--r-xl);padding:22px;width:100%;max-width:520px;display:flex;flex-direction:column;gap:14px;max-height:88vh;overflow:auto;margin-bottom:env(safe-area-inset-bottom,0px)}

/* connexion */
.auth{min-height:80vh;display:flex;align-items:center;justify-content:center}
.auth .box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}
.err{color:var(--pink-c);font-size:13.5px;min-height:1em}
.toast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translateX(-50%);z-index:50;background:var(--ink);color:var(--white);border-radius:999px;padding:10px 18px;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.empty{background:var(--card-2);border-radius:var(--r-m);padding:22px;text-align:center;color:var(--soft);font-size:14px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* scanner de produits */
.vh{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.cam-btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;flex:0 0 auto}
.cam-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
.photo-card{position:relative;overflow:hidden;isolation:isolate}
.photo-card::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;z-index:-1;filter:blur(40px);background:radial-gradient(circle,rgba(236,68,102,.55),transparent 70%)}
.thumbs{display:flex;gap:8px}
.thumbs img{width:96px;height:96px;object-fit:cover;border-radius:16px;background:var(--card-2)}
.vd{font-size:11.5px;font-weight:500;border-radius:999px;padding:2px 8px;white-space:nowrap}
.vd.big{font-size:14px;padding:7px 14px}
.vd-top{background:var(--lime);color:var(--lime-ink)}
.vd-ok{background:#d9f0dc;color:var(--green-c)}
.vd-bof{background:#ffe2c7;color:var(--orange-c)}
.vd-eviter{background:#ffd6e3;color:var(--pink-c)}
.advice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.advice>div{background:var(--white);border-radius:var(--r-m);padding:12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.advice .k,.portion .k{font-size:12px;color:var(--soft)}
.advice b{font-size:20px;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.advice span:last-child{font-size:12px;color:var(--soft)}
@media (max-width:480px){.advice{grid-template-columns:minmax(0,1fr)}}
.portion{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--white);border-radius:var(--r-m);padding:10px 14px}
.portion .qty span{min-width:64px}

/* habitudes, favoris, phases */
.hab3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:560px){.hab3{grid-template-columns:minmax(0,1fr)}}
.hab{background:var(--white);border-radius:var(--r-m);padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.hab .k{font-size:12.5px;color:var(--soft)}
.hab input{width:100%;border:0;background:var(--card);border-radius:12px;padding:9px 12px;font-size:18px;font-variant-numeric:tabular-nums}
.hab .qty{align-self:flex-start;background:var(--card)}
.hab .qty span{min-width:64px;font-size:16px}
.hab .s{font-size:11.5px;color:var(--faint)}
.hab.ok .line b{background:var(--green-b)}
.hab.ok .k::after{content:" ✓";color:var(--green-c)}
.favs{display:flex;flex-wrap:wrap;gap:8px}
.fav{background:var(--card-2);border-radius:18px;padding:11px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;transition:background .2s;max-width:100%}
.fav:hover{background:var(--white)}
.fav .n{font-weight:500;font-size:14.5px}
.fav .q{font-size:12px;color:var(--soft)}
.fav.locked{opacity:.4}
.star{font-size:15px;color:var(--ink)}
.notes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px;opacity:.92;max-width:60ch}
.item.tap{cursor:pointer}.item.tap:active{background:var(--white)}
.ver{font-size:11.5px;color:var(--faint);text-align:center;margin-top:8px}

/* photos de démonstration */
.slot-body{grid-template-columns:280px minmax(0,1fr)}
@media (max-width:640px){.slot-body{grid-template-columns:minmax(0,1fr)}}
.exm{position:relative;aspect-ratio:4/3;width:100%;border-radius:var(--r-l);overflow:hidden;background:#d9d9dc;cursor:pointer;isolation:isolate}
.exm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(1.04)}
.exm .f1{opacity:0;transition:opacity .35s ease}
.exm.end .f1{opacity:1}
.exm::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));pointer-events:none}
.exm-lab{position:absolute;left:10px;bottom:10px;z-index:2;display:flex;gap:4px;padding:3px;border-radius:999px;background:rgba(0,0,0,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.exm-lab button{font-size:12.5px;font-weight:500;padding:7px 14px;border-radius:999px;color:#fff;transition:background .2s,color .2s}
.exm-lab button[aria-pressed="true"]{background:var(--lime);color:var(--lime-ink)}
.prio .exm{box-shadow:0 0 0 2px var(--lime)}
@media (prefers-reduced-motion:reduce){.exm .f1{transition:none}}

/* progression muscu */
.tag.warn{background:#ffe2c7;color:var(--orange-c)}
.advice-line{font-size:13px;color:var(--orange-c);background:#fff1e4;border-radius:14px;padding:9px 12px;margin:0}
.deload{border:1.5px dashed var(--line)}
.deload.on{border:0;background:linear-gradient(135deg,#ffe6ec,#f2f2f2)}

/* couleurs du logo : dégradé rose-rouge sur blanc */
.btn-lime,.tag,.vd-top,.setrow .ok[aria-pressed="true"],.exm-lab button[aria-pressed="true"],.timer.done,.pill .dot,.badge i,.ldot{background:var(--brand);color:#fff}
.btn-lime{box-shadow:0 6px 16px rgba(229,56,74,.28)}
.hero .state.lime{background:#fff;color:#e5384a}
.mac.hit::before{background:radial-gradient(50% 60% at 30% 30%,#ffa3be,transparent 70%),linear-gradient(140deg,#f2548d,#e5384a)}
.hab.ok .line b{background:var(--brand)}
.hab.ok .k::after{color:#e5384a}
.i-q{background:#e5384a}.i-p{background:#f7a3b8}
.photo-card::before{background:radial-gradient(circle,rgba(242,84,141,.35),transparent 70%)}
.vd-ok{background:#ffe6ec;color:#c8203f}
.pill.full .dot{background:#7d0c25}
.chip.vd-top{color:#fff}
