/* =====================================================================
   Lançamentos: filtros, grupos por dia e item da lista
   Fonte: /mockup/css/style.css (seção 11). Views: app/views/lancamentos
   ===================================================================== */
.filtros { display: grid; gap: var(--espaco-3); padding: var(--espaco-3-5); }
.filtros-linha { display: grid; grid-template-columns: minmax(0, 2fr) repeat(5, minmax(0, 1fr)); gap: var(--espaco-2-5); align-items: end; }
.filtros .campo > label { font-size: var(--tamanho-xs); }
.filtros .input, .filtros .select { min-height: 38px; font-size: var(--tamanho-md); padding-top: 7px; padding-bottom: 7px; }
.filtros-rodape { display: flex; align-items: center; justify-content: space-between; gap: var(--espaco-3); flex-wrap: wrap; }
.filtros-toggle { display: none; }
@media (max-width: 1100px) { .filtros-linha { grid-template-columns: repeat(3, minmax(0, 1fr)); } .filtros-linha .campo-busca { grid-column: 1 / -1; } }
@media (max-width: 640px) {
  .filtros-linha { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filtros-toggle { display: inline-flex; }
  .filtros:not(.aberto) .filtros-linha .campo:not(.campo-busca) { display: none; }
}

.dia-grupo + .dia-grupo { margin-top: 18px; }
.dia-titulo { display: flex; justify-content: space-between; align-items: baseline; gap: var(--espaco-3); padding: 0 var(--espaco-1) var(--espaco-2); font-size: var(--tamanho-sm); font-weight: var(--peso-semibold); color: var(--texto-2); }

.lanc { display: flex; align-items: center; gap: var(--espaco-1); padding-right: var(--espaco-2); transition: background-color var(--transicao); }
.lanc:hover { background: var(--superficie-2); }
.lanc-principal { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--espaco-3); padding: var(--espaco-3) var(--espaco-2) var(--espaco-3) var(--espaco-4); text-align: left; border-radius: 0; }
/* Rails: o item é um link para o formulário de edição; mantém a aparência do botão do mockup */
a.lanc-principal { color: inherit; }
a.lanc-principal:hover { text-decoration: none; }
.lanc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--espaco-0-5); }
.lanc-desc { font-weight: var(--peso-semibold); font-size: var(--tamanho-base); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lanc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espaco-0-5) var(--espaco-2); font-size: 12.5px; color: var(--texto-3); }
.lanc-valor { font-weight: var(--peso-bold); font-size: var(--tamanho-base); white-space: nowrap; font-variant-numeric: tabular-nums; text-align: right; }
.lanc-valor.receita { color: var(--receita-texto); }
.lanc-valor.despesa { color: var(--despesa-texto); }
.lanc-valor small { display: block; font-weight: var(--peso-medio); }
.lanc-acoes { display: flex; gap: 0; opacity: .75; }
.lanc:hover .lanc-acoes, .lanc:focus-within .lanc-acoes { opacity: 1; }
@media (max-width: 640px) {
  .lanc { flex-wrap: wrap; padding-right: 0; }
  .lanc-principal { padding: var(--espaco-3) var(--espaco-3) var(--espaco-1); gap: var(--espaco-2-5); }
  .lanc-acoes { width: 100%; justify-content: flex-end; padding: 0 var(--espaco-1-5) var(--espaco-1-5); opacity: 1; }
  .lanc-desc { font-size: 14.5px; }
}
