/* Propostas e reservas (T041). Mobile-first, base 360 px. Sem style inline (CSP). Cor nunca é o único sinal: todo estado tem texto. */

.chip.erro { background: var(--mm-erro-fundo); border-color: var(--mm-erro); color: var(--mm-erro); }

/* Prazos e contagem regressiva */
.prazos { margin: var(--mm-e2) 0; }
.prazo { display: flex; align-items: flex-start; gap: var(--mm-e2); margin: 0 0 var(--mm-e1); overflow-wrap: anywhere; }
.prazo .icone { flex: none; width: 18px; height: 18px; margin-top: 3px; }
.prazo.alerta { color: var(--mm-aviso-texto); font-weight: 600; }
.cartao-op .prazos { margin: var(--mm-e1) 0; }

/* Itens da proposta */
.item-proposta { overflow-wrap: anywhere; }
.item-proposta .dados-crm { margin-top: var(--mm-e2); }
.total-proposta { font-size: var(--mm-t-lg); margin: var(--mm-e3) 0 var(--mm-e1); }

/* Botões lado a lado só quando há espaço; no celular empilham com o espaço padrão entre alvos */
.acoes-lado { display: flex; flex-direction: column; gap: var(--mm-alvo-gap); margin-top: var(--mm-e3); }

.lista-links { list-style: none; margin: 0 0 var(--mm-e3); padding: 0; display: grid; gap: var(--mm-e2); }
.lista-links li { overflow-wrap: anywhere; }
.lista-links a { display: inline-flex; align-items: center; min-height: var(--mm-alvo); }

.interno > .cartao h3 { margin: var(--mm-e3) 0 var(--mm-e2); font-size: var(--mm-t-md, 1.05rem); }
.cartao .lista-cartoes { margin-bottom: var(--mm-e3); }

@media (min-width: 600px) {
  .acoes-lado { flex-direction: row; flex-wrap: wrap; }
  .acoes-lado .botao { flex: 0 0 auto; width: auto; min-width: fit-content; white-space: nowrap; }
}
