.msj-fin-section { padding: 12px 0 32px; }
.msj-fin-heading { margin-bottom: 20px; }
.msj-fin-heading h2 { margin: 0 0 6px; }
.msj-fin-heading p { margin: 0; opacity: .75; }
.msj-fin-panel {
  border: 1px solid rgba(148,163,184,.25);
  border-radius: 16px;
  padding: 22px;
  margin-bottom: 22px;
}
.msj-fin-panel h3 { margin-top: 0; }
.msj-fin-form {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}
.msj-fin-form label { display: grid; gap: 7px; }
.msj-fin-form input:not([type=checkbox]),
.msj-fin-form select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 12px;
  border-radius: 10px;
}
.msj-fin-check { display: flex !important; align-items: center; }
.msj-fin-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.msj-fin-metrics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.msj-fin-metrics article {
  padding: 20px;
  border: 1px solid rgba(148,163,184,.25);
  border-radius: 14px;
}
.msj-fin-metrics span { display: block; font-size: 13px; opacity: .75; }
.msj-fin-metrics strong { display: block; font-size: 24px; margin-top: 8px; }
.msj-fin-table-wrap { overflow-x: auto; }
.msj-fin-table { width: 100%; border-collapse: collapse; text-align: left; }
.msj-fin-table th, .msj-fin-table td {
  padding: 13px 12px;
  border-bottom: 1px solid rgba(148,163,184,.2);
  white-space: nowrap;
}
.msj-fin-table button { padding: 9px 12px; cursor: pointer; }
#msj-ass-aviso, #msj-fin-aviso { min-height: 20px; }
@media (max-width: 650px) {
  .msj-fin-form, .msj-fin-metrics { grid-template-columns: 1fr; }
  .msj-fin-panel { padding: 16px; }
  .msj-fin-metrics strong { font-size: 21px; }
}

/* Filtros financeiros MSJ */
.msj-fin-filtros { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:12px 0 14px; align-items:end; }
.msj-fin-filtros label { display:grid; gap:6px; min-width:0; font-size:13px; }
.msj-fin-filtros input,.msj-fin-filtros select { box-sizing:border-box; width:100%; min-width:0; padding:11px; border-radius:10px; }
.msj-fin-filtros button { padding:11px 14px; border-radius:10px; cursor:pointer; }
#msj-fin-contagem { margin:10px 0 14px; opacity:.8; font-size:14px; }
@media(max-width:850px){.msj-fin-filtros{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:550px){.msj-fin-filtros{grid-template-columns:1fr;}}

/* Refinamento financeiro MSJ */
.msj-fin-status {display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:650;white-space:nowrap;border:1px solid transparent}
.msj-fin-status--pago {background:#e5f5eb;color:#166534;border-color:#bbebcb}
.msj-fin-status--pendente {background:#fff3d8;color:#854d0e;border-color:#f7dea3}
.msj-fin-status--atrasado {background:#fee8e7;color:#991b1b;border-color:#f9c5c2}
#msj-fin-limpar {justify-self:start;min-width:135px;width:auto;padding:10px 14px;border:1px solid rgba(100,116,139,.35);background:transparent;color:inherit;font-weight:600}
#msj-fin-limpar:hover {background:rgba(148,163,184,.12)}
@media(max-width:550px){#msj-fin-limpar{width:100%}}
