.nutri-resultados { display: grid; gap: 6px; max-height: 380px; overflow: auto; margin: 12px 0; container-type: inline-size; }
.nutri-resultados button { text-align: left; }
.nutri-composicao { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; }
.nutri-composicao dd { margin: 0; }
.folha .nutri-resultados { overscroll-behavior: contain; }

.dieta-pessoal-item{padding:16px 0;border-top:1px solid var(--borda);margin-top:16px}
.dieta-pessoal-item h3,.dieta-pessoal-item h4{margin:0 0 8px}
.cal-nutricao-resumo{padding:14px 0;border-block:1px solid var(--borda);margin-block:14px}
.cal-adicionar{display:flex;flex-direction:column;gap:10px}
.cal-exames{margin-block:16px}
#tela[data-tela="calendario"]{align-items:start;align-content:start}
#tela[data-tela="nutricao"]>details.cartao{grid-column:1/-1}
/* A lista de água (.agua-lista/.agua-registro) mudou no redesenho de 27/10/2026: estilos em base.css. */

/* Duas tabelas de alimentos (TACO e USDA, 27/10/2026): seletor com contagem e
 * selo de fonte em cada resultado. A cor do ponto é a mesma do selo. */
.tabelas-alimentos { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 10px; }
.tabela-chip { display: inline-flex; align-items: center; gap: 8px; }
/* Selecionado: vale o .chip[aria-pressed] geral (texto claro sobre o acento);
 * o ponto acompanha o texto, senão o da USDA some no fundo da mesma cor. */
