.fin-ia-raiz { display: inline-flex; max-width: 100%; }
.fin-ia-botao { gap: var(--sp-1); white-space: nowrap; flex-shrink: 0; }
.fin-ia-botao-compacto { padding: 0; }

.fin-ia-drawer { text-align: left; white-space: normal; font-size: var(--fs-md); font-weight: 400; line-height: normal; letter-spacing: normal; text-transform: none; color: var(--text); cursor: auto; }
.fin-ia { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
.fin-ia-contexto { padding: var(--sp-3); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--elevated); outline: none; }
.fin-ia-contexto:focus-visible { box-shadow: var(--focus-ring); }
.fin-ia-contexto-titulo { margin: 0; font-size: var(--fs-lg); font-weight: 600; overflow-wrap: anywhere; }
.fin-ia-resumo { display: grid; grid-template-columns: minmax(0, max-content) minmax(0, 1fr); gap: var(--sp-1) var(--sp-3); margin: var(--sp-2) 0 0; font-size: var(--fs-sm); }
.fin-ia-resumo dt { color: var(--text-3); }
.fin-ia-resumo dd { margin: 0; text-align: right; overflow-wrap: anywhere; }

.fin-ia-secao { display: flex; flex-direction: column; gap: var(--sp-2); margin: 0; }
.fin-ia-secao-titulo { font-size: var(--fs-xs); color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; }
.fin-ia-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.fin-ia-chip { border-style: solid; white-space: normal; text-align: left; line-height: 1.3; }
.fin-ia-chip:disabled { opacity: .6; cursor: not-allowed; }
.fin-ia-form { display: flex; gap: var(--sp-2); align-items: stretch; }
.fin-ia-form .input { flex: 1 1 auto; min-width: 0; }
.fin-ia-enviar { flex-shrink: 0; }
.fin-ia-contagem { align-self: flex-end; font-size: var(--fs-xs); }

.fin-ia-saida { min-height: var(--sp-4); }
.fin-ia-resposta { display: flex; flex-direction: column; gap: var(--sp-4); }
.fin-ia-bloco { padding: var(--sp-3); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.fin-ia-bloco-titulo { margin: 0 0 var(--sp-2); font-size: var(--fs-xs); color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.fin-ia-texto { margin: 0; font-size: var(--fs-md); line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
.fin-ia-lista { margin: 0; padding-left: var(--sp-5); display: flex; flex-direction: column; gap: var(--sp-2); font-size: var(--fs-md); line-height: 1.5; overflow-wrap: anywhere; }
.fin-ia-hora { font-size: var(--fs-xs); text-align: right; }

.fin-ia-avisos { width: 100%; display: flex; flex-direction: column; gap: var(--sp-1); font-size: var(--fs-xs); }
.fin-ia-avisos p { margin: 0; }
.fin-ia-aviso-fixo { display: flex; align-items: flex-start; gap: var(--sp-1); color: var(--text); }
.fin-ia-aviso-fixo .ico { flex-shrink: 0; margin-top: 1px; color: var(--info); }

@media (hover: none) and (pointer: coarse) {
  .fin-ia-botao { min-height: var(--touch); }
}

@media (max-width: 640px) {
  .fin-ia-form { flex-direction: column; }
  .fin-ia-enviar { width: 100%; justify-content: center; }
}
