#ia-ollama { font-family: inherit; }
#ia-ollama [hidden] { display: none !important; }
.ia-boton { position: fixed; right: 16px; bottom: 16px; z-index: 1050; width: 54px; height: 54px; border: 0; border-radius: 50%;
  background: #1f3a5f; color: #fff; font-size: 24px; box-shadow: 0 4px 14px rgba(0,0,0,.3); cursor: pointer; }
.ia-panel { position: fixed; right: 16px; bottom: 80px; z-index: 1050; width: min(380px, calc(100vw - 24px));
  height: min(560px, 78vh); display: flex; flex-direction: column; background: #fff; color: #222;
  border: 1px solid #c9ced6; border-radius: 12px; box-shadow: 0 8px 28px rgba(0,0,0,.3); overflow: hidden; }
.ia-cab { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: #1f3a5f; color: #fff; }
.ia-cerrar { background: transparent; border: 0; color: #fff; font-size: 18px; cursor: pointer; }
.ia-tabs { display: flex; border-bottom: 1px solid #dde1e7; }
.ia-tab { flex: 1; padding: 8px; border: 0; background: #f3f5f8; cursor: pointer; font-size: 14px; }
.ia-tab.ia-activa { background: #fff; font-weight: 600; box-shadow: inset 0 -2px 0 #1f3a5f; }
.ia-vista { flex: 1; display: flex; flex-direction: column; min-height: 0; padding: 10px; gap: 8px; }
.ia-lista { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.ia-msg { max-width: 88%; padding: 8px 11px; border-radius: 12px; font-size: 14px; line-height: 1.4; white-space: pre-wrap; word-wrap: break-word; }
.ia-user { align-self: flex-end; background: #1f3a5f; color: #fff; }
.ia-assistant { align-self: flex-start; background: #eef1f5; }
.ia-espera { opacity: .6; font-style: italic; }
.ia-error { background: #fde8e8; color: #8a1c1c; }
.ia-form { display: flex; gap: 6px; }
.ia-entrada, .ia-dictado-txt { flex: 1; resize: none; border: 1px solid #c9ced6; border-radius: 8px; padding: 8px; font-size: 14px; }
.ia-enviar, .ia-mic { border: 0; border-radius: 8px; padding: 8px 12px; cursor: pointer; font-size: 14px; background: #1f3a5f; color: #fff; }
.ia-mic { background: #e6e9ee; color: #222; }
.ia-mic.ia-grabando { background: #c62828; color: #fff; }
.ia-enviar:disabled { opacity: .5; cursor: default; }
.ia-dbarra { display: flex; gap: 6px; flex-wrap: wrap; }
.ia-estado { font-size: 13px; color: #555; min-height: 18px; }
.ia-avisos { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.ia-aviso { border: 1px solid #c9ced6; border-radius: 8px; padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.ia-aviso.ia-hecho { background: #eaf6ec; border-color: #9bd1a4; }
.ia-campo { display: flex; flex-direction: column; font-size: 12px; color: #555; }
.ia-campo input { border: 1px solid #c9ced6; border-radius: 6px; padding: 5px 7px; font-size: 14px; color: #222; }
.ia-resumen { font-size: 13px; font-weight: 600; }
.ia-duda { background: #fff6dd; border: 1px solid #f0d37a; border-radius: 8px; padding: 8px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.ia-vista[hidden] { display: none; }

.ia-tab.ia-unica { cursor: default; text-align: center; }