.tabela-chip[aria-pressed='true'] .tabela-ponto { background: currentColor; }
.tabela-ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--tinta-3); }
.tabela-ponto.tabela-taco { background: var(--nutri, #2f9e6b); }
.tabela-ponto.tabela-usda { background: var(--acento); }
.tabela-qtd { font-weight: 800; }
.selo-fonte { flex: none; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .02em;
  border: 1px solid currentColor; }
.selo-taco { color: var(--nutri, #2f9e6b); }
.selo-usda { color: var(--acento); }
.nutri-original { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin-top: -6px; }

/* Lista e ficha de alimento (formato pedido pelo dono, 27/10/2026). Celular:
 * nome em cima e os macros numa linha. Largura de tabela: colunas com cabeçalho. */
.nutri-resultado { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.2fr) auto; gap: 4px 8px; align-items: center;
  width: 100%; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 14px; background: var(--superficie);
  color: var(--tinta); font: inherit; text-align: left; cursor: pointer; }
.nutri-resultado:hover, .nutri-resultado:focus-visible { border-color: var(--acento); }
.linha-nome { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-width: 0; }
.nutri-resultado-nome { min-width: 0; overflow-wrap: anywhere; font-weight: 650; }
.linha-grupo { flex-basis: 100%; color: var(--tinta-3); font-size: 12px; }
.linha-macro, .linha-kcal { display: flex; align-items: baseline; gap: 3px; min-width: 0; font-variant-numeric: tabular-nums; }
.linha-macro small { color: var(--tinta-3); font-size: 11px; }
.linha-macro strong, .linha-kcal strong { font-weight: 800; font-size: 13.5px; }
.linha-macro i, .linha-kcal i { font-style: normal; color: var(--tinta-3); font-size: 11px; }
.linha-kcal strong { color: var(--acento); }
.linha-cobertura { color: var(--tinta-3); font-size: 11px; font-variant-numeric: tabular-nums; }
.linha-cabecalho { display: none; }
/* Celular (pente fino 28/10): numa linha só, macros, kcal e "21/34" se
 * encavalavam a 390 px. Linha 1: nome e kcal; linha 2: os quatro macros, com o
 * rótulo em cima do número, e a cobertura no canto. */
.nutri-resultado { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; }
.linha-nome { grid-column: 1 / 5; }
.linha-kcal { grid-column: 5; grid-row: 1; flex-direction: column; align-items: flex-end; gap: 0; align-self: start; }
.linha-macro { flex-direction: column; align-items: flex-start; gap: 0; }
.linha-cobertura { grid-column: 5; grid-row: 2; justify-self: end; align-self: end; }
@container (min-width: 560px) {
  .nutri-resultado, .linha-cabecalho { grid-template-columns: minmax(0, 1fr) repeat(4, 62px) 78px 44px; }
  .linha-nome, .linha-kcal, .linha-cobertura { grid-column: auto; grid-row: auto; }
  .linha-macro, .linha-kcal { flex-direction: row; align-items: baseline; gap: 3px; }
  .linha-cobertura { justify-self: start; align-self: center; }
  .linha-macro small { display: none; }
  .linha-cabecalho { display: grid; gap: 8px; padding: 0 12px; color: var(--tinta-3); font-size: 11px; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase; }
}

.ficha-alimento { display: flex; flex-direction: column; gap: 12px; margin: 8px 0 14px; container-type: inline-size; }
.ficha-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ficha-topo h3 { margin: 0; font-size: 16px; font-weight: 700; }
.ficha-topo .sub { margin: 2px 0 0; }
.ficha-kcal { flex: none; text-align: right; }
.ficha-kcal strong { display: block; font-size: 28px; line-height: 1.1; font-weight: 800; color: var(--acento); font-variant-numeric: tabular-nums; }
.ficha-kcal span { color: var(--tinta-3); font-size: 12px; }
.ficha-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@container (min-width: 480px) { .ficha-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ficha-ladrilho { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 12px; background: var(--superficie-2); min-width: 0; }
.ficha-ladrilho > span { color: var(--tinta-3); font-size: 12px; overflow-wrap: anywhere; }
.ficha-ladrilho strong { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ficha-ladrilho strong i { font-style: normal; font-weight: 400; font-size: 12px; color: var(--tinta-3); }
.ficha-ladrilho.vazio strong { color: var(--tinta-3); font-weight: 400; }
.ficha-secao { display: flex; flex-direction: column; gap: 8px; }
.ficha-secao-topo { display: flex; justify-content: space-between; align-items: center; min-height: 36px; cursor: pointer; list-style: none; }
.ficha-secao-topo::-webkit-details-marker { display: none; }
.ficha-secao-topo h4 { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--tinta-2, var(--tinta)); }
.ficha-secao-topo > span { color: var(--tinta-3); font-size: 12px; font-variant-numeric: tabular-nums; }
details.ficha-secao > summary h4::before { content: '▸ '; }
details.ficha-secao[open] > summary h4::before { content: '▾ '; }
details.ficha-secao[open] { gap: 8px; }
/* No computador, a folha do editor de refeição alarga para a lista virar
 * tabela (até 880 px); no celular ela já ocupa a largura toda. */
.folha:has(.nutri-resultados) { max-width: 880px; }
.nutri-mais { justify-self: center; margin: 4px 0 2px; }

/* Meus alimentos (28/10/2026): chip, selo e o formulário do rótulo. */
.tabela-ponto.tabela-meus { background: #b26b00; }
.selo-meu { color: #b26b00; }
@media (prefers-color-scheme: dark) { :root:where(:not([data-modo='claro'])) :is(.selo-meu) { color: #f2b45a; } :root:where(:not([data-modo='claro'])) .tabela-ponto.tabela-meus { background: #f2b45a; } }
:root[data-modo='escuro'] .selo-meu { color: #f2b45a; }
:root[data-modo='escuro'] .tabela-ponto.tabela-meus { background: #f2b45a; }

/* Receitas-padrão de lanchonete (29/10/2026): chip, selo e a receita na ficha. */
.tabela-ponto.tabela-receitas { background: #8a4fbf; }
.selo-receita { color: #8a4fbf; }
@media (prefers-color-scheme: dark) { :root:where(:not([data-modo='claro'])) :is(.selo-receita) { color: #c79cf0; } :root:where(:not([data-modo='claro'])) .tabela-ponto.tabela-receitas { background: #c79cf0; } }
:root[data-modo='escuro'] .selo-receita { color: #c79cf0; }
:root[data-modo='escuro'] .tabela-ponto.tabela-receitas { background: #c79cf0; }
.ficha-receita { display: grid; gap: 4px; margin: 2px 0 6px; }
.ficha-receita p { margin: 0; }
.nutri-adicionar-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nutri-adicionar-topo h3 { margin: 0; }
.meu-alimento-form { display: flex; flex-direction: column; gap: 10px; margin: 8px 0 12px; }
.meu-alimento-form h3, .meu-alimento-form > .sub { margin: 0; }
.meu-alimento-rotulo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.meu-alimento-acoes { margin-top: 8px; }

/* Refeições prontas (28/10/2026). */
.refeicoes-prontas-acoes { margin: 4px 0 8px; }
.refeicoes-prontas { display: flex; flex-direction: column; gap: 10px; margin: 8px 0 12px; }
.refeicoes-prontas > h3, .refeicoes-prontas > .sub { margin: 0; }
.refeicao-pronta { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 14px; }
.refeicao-pronta .sub { margin: 0; }
.refeicao-pronta-itens { overflow-wrap: anywhere; }
