/* ===========================================================================
   Estilos del cotizador. Aparte de estilos.css por lo mismo que cotizador.js
   va aparte de app.js: otras sesiones tocan aquel archivo.

   Todo va por clases y nada con style="" en linea: la politica de contenido
   del panel es `style-src 'self'`, y un estilo en linea lo bloquea el navegador.
   ========================================================================= */

.rejilla.arriba { margin-top: 1.2rem; }
.rejilla.junto { margin: .6rem 0 0; }
.arriba-poco { margin-top: .6rem; }

/* Las celdas editables de la tabla de la cotizacion. */
.celda {
  width: 7.5rem; padding: 5px 8px; font: inherit; font-size: 14px;
  border: 1px solid var(--linea); border-radius: 6px; background: #fff;
}
.celda.corta { width: 4rem; }
.celda:focus { outline: 2px solid var(--azul); outline-offset: 1px; }

/* La hoja que se imprime: lo que recibe el cliente. */
.hoja-cotizacion {
  background: #fff; border: 1px solid var(--linea); border-radius: var(--radio);
  padding: 28px; max-width: 900px;
}
.hoja-cabeza { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.hoja-cabeza h2 { margin: 0 0 4px; }
.hoja-cabeza p { margin: 0; color: var(--gris); }
.hoja-vendedor { text-align: right; font-size: 14px; color: var(--gris); }
.hoja-totales { margin: 14px 0 14px auto; border-collapse: collapse; }
.hoja-totales td { padding: 5px 14px; text-align: right; }
.hoja-cotizacion .tabla { white-space: normal; }

/* Al imprimir sale SOLO la hoja: ni el menu, ni la cabecera, ni los botones. */
@media print {
  .lateral, .lateral-velo, .cabecera, .aviso, .velo, .no-imprimir { display: none !important; }
  .armazon, .contenido { display: block !important; margin: 0 !important; padding: 0 !important; }
  .hoja-cotizacion { border: 0; padding: 0; max-width: none; }
  body { background: #fff; }
}

/* El chat del asistente. */
.chat {
  display: flex; flex-direction: column; gap: 8px;
  height: min(60vh, 560px); overflow-y: auto; padding: 14px; margin: 12px 0;
  background: #fff; border: 1px solid var(--linea); border-radius: var(--radio);
}
.globo {
  max-width: 85%; padding: 9px 13px; border-radius: 14px;
  white-space: pre-wrap; overflow-wrap: anywhere; font-size: 15px; line-height: 1.45;
}
.globo.suyo { align-self: flex-start; background: var(--fondo); color: var(--tinta); border-bottom-left-radius: 4px; }
.globo.mio { align-self: flex-end; background: var(--azul); color: #fff; border-bottom-right-radius: 4px; }
.globo.mal { border: 1px solid var(--rojo); }
.globo.pensando { color: var(--gris2); }
.globo-opciones { display: flex; flex-wrap: wrap; gap: 6px; align-self: flex-start; max-width: 100%; }
