/* Aba Evolução: colunas por semana, gráfico de linha. */
/* ---------- evolução ---------- */
.colunas { display: flex; align-items: flex-end; gap: 6px; height: 140px; }
.col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; }
.col .valor { font-size: 11px; color: var(--sub); }
.coluna { width: 100%; max-width: 28px; background: var(--borda); border-radius: 4px 4px 0 0; }
.coluna.meta { background: var(--accent); }
.col .rot { font-size: 9px; color: var(--sub); margin-top: 4px; white-space: nowrap; }
.grafico { width: 100%; height: auto; display: block; margin: 6px 0 10px; }
.grafico .eixo { stroke: var(--borda); }
.grafico .rot { font-size: 9px; fill: var(--sub); }
.grafico .linha-graf { fill: none; stroke: var(--accent); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.grafico .ponto { fill: var(--accent); }
.passos { margin: 0 0 12px; padding-left: 20px; }
.passos li { margin-bottom: 4px; }

/* conquistas e recordes */
.medalhas { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 8px; }
.medalha { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 4px 8px; cursor: pointer;
  background: var(--bg); border: 1px solid var(--borda); border-radius: 12px; color: var(--sub); font: inherit; }
.medalha .ic { font-size: 28px; filter: grayscale(1); opacity: .45; }
.medalha .nm { font-size: 11px; line-height: 1.2; text-align: center; }
.medalha.on { border-color: var(--accent); background: var(--accent-suave); color: var(--texto); }
.medalha.on .ic { filter: none; opacity: 1; }
.mini-barra { width: 70%; height: 4px; background: var(--borda); border-radius: 2px; overflow: hidden; }
.mini-barra span { display: block; height: 100%; background: var(--accent); }
.link-linha { width: 100%; background: none; border: 0; border-bottom: 1px dashed var(--borda); color: var(--texto); font: inherit; cursor: pointer; text-align: left; }
details summary { cursor: pointer; padding: 6px 0; }

/* avaliação corporal */
.aval { padding: 8px 0; border-bottom: 1px dashed var(--borda); }
.aval:last-of-type { border-bottom: 0; }
.aval-cab { display: flex; justify-content: space-between; gap: 10px; }
.aval-classe { font-weight: 700; font-size: 13px; margin: 2px 0; }
.aval.ok .aval-classe { color: var(--accent); }
.aval.atencao .aval-classe { color: #e0a412; }
.aval.alto .aval-classe { color: var(--nao); }
.aval.baixo .aval-classe { color: #4a9eda; }
.grade-medidas { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.grade-medidas .btn { grid-column: 1 / -1; }
