/* Accueil : la journée d'abord (objectif, ce qui est prévu, ce qui reste), puis les tendances */
.today { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px; }
@media (max-width: 860px) { .today { grid-template-columns: 1fr; } }
.kcal-head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.kcal-head .big { font: 800 clamp(40px, 7vw, 56px)/1 var(--f-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.kcal-head .of { font: 500 18px var(--f-data); color: var(--muted); }
.kcal-track { height: 14px; border-radius: 99px; background: var(--line); overflow: hidden; }
.kcal-track b { display: block; height: 100%; background: var(--basil); border-radius: 99px; transition: width .4s ease-out; }
.kcal-track.over b { background: var(--danger); }
.remain { font-size: 15px; }
.remain b { font-family: var(--f-data); font-weight: 500; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.sport-chip { display: inline-flex; gap: 6px; align-items: center; border-radius: 99px; padding: 4px 12px; font-size: 13px; font-weight: 700; background: var(--tab-snk); color: var(--ink); }
.meals { display: flex; flex-direction: column; gap: 10px; }
.meal { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.meal .slot { font: 700 11px var(--f-data); text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.meal a.t { font-weight: 700; color: var(--ink); text-decoration: none; }
.meal .k { font: 13px var(--f-data); color: var(--muted); white-space: nowrap; }
.calc { font-size: 14px; color: var(--muted); }
.calc table { border-collapse: collapse; margin-top: 8px; font-variant-numeric: tabular-nums; }
.calc td { padding: 3px 0; }
.calc td:last-child { text-align: right; padding-left: 24px; font-family: var(--f-data); color: var(--ink); }
.calc tr.sum td { border-top: 1px solid var(--line); font-weight: 700; padding-top: 6px; }
.banner { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--tab-pdj); color: var(--ink); border-radius: var(--radius); padding: 14px 16px; }
.charts .panel:only-child { grid-column: 1 / -1; }
