/* La tabla tiene desplazamiento horizontal; las filas siguen el desplazamiento de la página. */
.crm-tabla { min-width: 0; max-width: 100%; height: max-content; overflow-x: auto; }
.crm-tabla .tabla { display: table; width: max-content; border-collapse: separate; border-spacing: 0; }
.crm-tabla .tabla thead { display: table-header-group; }
.crm-tabla .tabla tbody { display: table-row-group; }
.crm-tabla .tabla tr { display: table-row; width: auto; }
.crm-tabla .tabla th, .crm-tabla .tabla td {
  display: table-cell; width: auto; padding: 0 8px; height: 40px; white-space: nowrap; vertical-align: middle;
}
.crm-tabla .tabla th { height: 34px; }
.crm-tabla .tabla td { border-bottom: 1px solid var(--borde); }
.crm-tabla .tabla td:first-child { font-size: inherit; }
.crm-tabla .tabla .crm-persona {
  position: sticky; left: 0; z-index: 1; background: var(--caja);
  box-shadow: 1px 0 0 var(--borde); width: 1%; max-width: 16rem;
}
.crm-tabla .tabla th.crm-persona { z-index: 3; background: #fafbfd; }
.crm-persona .enlace-persona { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crm-tabla .tabla :is(.crm-fecha, .crm-estado-fase) { width: 1%; }
.crm-fecha { font-variant-numeric: tabular-nums; }
.crm-tabla .tabla .crm-estado-fase select { field-sizing: content; }
.crm-tabla .tabla .crm-enlace { padding-inline: 2px; width: 1%; text-align: center; }
.crm-tabla th.crm-enlace { max-width: 3.6rem; font-size: .64rem; line-height: 1.1; white-space: normal; }
.crm-enlace .crm-celda { justify-content: center; }
.crm-celda { display: flex; align-items: center; gap: 4px; height: 34px; white-space: nowrap; min-width: 0; }
.crm-tabla .tabla td.num, .crm-tabla .tabla th.num { text-align: right !important; }
.crm-tabla td.num .crm-celda { justify-content: flex-end; }
.crm-tabla td.vacia { text-align: center !important; }
.crm-texto .crm-celda { width: 14rem; }
.crm-tabla .crm-previa-texto {
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: start;
  padding: 3px 0; border: 0; background: transparent; cursor: text;
}
.crm-tabla .crm-ampliada .crm-celda { height: auto; padding-block: 5px; align-items: start; }
.crm-editor-texto { flex: 1; min-width: 0; display: grid; gap: 4px; }
.crm-editor-texto textarea { width: 100%; min-height: 5rem; resize: vertical; white-space: pre-wrap; }
.crm-acciones-texto { display: flex; flex-wrap: wrap; gap: 4px; }
.crm-acciones-texto button { padding: 2px 5px; }
.crm-tabla .num-comi { display: flex; min-width: 0; align-items: center; line-height: 1.1; }
.crm-tabla .num-comi > small { max-width: 6rem; overflow: hidden; text-overflow: ellipsis; }
.crm-tabla .num-comi .botones { flex-wrap: nowrap; gap: 4px; }
.crm-tabla .num-comi .botones button { padding: 2px 5px; }
.crm-buscador { position: relative; display: flex; align-items: center; gap: 4px; max-width: 100%; }
.crm-buscador .sugerencias { position: absolute; z-index: 6; inset-block-start: 100%; inset-inline-start: 0; width: min(23rem, 78vw);
  padding: 6px; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--caja); }
.crm-buscador .sugerencias[hidden] { display: none; }
.crm-buscador input[type="search"] { width: min(13rem, 54vw); }
.crm-tabla input.en-celda, .crm-tabla select.en-celda { padding: 3px 5px; font-size: 13px; }
.crm-tabla input[type="number"].en-celda { width: 5.5rem; text-align: right; }
.crm-icono, .crm-copia-casilla { flex: none; padding: 3px; border: 0; background: none; color: var(--suave); }
.crm-icono { display: grid; justify-items: center; gap: 1px; padding: 1px 2px; font-size: .62rem; line-height: 1.1; }
.crm-icono svg { width: 13px; height: 13px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.crm-copia-casilla { cursor: copy; opacity: 0; }
.crm-tabla td:hover .crm-copia-casilla, .crm-tabla td:focus-within .crm-copia-casilla { opacity: 1; }
@media (hover: none) { .crm-copia-casilla { opacity: 1; } }
.crm-tabla .tabla td.falta-rojo { background: #fbd5d1; box-shadow: inset 0 0 0 2px #ea4335; }
.crm-tabla .tabla td.falta-naranja { background: #fdebd3; box-shadow: inset 0 0 0 2px #f0a04b; }

.crm-ayuda { font-size: 13px; }
.de-crm .barra-de-acciones input[type="date"] { width: 150px; }
.crm-panel { max-width: 560px; }
.crm-fila-panel { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 3px 0; border-bottom: 1px solid var(--borde); font-size: 14px; }
.crm-fila-panel:last-child { border-bottom: 0; }
.crm-fila-panel > span { flex: none; }
.crm-fila-panel button { padding: 1px 8px; font-size: 12.5px; margin-left: 4px; }
.crm-motivo-columna { display: block; margin-left: 1.5rem; }

.crm-tabla .tabla .crm-cabecera-enlaces { text-align: center; padding-inline: 2px; }
.crm-tabla .tabla .crm-enlace-grupo { padding-inline: 1px; }
.crm-enlace-grupo .crm-icono { padding: 3px; }
.crm-filtro-vista { display: grid; min-inline-size: 0; gap: 8px; margin: 0; padding: 10px; border: 1px solid var(--borde); border-radius: 8px; }
.crm-filtro-vista button { justify-self: start; }
