.nutrition-budget-detail-button {
  cursor: pointer;
  transition:
    transform .12s ease,
    background .12s ease,
    border-color .12s ease;
}

.nutrition-budget-detail-button:active {
  transform: scale(.985);
}

.nutrition-budget-detail-button:focus-visible {
  outline: 2px solid rgba(255,122,50,.65);
  outline-offset: 2px;
}

.nutrition-budget-detail-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.nutrition-budget-detail-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.06);
}

.nutrition-budget-detail-row span {
  display: block;
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.nutrition-budget-detail-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.nutrition-budget-detail-row strong {
  color: var(--text);
  font-size: 13px;
  white-space: nowrap;
}

.nutrition-budget-detail-total {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  margin-top: 3px;
  padding: 12px;
  border-radius: 13px;
  background: rgba(255,122,50,.11);
  border: 1px solid rgba(255,122,50,.22);
}

.nutrition-budget-detail-total span {
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 800;
}

.nutrition-budget-detail-total strong {
  color: var(--orange);
  font-size: 15px;
  white-space: nowrap;
}

.nutrition-budget-detail-empty {
  padding: 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  border: 1px dashed rgba(255,255,255,.08);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

/* Consommé : groupes et actions par swipe */
.nutrition-consumed-group {
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.025);
}

.nutrition-consumed-group > summary,
.nutrition-consumed-meal > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  list-style: none;
  cursor: pointer;
}

.nutrition-consumed-group > summary::-webkit-details-marker,
.nutrition-consumed-meal > summary::-webkit-details-marker { display:none; }

.nutrition-consumed-group summary small,
.nutrition-consumed-item small {
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  font-weight:500;
}

.nutrition-consumed-group summary > span,
.nutrition-consumed-item > span {
  white-space:nowrap;
  font-weight:800;
}

.nutrition-consumed-group-body { border-top:1px solid rgba(255,255,255,.06); }

.nutrition-consumed-swipe {
  position:relative;
  overflow:hidden;
  min-height:56px;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.nutrition-consumed-swipe:last-child { border-bottom:0; }

.nutrition-consumed-actions {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  z-index:2;
  display:flex;
  width:120px;
  pointer-events:auto;
}

.nutrition-consumed-actions button {
  position:relative;
  z-index:3;
  width:60px;
  min-width:60px;
  min-height:56px;
  padding:0;
  border:0;
  border-radius:0;
  color:#fff;
  font-size:21px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.nutrition-consumed-actions button:first-child { background:#38546a; }
.nutrition-consumed-actions button:last-child { background:#7a3036; }

.nutrition-consumed-item,
.nutrition-consumed-meal {
  position:relative;
  z-index:4;
  background:#102330;
  transform:translateX(0);
  transition:transform .18s ease;
}

.nutrition-consumed-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:56px;
  padding:11px 14px;
}

.nutrition-consumed-swipe.swiped .nutrition-consumed-item,
.nutrition-consumed-swipe.swiped .nutrition-consumed-meal {
  transform:translateX(-120px);
  z-index:1;
}

.nutrition-consumed-swipe.swiped .nutrition-consumed-actions { z-index:5; }
.nutrition-consumed-swipe.swiped .nutrition-consumed-actions button { pointer-events:auto; }

.nutrition-consumed-items > div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 16px 9px 28px;
  color:var(--muted);
  font-size:12px;
}
