/* Tela "Formar proposta" (formador de propostas de rescisão). Usa as cores e componentes de app.css. */
.fm-erro { background: var(--vermelho-claro); color: var(--vermelho); border-left: 4px solid var(--vermelho); padding: .7rem 1rem; border-radius: 8px; }
.fm-enviado { background: var(--verde-claro); color: var(--verde); border-left: 4px solid var(--verde); padding: .7rem 1rem; border-radius: 8px; font-weight: 600; }
.fm-avisos { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .4rem; }
.fm-avisos li { padding: .5rem .9rem; border-radius: 8px; font-size: .93rem; border-left: 4px solid var(--marca-laranja); background: var(--amarelo-claro); }
.fm-avisos li.erro { border-color: var(--vermelho); background: var(--vermelho-claro); color: var(--vermelho); }
.soltar.ocupada { opacity: .7; pointer-events: none; }

.fm-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0 1rem; }
.fm-grade .campo select { font: inherit; padding: .55rem .7rem; border: 2px solid var(--borda); border-radius: 10px; background: #fff; }
.fm-rubricas { border: 1px solid var(--borda); border-radius: 10px; padding: .6rem .9rem .8rem; margin: .4rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fm-rubricas legend { font-weight: 600; color: var(--suave); font-size: .92rem; padding: 0 .4rem; }
.fm-rubricas label { display: inline-flex; align-items: center; gap: .4rem; font-size: .9rem; padding: .3rem .7rem; border: 1px solid var(--borda); border-radius: 999px; background: var(--marca-creme); cursor: pointer; }
.fm-rubricas label:has(input:checked) { background: var(--marca-verde); border-color: var(--marca-verde); color: #fff; }
.fm-rubricas .botoes { margin: 0; }

.fm-simulador th small { font-weight: 400; }
.fm-simulador th.fm-min { color: var(--amarelo); }
.fm-simulador th.fm-max { color: var(--verde); }
.fm-simulador tr.fm-destaque td { font-weight: 700; background: var(--amarelo-claro); }
.fm-simulador tfoot td { font-weight: 700; background: var(--cinza-claro); }
.fm-simulador tfoot tr:last-child td { background: #fff; border-bottom: 0; }
.fm-simulador td, .fm-simulador th { padding: .45rem .8rem; }

.fm-busca { max-width: 340px; }
.fm-rolagem { max-height: 65vh; overflow: auto; border: 1px solid var(--borda); border-radius: var(--raio); }
.fm-tabela { font-size: .9rem; border: 0; }
.fm-tabela th { position: sticky; top: 0; z-index: 1; white-space: nowrap; }
.fm-tabela td { padding: .35rem .6rem; vertical-align: middle; white-space: nowrap; }
.fm-tabela tbody tr:nth-child(even) td { background: var(--marca-creme); }
.fm-tabela .forte { font-weight: 700; }
.fm-nome { font-weight: 600; color: var(--marca-verde); }
.fm-valor { width: 7rem; text-align: right; font: inherit; padding: .3rem .5rem; border: 2px solid #e8dd8a; border-radius: 8px; background: #ffff99; }
.fm-valor.curto { width: 3.6rem; text-align: center; }
.fm-valor.sugerido { background: #fffde3; color: var(--suave); font-style: italic; }
.fm-valor:focus { border-color: var(--azul); outline: none; }
.fm-simular { white-space: nowrap; }

.fm-barra {
  position: sticky; bottom: 0; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem;
  margin: 1rem -1rem 0; padding: .8rem 1rem; background: #fff; border-top: 1px solid var(--borda); box-shadow: 0 -6px 18px rgba(0, 0, 0, .06);
}
.fm-barra .botoes { margin: 0; }

.fm-sim-entrada { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem; }
.fm-sim-entrada .campo input { width: 11rem; text-align: right; font-weight: 700; background: #ffff99; }
.fm-atalhos { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .9rem; }
.fm-chip { font: inherit; font-size: .85rem; padding: .3rem .8rem; border-radius: 999px; border: 1px solid var(--borda); background: var(--marca-creme); cursor: pointer; }
.fm-chip:hover { border-color: var(--marca-verde); }
.fm-sim-resumo { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-bottom: .9rem; }
.fm-sim-resumo div { border: 1px solid var(--borda); border-top: 3px solid var(--marca-laranja); border-radius: 10px; padding: .5rem .8rem; }
.fm-sim-resumo div:last-child { border-top-color: var(--marca-verde); }
.fm-sim-resumo small, .fm-sim-resumo span { display: block; color: var(--suave); font-size: .82rem; }
.fm-sim-resumo strong { font-size: 1.3rem; }
.fm-opcoes td { vertical-align: middle; }
.fm-opcoes tr.fm-escolhida td { background: var(--verde-claro); }
.fm-alerta { background: var(--amarelo-claro); border-left: 4px solid var(--marca-laranja); padding: .7rem 1rem; border-radius: 8px; }
.fm-conferencia { padding-left: 1.2rem; }
.fm-lista-problemas { max-height: 40vh; overflow: auto; }

@media (max-width: 760px) {
  .fm-sim-resumo { grid-template-columns: 1fr; }
  .fm-barra .botoes { width: 100%; }
  .fm-barra .botao { flex: 1 1 100%; }
}
