/* Accueil : semaine, calories, eau, macros, repas, plats sénégalais, ajout libre */
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.day{aspect-ratio:1;max-width:100%;border-radius:50%;border:2px solid transparent;background:var(--surface);color:var(--fg);font:inherit;font-weight:600;font-size:15px;cursor:pointer;display:grid;place-items:center;position:relative;padding:0}
.day.sel{border-color:var(--accent);color:var(--acc-t)}
.day:disabled{opacity:.3;cursor:default}
.day.has::after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--accent)}

/* Ligne du haut : calories + eau */
.top-row{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:10px}
.eaten{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.eaten-txt{min-width:0}
.top-row .big b{font-size:clamp(34px,10vw,52px)}
.top-row .h-ring{width:clamp(58px,16vw,84px);height:clamp(58px,16vw,84px)}

/* Verre d'eau */
.water{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px 12px;color:var(--fg);font:inherit;cursor:pointer;text-align:center}
.water:hover{border-color:var(--water-hover)}
.water .lbl{align-self:flex-start;padding-left:4px}
.glass{position:relative;width:76px;flex:1;min-height:92px;border:2px solid var(--glass-line);border-top-width:0;border-radius:6px 6px 22px 22px;overflow:hidden;background:var(--glass)}
.glass::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--glass-line);z-index:3}
.glass.done{border-color:var(--water-top)}
.water-fill{position:absolute;left:0;right:0;bottom:0;height:var(--fill,0%);background:linear-gradient(var(--water-top),var(--water-bottom))}
.water-fill.empty{opacity:0}
.wave{position:absolute;left:0;bottom:calc(100% - 4px);width:200%;height:12px;display:block;max-width:none}
.wave path{fill:var(--wave1)}
.wave.w2{opacity:.55;bottom:calc(100% - 2px);height:14px}
.wave.w2 path{fill:var(--wave2)}
.bubbles i{position:absolute;left:var(--x);bottom:0;width:var(--z);height:var(--z);border-radius:50%;border:1.5px solid rgba(255,255,255,.75);background:rgba(255,255,255,.18);opacity:0}
.bubbles i:nth-child(1){--x:18%;--d:0s;--t:3.2s;--z:6px}
.bubbles i:nth-child(2){--x:42%;--d:1.1s;--t:2.6s;--z:4px}
.bubbles i:nth-child(3){--x:64%;--d:.5s;--t:3.8s;--z:7px}
.bubbles i:nth-child(4){--x:80%;--d:1.9s;--t:2.9s;--z:5px}
.bubbles i:nth-child(5){--x:30%;--d:2.4s;--t:3.4s;--z:4px}
.bubbles i:nth-child(6){--x:55%;--d:1.6s;--t:2.4s;--z:6px}
.glass-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;color:var(--fg);text-shadow:0 0 6px var(--surface),0 0 2px var(--surface);line-height:1.05}
.glass-txt b{font-family:var(--display);font-size:20px;font-variant-numeric:tabular-nums}
.glass-txt small{font-size:11px;color:var(--fg);opacity:.85;font-weight:600}
/* Effet verre bleuté quand l'eau atteint les chiffres */
.glass-txt.wet{text-shadow:none}
.glass-txt.wet b{color:rgba(225,243,255,.8);text-shadow:0 1px 1px rgba(255,255,255,.35),0 2px 6px rgba(8,62,120,.45),0 0 14px rgba(140,210,255,.55)}
.glass-txt.wet small{color:rgba(225,243,255,.72);opacity:1;text-shadow:0 1px 3px rgba(8,62,120,.45)}
.w-plus{color:var(--water-t);font-size:13px;font-weight:600}
.wq{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wq button{background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r-field);color:var(--fg);font:inherit;padding:12px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.wq button:hover{border-color:var(--water-top)}
.wq b{font-family:var(--display);font-size:17px}
.wq small{color:var(--muted);font-size:11px;text-align:center;line-height:1.2}

/* Macros */
.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.macro{padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.macro.prot{--c:var(--prot)}
.macro.carb{--c:var(--accent)}
.macro.fat{--c:var(--fat)}
.macro p{margin:0;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.macro b{font-family:var(--display);font-size:24px;color:var(--fg)}
.mbar{height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.mbar i{display:block;height:100%;width:var(--w,0%);background:var(--c);border-radius:3px}

/* Journal et plats */
.journal,.plats{display:flex;flex-direction:column;gap:12px}
.jitem{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-field);padding:10px 8px 10px 14px}
.jitem .t{flex:1;min-width:0}
.jitem small{color:var(--muted);display:block;font-size:13px}
.jitem .k{font-variant-numeric:tabular-nums;font-weight:600}
.dish{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:14px;cursor:pointer}
.dish:hover{border-color:var(--line2)}
.dish .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dish .n{font-weight:600;font-size:16px}
.dish .meta{color:var(--muted);font-size:13px}
.dish .k{font-family:var(--display);font-weight:700;font-size:20px;text-align:right;font-variant-numeric:tabular-nums;line-height:1;flex:none}
.dish .k small{display:block;font-family:var(--body);font-size:12px;color:var(--muted);font-weight:500;margin-top:4px}

/* Fenêtre de portion */
.oil-row{display:flex;align-items:center;gap:12px}
.oil-row>span{color:var(--muted);font-size:14px;flex:none;width:44px}
.seg.oil{flex:1}
.seg.oil button{padding:9px 4px}
.recipe summary{cursor:pointer;color:var(--acc-t);font-weight:600;font-size:14px;list-style:none;text-align:center}
.recipe summary::-webkit-details-marker{display:none}
.recipe[open] summary{margin-bottom:10px}
#sh-note{margin:8px 0 0;font-size:12px}

/* Ajout libre (IA) */
.cs-res{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card-sm);padding:14px;display:flex;flex-direction:column;gap:4px;text-align:center}
.cs-res .lbl{font-size:15px;color:var(--fg);font-weight:600}
.cs-res>b{font-family:var(--display);font-size:40px;color:var(--acc-t);line-height:1.1;font-variant-numeric:tabular-nums}
.cs-res>span,.cs-res>small{color:var(--muted);font-size:14px}
.cs-msg{margin:0!important;color:var(--muted);font-size:14px}
.cs-msg:empty{display:none}
.cs-mode{margin:0!important;font-size:12px;color:var(--muted);text-align:center}
.manual{display:flex;flex-direction:column;gap:8px}
.photo-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--tint);color:var(--acc-t);border:1.5px dashed color-mix(in srgb, var(--accent) 50%, transparent);border-radius:var(--r-field);padding:16px;font-weight:600;cursor:pointer}
.photo-btn:hover{border-style:solid}
.photo-btn span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.photo-btn small{font-size:12px;font-weight:500;color:var(--muted)}
.photo-row.used .photo-btn{opacity:.55;cursor:not-allowed;border-style:solid}
.photo-prev{position:relative;border-radius:var(--r-field);overflow:hidden;border:1px solid var(--line);max-height:220px}
.photo-prev img{display:block;width:100%;max-height:220px;object-fit:cover}
.photo-prev .x{position:absolute;top:8px;right:8px;background:var(--photo-x-bg);color:var(--photo-x-fg)}
