/* Tela Análises. Só tokens. .topo, .titulo-tela, .titulo-secao, .cartao, .botao, .valor e .suave vêm de base.css. */

.analises dl, .analises dd, .analises dt { margin: 0; }
/* minmax(0, 1fr): rótulo comprido não pode alargar o cartão além da tela */
.an-cartao { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }

/* troca de mês, à direita do título */
.an-mes { display: flex; align-items: center; gap: 0; margin-right: -10px; }
.an-seta {
  display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0;
  border: 0; border-radius: 50%; background: none; color: var(--texto);
}
.an-seta:active { background: var(--superficie-2); }
.an-seta:disabled { opacity: .3; cursor: default; }
.an-seta .icone { width: 22px; height: 22px; }
.an-mes-nome { min-width: 5.5em; text-align: center; font-size: .9375rem; font-weight: 650; color: var(--texto); }
/* fora do mês atual, o nome vira botão de volta */
.an-voltar {
  display: grid; justify-items: center; align-content: center; min-height: 44px; padding: 0 4px;
  border: 0; border-radius: var(--raio-p); background: none; line-height: 1.15;
}
.an-voltar small { font-size: .75rem; font-weight: 600; color: var(--destaque); }
.an-voltar:active { background: var(--superficie-2); }

/* fatura do cartão: à parte das categorias, porque é meio de pagamento e não destino */
.an-fatura { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 16px; border-top: 1px solid var(--borda); }
.an-fatura .ranking-rotulo { white-space: normal; }
.an-fatura .an-nota { margin-top: 0; }

/* resumo do mês */
.an-resumo { display: grid; gap: 4px; margin-top: 8px; }
.an-rotulo { font-size: .875rem; font-weight: 600; }
.an-resumo .valor.grande { margin-bottom: 12px; }
.an-par { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px 0 14px; border-top: 1px solid var(--borda); }
.an-par dt { font-size: .8125rem; }
.an-par dd { margin-top: 2px; font-size: 1.125rem; font-weight: 650; color: var(--texto); }
.an-nota { margin-top: 8px; font-size: .8125rem; line-height: 1.45; }

/* leitura do mês: texto solto entre cartões, sem moldura */
.an-leitura { display: grid; gap: 10px; padding: 0 4px; }
.an-leitura li { padding-left: 14px; border-left: 3px solid var(--destaque); font-size: .9375rem; line-height: 1.45; color: var(--texto); }

/* casal */
.an-pessoas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.an-pessoa { min-width: 0; padding: 12px; border-radius: var(--raio-p); background: var(--superficie-2); }
.an-pessoa h3 { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: .9375rem; font-weight: 650; color: var(--texto); }
.an-pessoa dl { display: grid; gap: 8px; }
.an-pessoa dt { font-size: .75rem; }
.an-pessoa dd { font-size: .9375rem; font-weight: 650; color: var(--texto); }
.an-pessoa dd.positivo { color: var(--positivo); }
.an-pessoa dd.negativo { color: var(--negativo); }
.an-ponto { display: inline-block; flex: none; width: 10px; height: 10px; border-radius: 50%; }
.an-comparar > p { margin-bottom: 8px; font-size: .8125rem; }
.an-frase { padding-top: 14px; border-top: 1px solid var(--borda); font-size: .9375rem; line-height: 1.5; color: var(--texto); }

/* acerto */
.an-acerto { font-size: 1.25rem; line-height: 1.3; font-weight: 650; letter-spacing: -.01em; color: var(--texto); }
.an-tabela { width: 100%; border-collapse: collapse; font-size: .875rem; }
.an-tabela th, .an-tabela td { padding: 10px 0; text-align: right; font-weight: 400; }
.an-tabela thead th { padding-top: 0; font-size: .75rem; color: var(--texto-suave); }
.an-tabela tbody tr { border-top: 1px solid var(--borda); }
.an-tabela tbody th { display: flex; align-items: center; gap: 8px; text-align: left; font-weight: 650; color: var(--texto); }
.an-cartao > .an-nota { margin-top: 0; }
.an-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* mês vazio */
.an-vazio { display: grid; justify-items: center; gap: 8px; margin-top: 8px; padding-block: 36px; text-align: center; }
.an-vazio-icone { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; color: var(--destaque); background: var(--superficie-2); }
.an-vazio-icone .icone { width: 26px; height: 26px; }
.an-vazio h2 { margin-top: 6px; font-size: 1.125rem; font-weight: 650; color: var(--texto); }
.an-vazio p { max-width: 30ch; font-size: .9375rem; line-height: 1.45; }
.an-vazio-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 12px; }

/* mês futuro só com contas fixas: uma linha, sem barra */
.an-so-fixos { display: flex; justify-content: space-between; gap: 12px; font-size: .9375rem; color: var(--texto); }
.an-so-fixos .valor { font-weight: 650; }
