/* Caixa: avisos e Início do mês */
.cx-note { display: flex; align-items: center; justify-content: space-between; gap: 12px 18px; flex-wrap: wrap; padding: 14px 18px; margin: 0 0 18px; border-radius: 14px; background: var(--areia); border: 1px solid var(--areia-borda); color: #5F4A30; font-size: 14px; line-height: 1.45; }
.cx-note b { font-weight: 600; color: var(--grafite); }
.cx-note > span { flex: 1 1 320px; }
.cx-ophead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; }
.cx-opdate { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--taupe); }
.cx-opdate input { width: auto; }
/* Contas a pagar */
.pg-tbl td { vertical-align: middle; }
.pg-tbl .pg-date { font-variant-numeric: tabular-nums; color: var(--taupe); width: 58px; }
.pg-tbl .pg-name { font-weight: 500; color: var(--grafite); }
.pg-tbl tr.pg-bad .pg-date { color: var(--erro); font-weight: 600; }
.pg-tbl td.r .btn { margin-left: 4px; }
.pg-alert { background: var(--erro-bg, #F6E6E3); border-color: #E6C4BE; color: #7A3A31; }
.pg-ev { margin-top: 10px; }
.pg-ev summary, .pg-imp summary { cursor: pointer; color: var(--taupe); font-size: 14px; }
.pg-imp summary b { color: var(--grafite); font-weight: 600; }
.pg-imp .tbl select, .pg-imp .tbl input { min-width: 0; }
/* Resultado do mês */
.dre .row.sub .k { padding-left: 14px; }
.dre .row.sub .v { color: var(--taupe); }
.dre .row.tot .k { color: var(--grafite); font-weight: 600; }
.dre .row.tot .v { font-weight: 600; }
.dre .row.big { padding: 14px 0; }
.dre .row.big .v { font: 500 24px var(--serif); }
.dre .row.big.good .v { color: var(--ok); }
.dre .row.big.bad .v { color: var(--erro); }
@media (max-width: 640px) {
  .pg-tbl, .pg-tbl tbody { display: block; }
  .pg-tbl tr { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: "d n v" "d q a"; gap: 6px 10px; padding: 12px 14px; border-top: 1px solid var(--linho); align-items: center; }
  .pg-tbl tr:first-child { border-top: 0; }
  .pg-tbl td { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
  .pg-tbl td:nth-child(1) { grid-area: d; align-self: start; }
  .pg-tbl td:nth-child(2) { grid-area: n; }
  .pg-tbl td:nth-child(3) { grid-area: q; }
  .pg-tbl td:nth-child(4) { grid-area: v; }
  .pg-tbl td:nth-child(5) { grid-area: a; justify-self: end; white-space: nowrap; }
  .pg-tbl td.r .btn { margin-left: 4px; }
}

.pg-tbl .pg-val { font-weight: 600; color: var(--grafite); }
