:root {
  --ui-color-primary: var(--color-aranxel-primary, #1698d7);
  --ui-color-primary-hover: var(--color-aranxel-primary-hover, #0f7fb2);
  --ui-color-text: #07111f;
  --ui-color-text-soft: #536170;
  --ui-color-border: #d9e1e8;
  --ui-color-border-strong: #cdd8e3;
  --ui-color-surface: #ffffff;
  --ui-color-surface-soft: #f8fafc;
  --ui-color-error: #b42318;
  --ui-color-error-border: #fda29b;
  --ui-color-error-focus: rgba(217, 45, 32, 0.18);
}

.oculto {
  display: none !important;
}

.ui-icono {
  width: 1rem;
  height: 1rem;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.ui-icono-girando {
  display: inline-flex;
  animation: ui-rotar 1s linear infinite;
}

@keyframes ui-rotar {
  to {
    transform: rotate(360deg);
  }
}

.ui-boton-accion-primaria,
.ui-boton-barra-accion,
.ui-boton-accion-tabla,
.ui-campo-texto-simple,
.ui-campo-select-simple,
.ui-campo-texto-contador__input,
.ui-campo-texto-icono__input,
.ui-filtro-campo__input,
.ui-select-catalogo__boton,
.ui-modal-base__accion,
.ui-paginacion-tabla__boton,
.ui-paginacion-tabla__icono,
.ui-modal-bloqueo__copiar {
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.ui-boton-accion-primaria {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 150px;
  height: 2.75rem;
  padding: 0 1rem;
  border: 0;
  border-radius: 0.5rem;
  background: var(--ui-color-primary);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.ui-boton-accion-primaria:hover {
  background: var(--ui-color-primary-hover);
}

.ui-boton-accion-primaria:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

.ui-boton-barra-accion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.ui-boton-barra-accion--normal {
  width: 100%;
  padding: 0 1rem;
}

.ui-boton-barra-accion--compacto {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
}

.ui-boton-barra-accion--compacto.encabezado-app-boton-icono {
  width: 1.58rem;
  min-width: 1.58rem;
  height: 1.58rem;
  min-height: 1.58rem;
  padding: 0;
  border-radius: 0.52rem;
}

.ui-boton-barra-accion--compacto.encabezado-app-boton-icono .ui-icono {
  width: 0.78rem;
  height: 0.78rem;
}

.ui-boton-barra-accion--primario {
  background: var(--ui-color-primary);
  color: #fff;
}

.ui-boton-barra-accion--primario:hover {
  background: var(--ui-color-primary-hover);
}

.ui-boton-barra-accion--secundario {
  border-color: var(--ui-color-border-strong);
  background: #fff;
  color: #42546a;
}

.ui-boton-barra-accion--secundario:hover {
  background: #f8fafc;
}

.ui-boton-accion-tabla {
  position: relative;
  display: inline-flex;
  width: 1.75rem;
  height: 1.75rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  text-decoration: none;
  cursor: pointer;
}

.ui-boton-accion-tabla--normal {
  color: #2563eb;
}

.ui-boton-accion-tabla--normal:hover {
  background: #dbeafe;
  color: #1d4ed8;
}

.ui-boton-accion-tabla--peligro {
  color: #e11d48;
}

.ui-boton-accion-tabla--peligro:hover {
  background: #ffe4e6;
  color: #be123c;
}

.ui-boton-accion-tabla--exito {
  color: #0f766e;
}

.ui-boton-accion-tabla--exito:hover {
  background: #ccfbf1;
  color: #0d5f59;
}

.ui-boton-accion-tabla:disabled {
  color: #94a3b8;
  cursor: not-allowed;
}

.ui-menu-acciones-tabla {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.ui-menu-acciones-tabla__disparador {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2rem;
  padding: 0.45rem 0.72rem;
  border: 1px solid var(--ui-color-primary);
  border-radius: 0.7rem;
  background: var(--ui-color-primary);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.ui-menu-acciones-tabla__disparador:hover {
  border-color: var(--ui-color-primary-hover);
  background: var(--ui-color-primary-hover);
}

.ui-menu-acciones-tabla__disparador[aria-expanded="true"] {
  border-color: var(--ui-color-primary-hover);
  background: var(--ui-color-primary-hover);
  box-shadow: 0 8px 18px rgba(15, 127, 178, 0.18);
}

.ui-menu-acciones-tabla__disparador:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(22, 152, 215, 0.22);
}

.ui-menu-acciones-tabla__disparador-icono,
.ui-menu-acciones-tabla__item-icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ui-menu-acciones-tabla__disparador-icono .ui-icono,
.ui-menu-acciones-tabla__icono-svg {
  width: 0.95rem;
  height: 0.95rem;
}

.ui-menu-acciones-tabla__panel {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1300;
  display: grid;
  gap: 0.35rem;
  min-width: 12.75rem;
  padding: 0.5rem;
  border: 1px solid #d8e3ec;
  border-radius: 0.8rem;
  background: #ffffff;
  box-shadow: 0 16px 32px rgba(8, 36, 58, 0.14);
}

.ui-menu-acciones-tabla__item {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  min-height: 2.1rem;
  padding: 0.55rem 0.7rem;
  border: 0;
  border-radius: 0.6rem;
  background: transparent;
  color: #24405d;
  font-size: 0.84rem;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.ui-menu-acciones-tabla__item-icono {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  background: #eaf6fd;
  color: currentColor;
  flex-shrink: 0;
}

.ui-menu-acciones-tabla__item--normal .ui-menu-acciones-tabla__item-icono {
  background: #eaf6fd;
  color: #0f7fb2;
}

.ui-menu-acciones-tabla__item--exito {
  color: #166a46;
}

.ui-menu-acciones-tabla__item--exito .ui-menu-acciones-tabla__item-icono {
  background: #edfdf5;
  color: #0f8d5d;
}

.ui-menu-acciones-tabla__item--normal:hover {
  background: #eef7fd;
  color: #0f7fb2;
}

.ui-menu-acciones-tabla__item--exito:hover {
  background: #edfdf5;
  color: #0f8d5d;
}

.ui-menu-acciones-tabla__item--peligro {
  color: #d7465c;
}

.ui-menu-acciones-tabla__item--peligro .ui-menu-acciones-tabla__item-icono {
  background: #fff1f3;
  color: #d7465c;
}

.ui-menu-acciones-tabla__item--peligro:hover {
  background: #fff3f5;
  color: #bf2d44;
}

.ui-menu-acciones-tabla__item:disabled {
  opacity: 0.64;
  color: #94a3b8;
  cursor: not-allowed;
}

.ui-menu-acciones-tabla__item:disabled .ui-menu-acciones-tabla__item-icono {
  background: #eef2f6;
  color: #94a3b8;
}

.ui-boton-accion-tabla[data-ui-tooltip]::after {
  content: attr(data-ui-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.45rem);
  transform: translateX(-50%) translateY(0.2rem);
  padding: 0.35rem 0.5rem;
  border-radius: 0.25rem;
  background: #3f3f46;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 30;
}

.ui-boton-accion-tabla:hover::after,
.ui-boton-accion-tabla:focus-visible::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.ui-alerta-modulo {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: space-between;
  border: 1px solid;
  border-radius: 0.75rem;
  padding: 1rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.ui-alerta-modulo__contenido {
  display: flex;
  gap: 0.75rem;
  min-width: 0;
}

.ui-alerta-modulo__icono {
  display: inline-flex;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.ui-alerta-modulo__icono .ui-icono {
  width: 1.2rem;
  height: 1.2rem;
}

.ui-alerta-modulo__texto {
  min-width: 0;
}

.ui-alerta-modulo__titulo {
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
}

.ui-alerta-modulo__mensaje {
  font-size: 0.875rem;
  line-height: 1.6;
}

.ui-alerta-modulo--error {
  border-color: #f1b8bf;
  background: #fff5f6;
  color: #842029;
}

.ui-alerta-modulo--advertencia {
  border-color: #f7d28a;
  background: #fff9eb;
  color: #7a4b00;
}

.ui-alerta-modulo--informacion {
  border-color: #a9d7f1;
  background: #f1f9fe;
  color: #174d69;
}

.ui-alerta-modulo--exito {
  border-color: #a8dabc;
  background: #f0fbf4;
  color: #195b31;
}

.ui-alerta-modulo__accion {
  flex-shrink: 0;
}

.ui-etiqueta-tabla {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.25rem 0.625rem;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.ui-etiqueta-tabla--baja {
  box-shadow: none;
  background: #fff;
  color: #64748b;
}

.ui-etiqueta-tabla--neutral {
  border: 1px solid #d8e4ec;
  background: #f8fbfd;
  color: #4a6175;
}

.ui-etiqueta-tabla--informacion {
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}

.ui-etiqueta-tabla--exito {
  border: 1px solid #bbf7d0;
  background: #ecfdf3;
  color: #166534;
}

.ui-etiqueta-tabla--peligro {
  border: 1px solid #fecdd3;
  background: #fff1f2;
  color: #be123c;
}

.ui-etiqueta-tabla--advertencia {
  border: 1px solid #f7d28a;
  background: #fffbeb;
  color: #7a4b00;
}

.ui-grupo-etiquetas-tabla {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.ui-campo-texto-simple,
.ui-campo-select-simple,
.ui-filtro-campo__input,
.ui-select-catalogo__boton {
  width: 100%;
  min-height: 2.75rem;
  border: 1px solid var(--ui-color-border-strong);
  border-radius: 0.75rem;
  background: linear-gradient(180deg, #fff 0%, #f9fbfd 100%);
  padding: 0 1rem;
  color: var(--ui-color-text);
  font-size: 0.875rem;
  outline: none;
}

.ui-campo-texto-simple:focus,
.ui-campo-select-simple:focus,
.ui-filtro-campo__input:focus,
.ui-select-catalogo__boton:focus {
  border-color: var(--ui-color-primary);
  box-shadow: 0 0 0 3px rgba(22, 152, 215, 0.2);
}

.ui-etiqueta-campo {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.ui-campo-ayuda {
  margin: 0;
  color: #637282;
  font-size: 0.82rem;
  line-height: 1.5;
}

.ui-campo-ayuda--error {
  color: var(--ui-color-error);
  font-weight: 600;
}

.ui-campo-texto-simple[aria-invalid="true"],
.ui-campo-select-simple[aria-invalid="true"],
.ui-select-catalogo__boton[aria-invalid="true"],
.multiselect-filtro-boton[aria-invalid="true"] {
  border-color: var(--ui-color-error-border);
  box-shadow: 0 0 0 3px var(--ui-color-error-focus);
}

.ui-tooltip-info {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.ui-tooltip-info__boton {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #d4dde7;
  border-radius: 999px;
  background: #f8fbff;
  color: #3f6f96;
  cursor: help;
}

.ui-tooltip-info__boton:hover,
.ui-tooltip-info__boton:focus-visible {
  border-color: #99c8ef;
  background: #edf7ff;
  color: #0f7fb2;
  outline: none;
}

.ui-tooltip-info__boton .ui-icono {
  width: 0.82rem;
  height: 0.82rem;
}

.ui-tooltip-info__panel {
  position: absolute;
  top: 50%;
  left: calc(100% + 0.55rem);
  z-index: 80;
  width: min(19rem, calc(100vw - 3rem));
  padding: 0.72rem 0.82rem;
  border: 1px solid #d8e3ec;
  border-radius: 0.8rem;
  background: #fff;
  box-shadow: 0 16px 32px rgba(8, 36, 58, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translate(0.2rem, -18%);
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.ui-tooltip-info__panel strong,
.ui-tooltip-info__panel span,
.ui-tooltip-info__panel small {
  display: block;
}

.ui-tooltip-info__panel strong {
  color: #17324d;
  font-size: 0.82rem;
  font-weight: 800;
}

.ui-tooltip-info__panel span {
  margin-top: 0.28rem;
  color: #536170;
  font-size: 0.75rem;
  line-height: 1.42;
}

.ui-tooltip-info__panel small {
  margin-top: 0.45rem;
  color: #0f7fb2;
  font-size: 0.74rem;
  font-weight: 700;
}

.ui-tooltip-info:hover .ui-tooltip-info__panel,
.ui-tooltip-info:focus-within .ui-tooltip-info__panel {
  opacity: 1;
  visibility: visible;
  transform: translate(0, -18%);
}

@media (max-width: 640px) {
  .ui-tooltip-info__panel {
    top: calc(100% + 0.45rem);
    left: 0;
    transform: translateY(0.2rem);
  }

  .ui-tooltip-info:hover .ui-tooltip-info__panel,
  .ui-tooltip-info:focus-within .ui-tooltip-info__panel {
    transform: translateY(0);
  }

  .worker-terminal__meta-item {
    flex-basis: 100%;
  }

  .worker-terminal__logs {
    min-height: 18rem;
    font-size: 0.74rem;
  }

  .ui-modal-base__dock {
    right: 0.75rem;
    bottom: 0.75rem;
  }

  .worker-terminal-dock,
  .worker-terminal-flotante {
    width: min(100%, calc(100vw - 1.5rem));
    max-width: min(24rem, calc(100vw - 1.5rem));
  }
}

.ui-campo-select-simple__contenedor {
  position: relative;
  width: 100%;
}

.ui-campo-select-simple {
  appearance: none;
  padding-right: 3rem;
}

.ui-campo-select-simple__icono {
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  display: flex;
  align-items: center;
  color: #637282;
  pointer-events: none;
}

.ui-campo-texto-simple.programacion-modal__input--con-icono {
  padding-left: 3rem;
}

.ui-campo-texto-simple.programacion-modal__input--con-icono[type="date"] {
  padding-right: 2.75rem;
}

.ui-campo-checkbox,
.ui-grupo-radio__etiqueta {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: #1d2f45;
  font-size: 0.875rem;
}

.ui-campo-checkbox__input,
.ui-grupo-radio__input {
  margin-top: 0.2rem;
  width: 1rem;
  height: 1rem;
  accent-color: var(--ui-color-primary);
}

.ui-grupo-radio {
  display: grid;
  gap: 0.75rem;
}

.ui-campo-texto-contador,
.ui-campo-texto-icono,
.ui-filtro-campo {
  display: block;
}

.ui-campo-texto-contador__etiqueta,
.ui-filtro-campo__etiqueta,
.ui-campo-texto-icono__etiqueta {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
  color: #42546a;
  font-size: 0.875rem;
  font-weight: 700;
}

.ui-campo-texto-contador__requerido,
.ui-campo-texto-icono__requerido {
  color: #d92d20;
}

.ui-campo-texto-contador__marco,
.ui-campo-texto-icono__marco {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--ui-color-border-strong);
  border-radius: 0.5rem;
  background: #fff;
}

.ui-campo-texto-contador__marco {
  grid-template-columns: minmax(0, 1fr) auto;
}

.ui-campo-texto-icono__marco {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.ui-campo-texto-contador__marco:focus-within,
.ui-campo-texto-icono__marco:focus-within,
.ui-filtro-campo__marco:focus-within {
  border-color: var(--ui-color-primary);
  box-shadow: 0 0 0 3px rgba(22, 152, 215, 0.2);
}

.ui-campo-texto-contador__marco.is-error,
.ui-campo-texto-icono__marco.is-error {
  border-color: #fda29b;
  background: #fff7f7;
}

.ui-campo-texto-contador__input,
.ui-campo-texto-icono__input {
  min-width: 0;
  border: 0;
  padding: 0 0.75rem;
  color: var(--ui-color-text);
  font-size: 0.875rem;
  outline: none;
}

.ui-campo-texto-contador__contador,
.ui-campo-texto-icono__contador {
  display: inline-flex;
  align-items: center;
  padding: 0 0.75rem;
  color: #60758d;
  font-size: 0.75rem;
}

.ui-campo-texto-contador__marco.is-limit .ui-campo-texto-contador__contador,
.ui-campo-texto-icono__marco.is-limit .ui-campo-texto-icono__contador {
  color: #b54708;
}

.ui-campo-texto-contador__error,
.ui-campo-texto-icono__error {
  margin-top: 0.5rem;
  color: #b42318;
  font-size: 0.875rem;
  font-weight: 600;
}

.ui-campo-texto-contador__limite,
.ui-campo-texto-icono__ayuda {
  margin-top: 0.5rem;
  color: #637282;
  font-size: 0.75rem;
}

.ui-campo-texto-icono__icono,
.ui-campo-texto-icono__final {
  display: inline-flex;
  align-items: center;
}

.ui-campo-texto-icono__icono {
  justify-content: center;
  border-right: 1px solid var(--ui-color-border);
  color: #60758d;
}

.ui-campo-texto-icono__final {
  border-left: 1px solid var(--ui-color-border);
}

.ui-campo-texto-icono__accion {
  display: flex;
  align-items: center;
  height: 100%;
  border-left: 1px solid var(--ui-color-border);
}

.ui-select-catalogo {
  position: relative;
}

.ui-select-catalogo__boton {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  text-align: left;
  cursor: pointer;
}

.ui-select-catalogo__texto {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ui-select-catalogo__icono {
  flex-shrink: 0;
  color: #637282;
}

.ui-select-catalogo__panel {
  position: absolute;
  inset: calc(100% + 0.35rem) 0 auto;
  z-index: 40;
  gap: 0.75rem;
  border: 1px solid var(--ui-color-border);
  border-radius: 0.75rem;
  background: #fff;
  padding: 0.75rem;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
}

.ui-select-catalogo__panel[hidden] {
  display: none !important;
}

.ui-select-catalogo__panel:not([hidden]) {
  display: grid;
}

.ui-select-catalogo__busqueda {
  display: flex;
  align-items: center;
  border: 1px solid var(--ui-color-border-strong);
  border-radius: 0.5rem;
  background: #fff;
}

.ui-select-catalogo__busqueda-icono {
  display: inline-flex;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  color: #637282;
}

.ui-select-catalogo__busqueda-input {
  width: 100%;
  min-width: 0;
  height: 2.75rem;
  border: 0;
  padding-right: 0.75rem;
  outline: none;
  font-size: 0.875rem;
}

.ui-select-catalogo__opciones {
  display: grid;
  max-height: 16rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ui-select-catalogo__opcion {
  display: grid;
  gap: 0.15rem;
  width: 100%;
  padding: 0.65rem 0.75rem;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.ui-select-catalogo__opcion:hover,
.ui-select-catalogo__opcion.is-selected {
  background: #eef6fc;
}

.ui-select-catalogo__opcion-texto {
  color: #1d2f45;
  font-size: 0.875rem;
  font-weight: 600;
}

.ui-select-catalogo__opcion-meta,
.ui-select-catalogo__sin-resultados {
  color: #637282;
  font-size: 0.75rem;
  line-height: 1.5;
}

.ui-seccion-formulario,
.ui-panel-filtros {
  overflow: hidden;
  border: 1px solid #d7e1ea;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.ui-seccion-formulario__encabezado,
.ui-panel-filtros__encabezado {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  border: 0;
  background: #dcebff;
  padding: 1rem;
  text-align: left;
  cursor: pointer;
}

.ui-seccion-formulario__encabezado h3,
.ui-panel-filtros__encabezado span {
  margin: 0;
  color: #1f3550;
  font-size: 1rem;
  font-weight: 700;
}

.ui-panel-filtros__encabezado-contenido {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
  flex: 1 1 auto;
}

.ui-panel-filtros__titulo {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  flex: 0 1 auto;
  min-width: 0;
}

.ui-panel-filtros__encabezado-apoyo {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  min-width: 0;
  max-width: 100%;
}

.ui-panel-filtros__titulo-icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ui-color-primary);
}

.ui-panel-filtros__titulo-icono .ui-icono {
  width: 1rem;
  height: 1rem;
}

.ui-seccion-formulario__encabezado p {
  margin: 0.25rem 0 0;
  color: #536170;
  font-size: 0.875rem;
}

.ui-seccion-formulario__alternar,
.ui-panel-filtros__encabezado {
  color: #1f3550;
}

.ui-seccion-formulario__alternar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.ui-seccion-formulario__alternar[aria-expanded="true"] .ui-icono,
.ui-panel-filtros__encabezado[aria-expanded="true"] .ui-icono,
.ui-modal-bloqueo__detalle-boton[aria-expanded="true"] > .ui-icono {
  transform: rotate(180deg);
}

.ui-seccion-formulario__contenido,
.ui-panel-filtros__contenido {
  padding: 1rem;
}

.ui-filtro-campo__marco {
  display: flex;
  align-items: center;
  border: 1px solid var(--ui-color-border-strong);
  border-radius: 0.5rem;
  background: #fff;
}

.ui-filtro-campo__marco--contador {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.ui-filtro-campo__icono {
  display: inline-flex;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  color: #637282;
}

.ui-filtro-campo__input {
  min-width: 0;
  border: 0;
  background: transparent;
  padding-left: 0;
  box-shadow: none;
}

.ui-filtro-campo__contador {
  display: inline-flex;
  align-items: center;
  padding: 0 0.75rem;
  border-left: 1px solid var(--ui-color-border);
  color: #60758d;
  font-size: 0.75rem;
  white-space: nowrap;
}

.ui-filtro-campo__marco--contador.is-limit .ui-filtro-campo__contador {
  color: #b54708;
}

.ui-filtro-campo__input:focus {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.ui-filtro-campo--ancho {
  grid-column: 1 / -1;
}

.ui-tabs-base {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--ui-color-border);
}

.ui-tabs-base__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 0.5rem 0.5rem 0 0;
  background: #f5f8fb;
  padding: 0.75rem 1.25rem;
  color: #60758d;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.ui-tabs-base__tab.is-active {
  border-color: #8ecdf0;
  background: #eaf7fd;
  color: var(--ui-color-primary);
}

.ui-tabs-base__indicador {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 999px;
  background: #f59e0b;
}

.ui-tabla-base__marco {
  overflow-x: auto;
  border: 1px solid var(--ui-color-border);
  background: #fff;
}

.ui-tabla-base__tabla {
  width: 100%;
  min-width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  table-layout: fixed;
  font-size: 0.875rem;
}

.ui-tabla-base__tabla th,
.ui-tabla-base__tabla td {
  min-width: 0;
  padding: 0.85rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid #e3e9ef;
  overflow: hidden;
}

.ui-tabla-base__tabla th {
  background: #f6f9fc;
  color: #637282;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.ui-tabla-base__texto--centro {
  text-align: center;
}

.ui-tabla-base__texto--derecha {
  text-align: right;
}

.ui-tabla-base__texto--izquierda {
  text-align: left;
}

.ui-tabla-base__fila-interactiva:hover {
  background: #edf7fc;
}

.ui-tabla-base__enlace-fila {
  display: block;
  min-width: 0;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

.ui-tabla-base__texto-truncado {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ui-tabla-base__detalle td {
  padding: 0;
  background: #f8fbfd;
}

.ui-tabla-base__cards {
  display: none;
}

.ui-tabla-base__card {
  border: 1px solid var(--ui-color-border);
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 10px 24px rgba(7, 17, 31, 0.06);
}

.ui-tabla-base__card + .ui-tabla-base__card {
  margin-top: 0.875rem;
}

.ui-tabla-base__card-cabecera {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.875rem;
  margin-bottom: 0.875rem;
}

.ui-tabla-base__card-titulo {
  display: grid;
  gap: 0.2rem;
}

.ui-tabla-base__card-titulo strong {
  color: #07111f;
  font-size: 1rem;
  line-height: 1.3;
}

.ui-tabla-base__card-titulo small {
  color: #637282;
  font-size: 0.8125rem;
}

.ui-tabla-base__card-acciones {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.75rem;
}

.ui-tabla-base__card-cabecera .ui-tabla-base__card-acciones {
  margin-bottom: 0;
}

.ui-tabla-base__card-grid {
  display: grid;
  gap: 0.75rem;
}

.ui-tabla-base__card-grid--secundario {
  margin-top: 0.875rem;
  padding-top: 0.875rem;
  border-top: 1px solid #e3e9ef;
}

.ui-tabla-base__card-item {
  display: grid;
  gap: 0.3rem;
}

.ui-tabla-base__card-item dt {
  margin: 0;
  color: #637282;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.ui-tabla-base__card-item dd {
  margin: 0;
  color: #07111f;
  font-size: 0.9375rem;
  font-weight: 600;
}

.ui-tabla-base__card-detalle {
  margin-top: 0.875rem;
  padding-top: 0.875rem;
  border-top: 1px solid #e3e9ef;
}

.ui-tabla-base__skeleton {
  display: inline-block;
  height: 0.95rem;
  border-radius: 999px;
  background: #e8eef3;
  animation: ui-pulse 1.2s ease-in-out infinite;
}

.ui-tabla-base__skeleton--codigo {
  width: 3rem;
}

.ui-tabla-base__skeleton--texto {
  width: 65%;
}

.ui-tabla-base__skeleton--textolargo,
.ui-tabla-base__skeleton--textolargo {
  width: 88%;
}

.ui-tabla-base__skeleton--etiqueta {
  width: 5rem;
  height: 1.5rem;
  border-radius: 999px;
}

@keyframes ui-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.55; }
}

.ui-tabla-base__estado {
  padding: 2rem 1rem !important;
}

.ui-tabla-base__estado-contenido {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  max-width: 22rem;
  margin: 0 auto;
  text-align: center;
}

.ui-tabla-base__estado-contenido p {
  margin: 0;
  color: #07111f;
  font-weight: 700;
}

.ui-tabla-base__estado-contenido small {
  color: #637282;
  font-size: 0.875rem;
}

.ui-tabla-base__estado-contenido--error p {
  color: #842029;
}

.ui-tabla-base__estado-icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  border: 1px solid var(--ui-color-border);
  background: #f8fafc;
  color: #7a8b9d;
}

@media (max-width: 960px) {
  .ui-tabla-base--con-cards .ui-tabla-base__marco {
    display: none;
  }

  .ui-tabla-base__cards {
    display: block;
  }
}

.ui-subtabla-base .ui-tabla-base__tabla th {
  font-size: 0.6875rem;
  letter-spacing: 0;
}

.ui-tabla-compuesta {
  display: grid;
  gap: 0;
}

.ui-tabla-compuesta .ui-tabla-base__marco {
  overflow: hidden;
  border-bottom: 0;
  border-radius: 1rem 1rem 0 0;
}

.ui-tabla-compuesta .ui-paginacion-tabla {
  border-top: 0;
  border-radius: 0 0 1rem 1rem;
}

.ui-paginacion-tabla {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: space-between;
  border: 1px solid var(--ui-color-border);
  background: #fff;
  padding: 0.75rem;
}

.ui-paginacion-tabla__selector {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ui-paginacion-tabla__form-selector {
  display: inline-flex;
  align-items: center;
}

.ui-paginacion-tabla__select-contenedor {
  width: auto;
  min-width: 5rem;
}

.ui-paginacion-tabla__etiqueta {
  margin: 0;
  color: #4f6276;
  font-size: 0.875rem;
  font-weight: 600;
}

.ui-paginacion-tabla__resumen {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.ui-paginacion-tabla__resumen p,
.ui-paginacion-tabla__tamano {
  margin: 0;
  color: #637282;
  font-size: 0.875rem;
}

.ui-paginacion-tabla__acciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
}

.ui-paginacion-tabla__pagina {
  width: 100%;
  text-align: center;
  color: var(--ui-color-text);
  font-size: 0.875rem;
  font-weight: 700;
}

.ui-paginacion-tabla__boton,
.ui-paginacion-tabla__icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  border: 1px solid var(--ui-color-primary);
  background: var(--ui-color-primary);
  color: #fff;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 700;
}

.ui-paginacion-tabla__boton {
  padding: 0 0.75rem;
}

.ui-paginacion-tabla__icono {
  width: 2.5rem;
}

.ui-paginacion-tabla__boton.is-disabled,
.ui-paginacion-tabla__icono.is-disabled {
  pointer-events: none;
  border-color: #cdd8df;
  background: #fff;
  color: #7c8b99;
}

.ui-modal-abierto {
  overflow: hidden;
}

.ui-modal-base {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  overscroll-behavior: contain;
}

.ui-modal-base.is-open {
  display: flex;
}

.ui-modal-base.is-docked {
  display: block;
  pointer-events: none;
}

.ui-modal-base__overlay {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(1, 13, 29, 0.55);
}

.ui-modal-base__ventana {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  background: #fff;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.24);
  overscroll-behavior: contain;
}

.ui-modal-base__ventana--scroll {
  max-height: 92vh;
}

.ui-modal-base__ventana--flex {
  height: 92vh;
  max-height: 92vh;
}

.ui-modal-base__ventana.ui-modal-base__ventana--max {
  height: 100vh;
  max-height: 100vh;
  max-width: none;
}

.ui-modal-base.is-docked .ui-modal-base__overlay,
.ui-modal-base.is-docked .ui-modal-base__ventana {
  display: none;
}

.ui-modal-base__ancho-lg {
  max-width: 32rem;
}

.ui-modal-base__ancho-xl {
  max-width: 40rem;
}

.ui-modal-base__ancho-2xl {
  max-width: 64rem;
}

.ui-modal-base__ancho-3xl {
  max-width: 76rem;
}

.ui-modal-base__acento {
  width: 100%;
  height: 0.25rem;
}

.ui-modal-base__encabezado,
.ui-modal-base__pie {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--ui-color-border);
}

.ui-modal-base__pie {
  border-top: 1px solid var(--ui-color-border);
  border-bottom: 0;
}

.ui-modal-base__encabezado--compacto,
.ui-modal-base__pie--compacto {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.ui-modal-base__encabezado-copy {
  min-width: 0;
}

.ui-modal-base__encabezado-copy h2 {
  margin: 0;
  color: var(--ui-color-text);
  font-size: 1.4rem;
  font-weight: 700;
}

.ui-modal-base__encabezado-copy p {
  margin: 0.35rem 0 0;
  color: #637282;
  font-size: 0.875rem;
}

.ui-modal-base__acciones {
  display: flex;
  gap: 0.5rem;
}

.ui-modal-base__accion {
  display: inline-flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #d4dde7;
  border-radius: 0.5rem;
  background: #f8fafc;
  color: #536170;
  cursor: pointer;
}

.ui-modal-base__accion:hover {
  background: #fff;
}

.ui-modal-base__dock {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 59;
  display: none;
  pointer-events: auto;
}

.ui-modal-base.is-docked .ui-modal-base__dock {
  display: block;
}

.ui-modal-base__contenido {
  flex: 1;
  padding: 1rem 1.25rem;
}

.ui-modal-base__contenido--scroll {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ui-modal-base__contenido--flex {
  display: flex;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.ui-modal-base__icono-max--restaurar {
  display: none;
}

.ui-modal-base__ventana--max .ui-modal-base__icono-max--expandir {
  display: none;
}

.ui-modal-base__ventana--max .ui-modal-base__icono-max--restaurar {
  display: inline-flex;
}

.ui-acciones-modal-base--solo {
  width: 100%;
  justify-content: flex-end;
}

.ui-acciones-modal-base {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.75rem;
}

.ui-acciones-modal-base__cancelar,
.ui-acciones-modal-base__confirmar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8rem;
  min-height: 2.75rem;
  padding: 0 1.25rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
}

.ui-acciones-modal-base__cancelar {
  border: 1px solid #cdd8df;
  background: #fff;
  color: #536170;
}

.ui-acciones-modal-base__confirmar {
  border: 0;
  color: #fff;
}

.ui-boton-confirmar--primario {
  background: var(--ui-color-primary);
}

.ui-boton-confirmar--peligro {
  background: #d92d20;
}

.ui-boton-confirmar--advertencia {
  background: #d97706;
}

.worker-terminal {
  display: grid;
  min-height: 0;
  flex: 1;
  grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr);
  align-items: stretch;
  gap: 1rem;
}

.worker-terminal__tarjeta {
  border: 1px solid #d9e7f2;
  border-radius: 0.9rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.worker-terminal__tarjeta--resumen {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 0.95rem;
  padding: 1rem;
}

.worker-terminal__tarjeta--logs {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
}

.worker-terminal__resumen-superior {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}

.worker-terminal__equipo,
.worker-terminal__meta-item span {
  color: #5e6d7d;
  font-size: 0.82rem;
}

.worker-terminal__equipo {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid #dce8f2;
  border-radius: 999px;
  background: #f8fbff;
}

.worker-terminal__equipo strong,
.worker-terminal__meta-item strong {
  color: #0f172a;
}

.worker-terminal__titulo,
.worker-terminal__titulo-secundario {
  margin: 0;
  color: #102235;
  font-weight: 800;
}

.worker-terminal__titulo-secundario {
  font-size: 0.98rem;
}

.worker-terminal__descripcion {
  margin: 0;
  color: #64748b;
  font-size: 0.88rem;
  line-height: 1.45;
}

.worker-terminal__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 0;
  align-items: stretch;
  align-content: start;
  gap: 0.7rem;
}

.worker-terminal__meta-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 0.3rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid #dce8f2;
  border-radius: 0.78rem;
  background: #fff;
}

.worker-terminal__meta-item strong {
  font-size: 1.05rem;
  line-height: 1.35;
}

.worker-terminal__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: auto;
}

.worker-terminal__chips:empty {
  display: none;
}

.worker-terminal__chip,
.worker-terminal__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.36rem 0.72rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.worker-terminal__badge {
  width: fit-content;
}

.worker-terminal__badge--cargando {
  background: #e0f2fe;
  color: #0369a1;
}

.worker-terminal__badge--activo,
.worker-terminal__chip--activo {
  background: #dcfce7;
  color: #13784f;
}

.worker-terminal__badge--apagado {
  background: #fee2e2;
  color: #b42318;
}

.worker-terminal__badge--alerta,
.worker-terminal__chip--alerta {
  background: #fef3c7;
  color: #b45309;
}

.worker-terminal__badge--error {
  background: #ffe4e6;
  color: #be123c;
}

.worker-terminal__logs-encabezado {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem 0.8rem;
  border-bottom: 1px solid #dbe6f0;
}

.worker-terminal__logs {
  flex: 1;
  min-height: 0;
  margin: 0;
  padding: 1rem 1rem 1.2rem;
  overflow: auto;
  background: #07111f;
  color: #cfe5ff;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.82rem;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
}

@media (max-width: 1024px) {
  .worker-terminal {
    grid-template-columns: minmax(0, 1fr);
  }

  .worker-terminal__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .worker-terminal__resumen-superior {
    gap: 0.65rem;
  }

  .worker-terminal__equipo {
    width: 100%;
    justify-content: space-between;
  }

  .worker-terminal__meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .worker-terminal__logs {
    min-height: 14rem;
    font-size: 0.76rem;
  }
}

.worker-terminal__detalle {
  border-top: 1px solid #dbe6f0;
  background: #fff;
}

.worker-terminal__detalle-boton {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.95rem 1rem;
  border: 0;
  background: transparent;
  color: #102235;
  cursor: pointer;
  text-align: left;
}

.worker-terminal__detalle-copy {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.worker-terminal__detalle-icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  background: #e0f2fe;
  color: #0369a1;
}

.worker-terminal__detalle-copy strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 800;
}

.worker-terminal__detalle-copy small {
  display: block;
  margin-top: 0.18rem;
  color: #64748b;
  font-size: 0.79rem;
  line-height: 1.4;
}

.worker-terminal__detalle-contenido {
  padding: 0 1rem 1rem;
}

.worker-terminal__detalle-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  color: #5e6d7d;
  font-size: 0.8rem;
  font-weight: 700;
}

.worker-terminal__detalle-copiar {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid #c7d8e7;
  border-radius: 0.7rem;
  background: #f8fbff;
  color: #0f172a;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
}

.worker-terminal__detalle-resumen {
  margin: 0;
  padding: 0.9rem;
  border: 1px solid #dce8f2;
  border-radius: 0.8rem;
  background: #f8fbff;
  color: #15324d;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}

.worker-terminal-dock-shell {
  position: relative;
}

.worker-terminal-dock,
.diagnostico-candidatos-dock {
  display: flex;
  width: min(19.75rem, calc(100vw - 2rem));
  min-width: 19.75rem;
  max-width: min(19.75rem, calc(100vw - 2rem));
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 0.85rem;
  border: 1px solid #bcd7ec;
  border-radius: 1rem;
  background: linear-gradient(180deg, #f4f9ff 0%, #eaf3ff 100%);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14);
  backdrop-filter: blur(10px);
}

.worker-terminal-dock__resumen,
.diagnostico-candidatos-dock__resumen {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.15rem;
}

.worker-terminal-dock__acciones,
.diagnostico-candidatos-dock__acciones {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.worker-terminal-dock__accion,
.diagnostico-candidatos-dock__accion,
.worker-terminal-flotante__accion {
  display: inline-flex;
  width: 1.95rem;
  height: 1.95rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #bdd6e8;
  border-radius: 0.68rem;
  background: rgba(255, 255, 255, 0.82);
  color: #0f5d95;
  cursor: pointer;
}

.worker-terminal-dock__accion:hover,
.diagnostico-candidatos-dock__accion:hover,
.worker-terminal-flotante__accion:hover {
  background: #f8fcff;
  border-color: #8cc6ee;
}

.worker-terminal-dock__accion .ui-icono,
.diagnostico-candidatos-dock__accion .ui-icono,
.worker-terminal-flotante__accion .ui-icono {
  width: 0.82rem;
  height: 0.82rem;
}

.worker-terminal-dock__encabezado {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.worker-terminal-dock__encabezado strong,
.diagnostico-candidatos-dock__resumen strong {
  color: #102235;
  font-size: 0.84rem;
  font-weight: 800;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.worker-terminal-dock__descripcion,
.diagnostico-candidatos-dock__resumen span {
  color: #64748b;
  font-size: 0.76rem;
  line-height: 1.35;
}

.worker-terminal-dock__estado,
.worker-terminal-flotante__estado {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.18rem 0.48rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  flex-shrink: 0;
  line-height: 1.15;
}

.worker-terminal-dock__estado.worker-terminal__badge--cargando,
.worker-terminal-flotante__estado.worker-terminal__badge--cargando {
  background: #e0f2fe;
  color: #0369a1;
}

.worker-terminal-dock__estado.worker-terminal__badge--activo,
.worker-terminal-flotante__estado.worker-terminal__badge--activo {
  background: #dcfce7;
  color: #13784f;
}

.worker-terminal-dock__estado.worker-terminal__badge--apagado,
.worker-terminal-flotante__estado.worker-terminal__badge--apagado {
  background: #fee2e2;
  color: #b42318;
}

.worker-terminal-dock__estado.worker-terminal__badge--alerta,
.worker-terminal-flotante__estado.worker-terminal__badge--alerta {
  background: #fef3c7;
  color: #b45309;
}

.worker-terminal-dock__estado.worker-terminal__badge--error,
.worker-terminal-flotante__estado.worker-terminal__badge--error {
  background: #ffe4e6;
  color: #be123c;
}

.worker-terminal-dock__accion--cerrar,
.diagnostico-candidatos-dock__accion--cerrar,
.worker-terminal-flotante__accion--cerrar {
  color: #8b5c67;
}

.worker-terminal-flotante {
  position: fixed;
  right: 1rem;
  bottom: 5.5rem;
  z-index: 82;
  width: min(27rem, calc(100vw - 2rem));
  border: 1px solid #d8e3ec;
  border-radius: 1rem;
  background: linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%);
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.2);
  overflow: hidden;
}

.worker-terminal-flotante.is-dragging,
.worker-terminal-flotante.is-dragging * {
  user-select: none;
}

.worker-terminal-flotante__encabezado {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #fdfefe 0%, #f2f7ff 100%);
  cursor: grab;
  touch-action: none;
}

.worker-terminal-flotante.is-dragging .worker-terminal-flotante__encabezado {
  cursor: grabbing;
}

.worker-terminal-flotante__drag-copy {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
}

.worker-terminal-flotante__drag-grip {
  width: 0.95rem;
  height: 2.3rem;
  flex-shrink: 0;
  border-radius: 999px;
  background-image: radial-gradient(circle, #9db3c6 26%, transparent 28%);
  background-position: center;
  background-size: 0.38rem 0.38rem;
  background-repeat: repeat-y;
  opacity: 0.9;
}

.worker-terminal-flotante__titulo-bloque {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.18rem;
}

.worker-terminal-flotante__titulo-bloque strong {
  color: #102235;
  font-size: 0.85rem;
  font-weight: 800;
}

.worker-terminal-flotante__titulo-bloque small {
  color: #64748b;
  font-size: 0.72rem;
  line-height: 1.35;
}

.worker-terminal-flotante__acciones {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.worker-terminal-flotante__cuerpo {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.95rem 1rem 1rem;
}

.worker-terminal-flotante__resumen {
  margin: 0;
  color: #536170;
  font-size: 0.82rem;
  line-height: 1.45;
}

.worker-terminal-flotante__logs {
  min-height: 9rem;
  max-height: 14rem;
  margin: 0;
  padding: 0.9rem;
  overflow: auto;
  border-radius: 0.85rem;
  background: #07111f;
  color: #cfe5ff;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.74rem;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

@media (max-width: 720px) {
  .worker-terminal-dock,
  .diagnostico-candidatos-dock {
    min-width: 0;
    width: min(100%, calc(100vw - 2rem));
    max-width: min(100%, calc(100vw - 2rem));
  }

  .worker-terminal-flotante {
    width: min(100%, calc(100vw - 2rem));
  }

  .worker-terminal-flotante__encabezado {
    align-items: flex-start;
  }

  .worker-terminal-flotante__acciones {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}

.ui-boton-confirmar__contenido {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.ui-modal-confirmacion__cuerpo {
  display: flex;
  gap: 1.25rem;
}

.ui-modal-confirmacion__cuerpo--compacto {
  align-items: center;
  padding: 0.25rem 0;
}

.ui-modal-confirmacion__cuerpo--alerta {
  align-items: flex-start;
  border: 1px solid #cfe2f7;
  border-radius: 0.75rem;
  background: #f5faff;
  padding: 1rem;
}

.ui-modal-confirmacion__icono {
  display: inline-flex;
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
}

.ui-modal-confirmacion__icono .ui-icono {
  width: 2rem;
  height: 2rem;
}

.ui-modal-confirmacion__icono--informacion {
  background: #e5f3ff;
  color: var(--ui-color-primary);
}

.ui-modal-confirmacion__icono--advertencia {
  background: #ffefcf;
  color: #d97706;
}

.ui-modal-confirmacion__icono--peligro {
  background: #fde8e7;
  color: #d92d20;
}

.ui-modal-confirmacion__mensaje {
  margin: 0;
  color: #334155;
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 600;
}

.ui-modal-confirmacion__acento--informacion {
  background: var(--ui-color-primary);
}

.ui-modal-confirmacion__acento--advertencia {
  background: #d97706;
}

.ui-modal-confirmacion__acento--peligro {
  background: #d92d20;
}

.ui-modal-bloqueo {
  display: grid;
  gap: 1rem;
}

.ui-modal-bloqueo__tarjeta {
  overflow: hidden;
  border: 1px solid #efc27f;
  border-radius: 0.75rem;
  background: #fff;
}

.ui-modal-bloqueo__encabezado {
  display: flex;
  gap: 1rem;
  padding: 1.25rem;
}

.ui-modal-bloqueo__icono {
  display: inline-flex;
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #ffe4bb;
  color: #b45309;
  box-shadow: 0 0 0 8px #fff6e8;
}

.ui-modal-bloqueo__titulo {
  margin: 0;
  color: #844300;
  font-size: 1.05rem;
  font-weight: 700;
}

.ui-modal-bloqueo__mensaje {
  margin: 0.5rem 0 0;
  color: #5f4b32;
  line-height: 1.7;
}

.ui-modal-bloqueo__chip {
  display: inline-flex;
  width: calc(100% - 2.5rem);
  margin: 0 1.25rem 1.25rem;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid #f0be78;
  border-radius: 0.5rem;
  background: #fffaf3;
  padding: 0.75rem;
  color: #334155;
  font-size: 0.875rem;
}

.ui-modal-bloqueo__chip-icono {
  color: #c46a00;
}

.ui-modal-bloqueo__detalle {
  overflow: hidden;
  border: 1px dashed #b9c7d6;
  border-radius: 0.75rem;
  background: #f8fafc;
}

.ui-modal-bloqueo__detalle-boton {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 0;
  background: transparent;
  padding: 0.9rem 1rem;
  text-align: left;
  cursor: pointer;
}

.ui-modal-bloqueo__detalle-copy {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ui-modal-bloqueo__detalle-copy strong {
  display: block;
  color: #334155;
  font-size: 0.875rem;
}

.ui-modal-bloqueo__detalle-copy small {
  display: block;
  margin-top: 0.1rem;
  color: #6b7b8c;
  font-size: 0.75rem;
}

.ui-modal-bloqueo__detalle-icono {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: #536170;
  box-shadow: inset 0 0 0 1px #d9e1e8;
}

.ui-modal-bloqueo__detalle-contenido {
  border-top: 1px dashed #c8d5e2;
  background: rgba(255, 255, 255, 0.75);
  padding: 1rem;
}

.ui-modal-bloqueo__detalle-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.ui-modal-bloqueo__copiar {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2rem;
  border: 1px solid #cdd8df;
  border-radius: 0.5rem;
  background: #fff;
  padding: 0 0.75rem;
  color: #536170;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
}

.ui-modal-bloqueo__resumen {
  overflow-x: auto;
  border: 1px solid #d9e1e8;
  border-radius: 0.5rem;
  background: #fff;
  padding: 0.75rem;
  white-space: pre-wrap;
  color: #111827;
  font-size: 0.75rem;
  line-height: 1.6;
}

.ui-notificador {
  position: fixed;
  top: 5rem;
  right: 1rem;
  z-index: 70;
  display: grid;
  gap: 0.75rem;
  width: min(22rem, calc(100vw - 2rem));
}

.ui-notificador__item {
  display: grid;
  gap: 0.25rem;
  border: 1px solid #d7e1ea;
  border-radius: 0.75rem;
  background: #fff;
  padding: 0.85rem 1rem;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.15);
}

.ui-notificador__item strong {
  color: #07111f;
  font-size: 0.875rem;
}

.ui-notificador__item p {
  margin: 0;
  color: #536170;
  font-size: 0.875rem;
  line-height: 1.5;
}

.ui-notificador__item--exito {
  border-color: #86d9a9;
  background: #effcf4;
}

.ui-notificador__item--exito strong {
  color: #17683a;
}

.ui-notificador__item--exito p {
  color: #32754e;
}

.ui-demo-grid {
  display: grid;
  gap: 1rem;
}

.ui-demo-grid--dos {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ui-demo-grid--tres {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.ui-demo-stack {
  display: grid;
  gap: 0.75rem;
}

.ui-demo-encabezado {
  display: grid;
  gap: 0.4rem;
}

.ui-demo-encabezado h2 {
  margin: 0;
  color: #07111f;
  font-size: 1.12rem;
  font-weight: 700;
}

.ui-demo-encabezado p {
  margin: 0;
  color: #536170;
  line-height: 1.6;
}

.ui-demo-acciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.ui-demo-formulario {
  display: grid;
  gap: 1rem;
}

.ui-demo-paneles {
  display: grid;
  gap: 1rem;
}

.ui-demo-tab-panel {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 0;
}

.ui-demo-celda-acciones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
}

body.panel-procesos-vista-completa {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(188, 211, 255, 0.55), transparent 34%),
    radial-gradient(circle at bottom right, rgba(255, 227, 194, 0.6), transparent 30%),
    linear-gradient(180deg, #f6f8fc 0%, #eef3f8 100%);
}

.panel-procesos-vista-completa .layout-shell,
.panel-procesos-vista-completa .layout-main,
.panel-procesos-vista-completa .layout-body {
  min-height: 100vh;
}

.seguimiento-proceso-vista {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding: 1.5rem 1rem 2rem;
}

.seguimiento-proceso-vista__fondo {
  position: absolute;
  inset: auto;
  border-radius: 999px;
  filter: blur(10px);
  opacity: 0.65;
  pointer-events: none;
}

.seguimiento-proceso-vista__fondo--uno {
  top: -5rem;
  left: -2rem;
  width: 16rem;
  height: 16rem;
  background: rgba(78, 118, 255, 0.18);
}

.seguimiento-proceso-vista__fondo--dos {
  right: -3rem;
  bottom: -5rem;
  width: 18rem;
  height: 18rem;
  background: rgba(255, 182, 72, 0.18);
}

.seguimiento-proceso-vista__contenedor {
  position: relative;
  z-index: 1;
  width: min(1440px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}

.seguimiento-proceso-vista__encabezado {
  display: grid;
  gap: 1rem;
}

.seguimiento-proceso-vista__encabezado-copy {
  display: grid;
  gap: 0.35rem;
}

.seguimiento-proceso-vista__eyebrow {
  margin: 0;
  color: #7a8aa0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.seguimiento-proceso-vista__encabezado-copy h1 {
  margin: 0;
  color: #1b2a4b;
  font-size: clamp(2rem, 5vw, 2.65rem);
  line-height: 1.05;
}

.seguimiento-proceso-vista__encabezado-copy p {
  margin: 0;
  color: #5a6b86;
  font-size: 0.98rem;
}

.seguimiento-proceso-vista__acciones {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0.8rem;
}

.seguimiento-proceso-vista__boton-icono,
.seguimiento-proceso-vista__accion {
  min-height: 3.2rem;
  border-radius: 1.15rem;
}

.seguimiento-proceso-vista__boton-icono {
  display: inline-flex;
  width: 3.2rem;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(152, 176, 210, 0.34);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 245, 255, 0.98) 100%);
  color: #1b63dd;
  box-shadow: 0 14px 28px rgba(30, 58, 110, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.96);
  cursor: pointer;
}

.seguimiento-proceso-vista__boton-icono svg {
  width: 1.12rem;
  height: 1.12rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.seguimiento-proceso-vista__boton-icono[disabled] {
  opacity: 0.5;
  cursor: wait;
}

.seguimiento-proceso-vista__canal,
.seguimiento-proceso-vista__estado,
.seguimiento-proceso-vista__accion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 3.2rem;
  padding: 0 1.15rem;
  border: 1px solid rgba(152, 176, 210, 0.28);
  border-radius: 1.15rem;
  box-shadow: 0 14px 28px rgba(24, 56, 108, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.94);
  font-size: 0.94rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.seguimiento-proceso-vista__canal {
  min-width: 12.75rem;
}

.seguimiento-proceso-vista__estado {
  min-width: 5.75rem;
}

.seguimiento-proceso-vista__accion {
  min-width: 9.75rem;
}

.seguimiento-proceso-vista__canal,
.seguimiento-proceso-vista__estado {
  color: #4a5c77;
}

.seguimiento-proceso-vista__accion {
  border-color: rgba(248, 113, 113, 0.34);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 241, 242, 0.98) 100%);
  color: #b42318;
  cursor: pointer;
}

.seguimiento-proceso-vista__accion svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  flex: 0 0 auto;
}

.seguimiento-proceso-vista__accion[disabled] {
  border-color: rgba(203, 213, 225, 0.72);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 247, 251, 0.98) 100%);
  color: #9aa7b8;
  box-shadow: 0 14px 28px rgba(24, 56, 108, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.94);
  cursor: not-allowed;
}

.seguimiento-proceso-vista__canal::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.92;
  box-shadow: 0 0 0 0.18rem rgba(255, 255, 255, 0.62);
}

.seguimiento-proceso-vista__canal--conectando {
  color: #a35d00;
}

.seguimiento-proceso-vista__canal--conectado {
  color: #0f8f53;
}

.seguimiento-proceso-vista__canal--desconectado {
  color: #b24141;
}

.seguimiento-proceso-vista__estado {
  border-radius: 999px;
}

.seguimiento-proceso-vista__estado--pendiente {
  color: #9a6100;
  background: #fff4df;
}

.seguimiento-proceso-vista__estado--proceso {
  color: #9a6100;
  background: #fdf0db;
}

.seguimiento-proceso-vista__estado--exito {
  color: #157347;
  background: #e7f7ef;
}

.seguimiento-proceso-vista__estado--fallo {
  color: #a83f3f;
  background: #fdecec;
}

.seguimiento-proceso-vista__estado--neutral {
  color: #5b6980;
  background: #eef2f7;
}

.seguimiento-proceso-vista__meta {
  color: #4f6484;
  font-size: 0.88rem;
  font-weight: 600;
}

.seguimiento-proceso-vista__grid {
  display: grid;
  gap: 1rem;
}

.seguimiento-panel {
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(167, 190, 220, 0.95);
  border-radius: 1.4rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 251, 255, 0.94) 100%);
  box-shadow: 0 26px 52px rgba(31, 65, 120, 0.1);
  backdrop-filter: blur(12px);
}

.seguimiento-panel__encabezado {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.35rem 0;
}

.seguimiento-panel__encabezado h2 {
  margin: 0;
  color: #1b2a4b;
  font-size: 1.1rem;
}

.seguimiento-panel__encabezado p {
  margin: 0.35rem 0 0;
  color: #697b92;
  font-size: 0.9rem;
  line-height: 1.55;
}

.seguimiento-panel__contenido {
  flex: 1 1 auto;
  min-height: 0;
  padding: 1.2rem 1.35rem 1.35rem;
}

.seguimiento-panel__contenido--timeline {
  padding-top: 1rem;
}

.seguimiento-panel__placeholder,
.seguimiento-panel__alerta {
  margin: 0;
  border-radius: 1rem;
  padding: 1rem 1.1rem;
  font-size: 0.95rem;
}

.seguimiento-panel__placeholder {
  background: #f5f7fb;
  color: #667892;
}

.seguimiento-panel__alerta--error {
  background: #fdecec;
  color: #a23f3f;
}

.seguimiento-info-pillbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.seguimiento-info-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  border-radius: 999px;
  padding: 0 0.85rem;
  font-size: 0.84rem;
  font-weight: 800;
}

.seguimiento-info-pill--info {
  background: linear-gradient(135deg, #d8e8ff 0%, #c3dcff 100%);
  color: #0d56d9;
}

.seguimiento-info-pill--sistema {
  background: linear-gradient(135deg, #efe4ff 0%, #ddd0ff 100%);
  color: #6a34d7;
}

.seguimiento-info-lista {
  margin: 0;
  display: grid;
}

.seguimiento-info-lista__fila {
  display: grid;
  grid-template-columns: minmax(0, 9rem) minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid #e5ebf2;
}

.seguimiento-info-lista__fila dt,
.seguimiento-info-lista__fila dd {
  margin: 0;
}

.seguimiento-info-lista__fila dt {
  color: #6b7c93;
}

.seguimiento-info-lista__fila dd {
  color: #1e2f4f;
  font-weight: 600;
  text-align: right;
  word-break: break-word;
}

.seguimiento-info-bloque {
  margin-top: 1rem;
  border-radius: 1rem;
  background: #f6f8fc;
  padding: 1rem;
}

.seguimiento-info-bloque span {
  display: block;
  margin-bottom: 0.4rem;
  color: #8a98ad;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.seguimiento-info-bloque p {
  margin: 0;
  color: #1b2a4b;
  line-height: 1.6;
}

.seguimiento-resumen-circular {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e4ebf4;
}

.seguimiento-resumen-circular__grafica {
  --seguimiento-progreso: 0%;
  position: relative;
  width: 5.2rem;
  height: 5.2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#f59e0b 0 var(--seguimiento-progreso), #dfe8f5 var(--seguimiento-progreso) 100%);
}

.seguimiento-resumen-circular__grafica::before {
  content: "";
  position: absolute;
  inset: 0.5rem;
  border-radius: inherit;
  background: #fff;
}

.seguimiento-resumen-circular__grafica strong {
  position: relative;
  z-index: 1;
  color: #1b2a4b;
  font-size: 1.05rem;
}

.seguimiento-resumen-circular__copy {
  display: grid;
  gap: 0.15rem;
}

.seguimiento-resumen-circular__copy p,
.seguimiento-resumen-circular__copy strong,
.seguimiento-resumen-circular__copy span {
  margin: 0;
}

.seguimiento-resumen-circular__copy p {
  color: #7d8da3;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.seguimiento-resumen-circular__copy strong {
  color: #1b2a4b;
  font-size: 1.15rem;
}

.seguimiento-resumen-circular__copy span {
  color: #566983;
  font-size: 0.9rem;
}

.seguimiento-paso {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.75rem;
}

.seguimiento-paso + .seguimiento-paso {
  margin-top: 0.9rem;
}

.seguimiento-paso__riel {
  display: grid;
  justify-items: center;
  grid-template-rows: 1.5rem 1fr;
}

.seguimiento-paso__punto {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px rgba(167, 184, 208, 0.9);
  background: #d5deea;
}

.seguimiento-paso__punto--exito {
  background: linear-gradient(180deg, #30c26e 0%, #119d4e 100%);
}

.seguimiento-paso__punto--proceso,
.seguimiento-paso__punto--pendiente {
  background: linear-gradient(180deg, #ffb533 0%, #ec8f05 100%);
}

.seguimiento-paso__punto--fallo {
  background: linear-gradient(180deg, #ff7f7f 0%, #e54e4e 100%);
}

.seguimiento-paso__punto--neutral {
  background: linear-gradient(180deg, #a9b8cb 0%, #8495ac 100%);
}

.seguimiento-paso__punto-icono {
  display: inline-flex;
  width: 0.72rem;
  height: 0.72rem;
  align-items: center;
  justify-content: center;
  color: #fff;
  transform-origin: center;
}

.seguimiento-paso__punto-icono svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.seguimiento-paso__punto-icono--girando {
  animation: seguimiento-giro 0.95s linear infinite;
}

.seguimiento-paso__linea {
  width: 2px;
  background: linear-gradient(180deg, #d6dfec 0%, #eef3f9 100%);
}

.seguimiento-paso__tarjeta {
  border: 1px solid #e4ebf4;
  border-radius: 1rem;
  background: #fefefe;
  overflow: hidden;
}

.seguimiento-paso__cabecera {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border: 0;
  background: transparent;
  padding: 1rem 1rem 0.85rem;
  text-align: left;
  cursor: pointer;
}

.seguimiento-paso__indice {
  display: inline-block;
  margin-bottom: 0.35rem;
  color: #7a8aa0;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.seguimiento-paso__cabecera h3 {
  margin: 0;
  color: #1f3254;
  font-size: 1rem;
}

.seguimiento-paso__estado {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  border-radius: 999px;
  padding: 0 0.75rem;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: inset 0 0 0 1px rgba(215, 225, 236, 0.9);
  font-size: 0.84rem;
  font-weight: 800;
  white-space: nowrap;
}

.seguimiento-paso--exito .seguimiento-paso__tarjeta {
  background: linear-gradient(180deg, #eefbf3 0%, #e3f7eb 100%);
}

.seguimiento-paso--proceso .seguimiento-paso__tarjeta {
  background: linear-gradient(180deg, #fff5df 0%, #ffebc5 100%);
}

.seguimiento-paso--pendiente .seguimiento-paso__tarjeta {
  background: linear-gradient(180deg, #f9fbfd 0%, #f1f5f9 100%);
}

.seguimiento-paso--fallo .seguimiento-paso__tarjeta {
  background: linear-gradient(180deg, #fff3f3 0%, #ffe2e2 100%);
}

.seguimiento-paso--neutral .seguimiento-paso__tarjeta {
  background: linear-gradient(180deg, #f4f7fb 0%, #ebf0f6 100%);
}

.seguimiento-paso__detalle {
  padding: 0 1rem 1rem;
}

.seguimiento-paso__fecha,
.seguimiento-paso__mensaje,
.seguimiento-paso__detalle-texto {
  margin: 0;
}

.seguimiento-paso__fecha {
  color: #72839a;
  font-size: 0.87rem;
}

.seguimiento-paso__mensaje {
  margin-top: 0.5rem;
  color: #213557;
  line-height: 1.6;
}

.seguimiento-paso__detalle-texto {
  margin-top: 0.5rem;
  color: #546882;
  font-size: 0.92rem;
  line-height: 1.6;
}

.seguimiento-paso__payload {
  margin-top: 0.85rem;
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  border: 1px solid rgba(18, 117, 75, 0.16);
  border-radius: 0.7rem;
  background: rgba(255, 255, 255, 0.92);
  padding: 0 0.9rem;
  color: #0d8a55;
  font-weight: 700;
  cursor: pointer;
}

.seguimiento-resultado-vacio {
  min-height: 15rem;
  display: grid;
  place-items: center;
  gap: 0.75rem;
  border-radius: 1rem;
  background: #f6f8fc;
  padding: 1.5rem;
  text-align: center;
  color: #6a7b92;
}

.seguimiento-resultado-vacio__icono {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 1px solid #d4dce6;
  color: #97a5b8;
  font-size: 1.3rem;
}

.seguimiento-resultado-vacio p {
  margin: 0;
  max-width: 18rem;
  line-height: 1.65;
}

.seguimiento-resultado-grid {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.seguimiento-resultado-card {
  min-width: 0;
  border: 1px solid #d6e3f2;
  border-radius: 1rem;
  background: linear-gradient(180deg, #fbfdff 0%, #f2f7ff 100%);
  padding: 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.seguimiento-resultado-card span {
  display: block;
  color: #59739a;
  font-size: 0.82rem;
  margin-bottom: 0.35rem;
}

.seguimiento-resultado-card strong {
  display: block;
  color: #16398a;
  font-size: 1.35rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.seguimiento-resultado-detallado {
  display: grid;
  gap: 1rem;
}

.seguimiento-resultado-metricas {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}

.seguimiento-resultado-metrica {
  display: grid;
  gap: 0.2rem;
  border-radius: 0.9rem;
  border: 1px solid #d9e4ef;
  background: #f8fbff;
  padding: 0.95rem 0.8rem;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.seguimiento-resultado-metrica strong,
.seguimiento-resultado-metrica span {
  margin: 0;
}

.seguimiento-resultado-metrica strong {
  font-size: 1.55rem;
  line-height: 1;
}

.seguimiento-resultado-metrica span {
  font-size: 0.82rem;
  font-weight: 700;
}

.seguimiento-resultado-metrica--exito {
  border-color: #a9e5bf;
  background: linear-gradient(180deg, #effcf3 0%, #e2f8e8 100%);
  color: #0f8a4d;
}

.seguimiento-resultado-metrica--fallo {
  border-color: #f4b4b4;
  background: linear-gradient(180deg, #fff3f3 0%, #ffe8e8 100%);
  color: #d12f43;
}

.seguimiento-resultado-metrica--pendiente {
  border-color: #f2d27c;
  background: linear-gradient(180deg, #fff9e8 0%, #fff1c6 100%);
  color: #bf6a00;
}

.seguimiento-resultado-metrica--info {
  border-color: #cfe0f5;
  background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
  color: #2b5fb3;
}

.seguimiento-resultado-grupo {
  display: grid;
  gap: 0.65rem;
}

.seguimiento-resultado-grupo__titulo {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.seguimiento-resultado-grupo__titulo--exito {
  color: #0f8a4d;
}

.seguimiento-resultado-grupo__titulo--fallo {
  color: #d12f43;
}

.seguimiento-resultado-grupo__titulo--pendiente {
  color: #bf6a00;
}

.seguimiento-resultado-grupo__titulo--info {
  color: #56708f;
}

.seguimiento-resultado-grupo__lista {
  display: grid;
  gap: 0.75rem;
}

.seguimiento-resultado-item {
  min-width: 0;
  display: grid;
  gap: 0.45rem;
  border: 1px solid #dde7f1;
  border-radius: 0.9rem;
  background: #ffffff;
  padding: 0.95rem 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.seguimiento-resultado-item strong,
.seguimiento-resultado-item p {
  margin: 0;
}

.seguimiento-resultado-item strong {
  color: #1f3554;
  font-size: 1rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.seguimiento-resultado-item p {
  color: #556a83;
  font-size: 0.88rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.seguimiento-resultado-item--exito {
  border-color: #a9e5bf;
  background: linear-gradient(180deg, #effcf3 0%, #ebfbf1 100%);
}

.seguimiento-resultado-item--fallo {
  border-color: #f4b4b4;
  background: linear-gradient(180deg, #fff4f4 0%, #ffe9e9 100%);
}

.seguimiento-resultado-item--pendiente {
  border-color: #f2d27c;
  background: linear-gradient(180deg, #fff9e9 0%, #fff4d7 100%);
}

.seguimiento-resultado-item--info {
  border-color: #d6e3f2;
  background: linear-gradient(180deg, #fbfdff 0%, #f3f8ff 100%);
}

.seguimiento-proceso-vista__canal,
.seguimiento-proceso-vista__estado {
  border: 1px solid rgba(156, 178, 208, 0.2);
}

.seguimiento-proceso-vista__canal--conectando {
  color: #b36a0c;
  background: linear-gradient(180deg, #fff4de 0%, #ffe6ba 100%);
}

.seguimiento-proceso-vista__canal--conectado {
  color: #068c5b;
  background: linear-gradient(180deg, #ebfff6 0%, #cff7e1 100%);
}

.seguimiento-proceso-vista__canal--desconectado {
  color: #c44646;
  background: linear-gradient(180deg, #fff1f1 0%, #ffd9d9 100%);
}

.seguimiento-proceso-vista__estado--pendiente {
  color: #9a5f09;
  background: linear-gradient(180deg, #fff4df 0%, #ffe4ad 100%);
}

.seguimiento-proceso-vista__estado--proceso {
  color: #9d6108;
  background: linear-gradient(180deg, #fff2d6 0%, #ffd58b 100%);
}

.seguimiento-proceso-vista__estado--exito {
  color: #078656;
  background: linear-gradient(180deg, #e8fff2 0%, #c0f3d6 100%);
}

.seguimiento-proceso-vista__estado--fallo {
  color: #c14242;
  background: linear-gradient(180deg, #fff0f0 0%, #ffcaca 100%);
}

.seguimiento-proceso-vista__estado--neutral {
  color: #4f6480;
  background: linear-gradient(180deg, #f1f5fa 0%, #dfe8f2 100%);
}

.seguimiento-proceso-vista__boton-icono:hover,
.seguimiento-proceso-vista__accion:hover,
.seguimiento-proceso-vista__boton-icono:focus-visible,
.seguimiento-proceso-vista__accion:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(24, 56, 108, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

.seguimiento-proceso-vista__boton-icono:focus-visible,
.seguimiento-proceso-vista__accion:focus-visible {
  outline: 2px solid rgba(33, 104, 226, 0.22);
  outline-offset: 2px;
}

.seguimiento-proceso-vista__boton-icono,
.seguimiento-proceso-vista__accion {
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

@keyframes seguimiento-giro {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .seguimiento-paso__punto-icono--girando {
    animation: none;
  }
}

.seguimiento-payload-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
}

.seguimiento-payload-modal.oculto {
  display: none;
}

.seguimiento-payload-modal__fondo {
  position: absolute;
  inset: 0;
  background: rgba(10, 18, 32, 0.55);
}

.seguimiento-payload-modal__panel {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  margin: 1rem auto;
  overflow: hidden;
  border: 1px solid rgba(205, 215, 226, 0.9);
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 30px 60px rgba(15, 23, 42, 0.25);
}

.seguimiento-payload-modal__encabezado {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.25rem 1rem;
  border-bottom: 1px solid #e7edf5;
}

.seguimiento-payload-modal__encabezado h2,
.seguimiento-payload-modal__encabezado p {
  margin: 0;
}

.seguimiento-payload-modal__encabezado p {
  margin-top: 0.35rem;
  color: #657893;
}

.seguimiento-payload-modal__cerrar {
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 999px;
  background: #eef3f8;
  color: #43556e;
  font-weight: 800;
  cursor: pointer;
}

.seguimiento-payload-modal__grid {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
}

.seguimiento-payload-modal__columna {
  min-width: 0;
}

.seguimiento-payload-modal__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.seguimiento-payload-modal__toolbar strong {
  color: #1d3153;
}

.seguimiento-payload-modal__copiar {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  border: 1px solid #d7e0ea;
  border-radius: 0.65rem;
  background: #fff;
  padding: 0 0.85rem;
  color: #51657f;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

.seguimiento-payload-modal__pre {
  height: clamp(16rem, calc(100vh - 14rem), 30rem);
  overflow: auto;
  margin: 0;
  border-radius: 0.9rem;
  background: #0f1728;
  padding: 1rem;
  color: #dce8ff;
  font-size: 0.82rem;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

@media (min-width: 640px) {
  .ui-alerta-modulo {
    flex-direction: row;
    align-items: flex-start;
  }

  .ui-boton-barra-accion--normal {
    width: auto;
    min-width: 150px;
  }

  .ui-acciones-modal-base {
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }

  .ui-acciones-modal-base__confirmar {
    margin-left: auto;
  }

  .ui-paginacion-tabla {
    flex-direction: row;
    align-items: center;
  }

  .ui-paginacion-tabla__resumen {
    flex: 1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .ui-paginacion-tabla__pagina {
    width: auto;
    text-align: left;
  }

  .ui-modal-base {
    align-items: center;
    padding: 1rem;
  }

  .ui-modal-base__ventana {
    border-radius: 0.75rem;
  }

  .seguimiento-payload-modal__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  body.panel-procesos-vista-completa {
    overflow: hidden;
  }

  .seguimiento-proceso-vista {
    height: 100vh;
    min-height: 100vh;
    padding: 2rem;
  }

  .seguimiento-proceso-vista__encabezado {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .seguimiento-proceso-vista__contenedor {
    height: 100%;
    min-height: 0;
    grid-template-rows: auto auto minmax(0, 1fr);
  }

  .seguimiento-proceso-vista__grid {
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(260px, 0.95fr) minmax(420px, 1.25fr) minmax(260px, 0.9fr);
    grid-auto-rows: minmax(0, 1fr);
    align-items: stretch;
  }

  .seguimiento-panel {
    height: 100%;
    min-height: 0;
  }

  .seguimiento-panel__contenido {
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
  }

  .seguimiento-panel__contenido::-webkit-scrollbar {
    width: 0.7rem;
  }

  .seguimiento-panel__contenido::-webkit-scrollbar-track {
    background: transparent;
  }

  .seguimiento-panel__contenido::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(120, 154, 207, 0.85) 0%, rgba(76, 115, 179, 0.92) 100%);
    background-clip: padding-box;
  }

  .seguimiento-panel__contenido {
    scrollbar-width: thin;
    scrollbar-color: rgba(76, 115, 179, 0.9) transparent;
  }
}

@media (max-width: 639px) {
  .seguimiento-proceso-vista__acciones {
    align-items: stretch;
  }

  .seguimiento-proceso-vista__canal,
  .seguimiento-proceso-vista__estado,
.seguimiento-proceso-vista__accion {
    width: 100%;
    justify-content: center;
  }

  .seguimiento-info-lista__fila {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .seguimiento-info-lista__fila dd {
    text-align: left;
  }

  .seguimiento-resumen-circular {
    flex-direction: column;
    align-items: flex-start;
  }

  .seguimiento-paso__cabecera {
    flex-direction: column;
  }

  .seguimiento-paso__estado {
    white-space: normal;
  }
}

.diagnostico-candidatos {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.diagnostico-candidatos__pasos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.diagnostico-candidatos__paso {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.85rem;
  border: 1px solid #d7e4f0;
  border-radius: 999px;
  background: #f8fbff;
  color: #5f6f80;
  font-size: 0.8rem;
  font-weight: 700;
}

.diagnostico-candidatos__paso--activo {
  border-color: #b7d5ec;
  background: #eaf6ff;
  color: #0f5d95;
}

.diagnostico-candidatos__panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.diagnostico-candidatos__grid {
  display: grid;
  gap: 1rem;
}

.diagnostico-candidatos__grid--superior {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.diagnostico-candidatos__grid--filtros {
  grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(11rem, 0.7fr)) auto;
  align-items: end;
}

.diagnostico-candidatos__campo {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.45rem;
}

.diagnostico-candidatos__etiqueta {
  margin: 0;
  color: #334e68;
  font-size: 0.84rem;
  font-weight: 800;
}

.diagnostico-candidatos__acciones-busqueda {
  display: flex;
  align-items: end;
  justify-content: flex-end;
}

.diagnostico-candidatos__boton-buscar {
  min-width: 8.5rem;
}

.diagnostico-candidatos__resumen {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.diagnostico-candidatos__seleccionados {
  color: #0f5d95;
  font-size: 0.88rem;
  font-weight: 800;
}

.diagnostico-candidatos__paginacion {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 600;
}

.diagnostico-candidatos__tabla-marco {
  overflow: auto;
  border: 1px solid #d8e4ef;
  border-radius: 1rem;
  background: #fff;
}

.diagnostico-candidatos__tabla {
  width: 100%;
  min-width: 62rem;
  border-collapse: collapse;
}

.diagnostico-candidatos__tabla thead th {
  padding: 0.9rem 0.95rem;
  border-bottom: 1px solid #d8e4ef;
  background: linear-gradient(180deg, #2e58d6 0%, #294fc8 100%);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-align: left;
}

.diagnostico-candidatos__tabla tbody td {
  padding: 0.95rem;
  border-bottom: 1px solid #e8eff5;
  color: #102235;
  font-size: 0.84rem;
  vertical-align: top;
}

.diagnostico-candidatos__tabla tbody tr:last-child td {
  border-bottom: 0;
}

.diagnostico-candidatos__tabla tbody td strong {
  display: block;
  margin-bottom: 0.18rem;
}

.diagnostico-candidatos__tabla tbody td small {
  color: #64748b;
  font-size: 0.76rem;
}

.diagnostico-candidatos__columna-check {
  width: 3.5rem;
}

.diagnostico-candidatos__estado {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
}

.diagnostico-candidatos__estado--error {
  background: #fee2e2;
  color: #b42318;
}

.diagnostico-candidatos__estado--pendiente {
  background: #fef3c7;
  color: #b45309;
}

.diagnostico-candidatos__aviso-tabla {
  background: #f8fbff;
  color: #526274;
  text-align: center;
}

.diagnostico-candidatos__pie-tabla {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
}

.diagnostico-candidatos__tamano {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: #44576b;
  font-size: 0.84rem;
  font-weight: 700;
}

.diagnostico-candidatos__tamano-select {
  min-width: 5.5rem;
}

.diagnostico-candidatos__paginadores {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.diagnostico-candidatos__boton-paginacion {
  min-width: 7.5rem;
}

.diagnostico-candidatos__acciones-finales {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  width: 100%;
}

.diagnostico-candidatos__acciones-finales-botones {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
}

.diagnostico-candidatos__switch-contenedor {
  min-width: 20rem;
}

.diagnostico-candidatos__switch-panel {
  width: 100%;
}

.diagnostico-candidatos__switch-label {
  width: 100%;
  justify-content: space-between;
}

@media (max-width: 1024px) {
  .diagnostico-candidatos__grid--superior {
    grid-template-columns: minmax(0, 1fr);
  }

  .diagnostico-candidatos__grid--filtros {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnostico-candidatos__campo--busqueda,
  .diagnostico-candidatos__acciones-busqueda {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .diagnostico-candidatos__grid--filtros {
    grid-template-columns: minmax(0, 1fr);
  }

  .diagnostico-candidatos__resumen,
  .diagnostico-candidatos__pie-tabla,
  .diagnostico-candidatos__acciones-finales {
    align-items: stretch;
  }

  .diagnostico-candidatos__acciones-finales-botones,
  .diagnostico-candidatos__paginadores {
    width: 100%;
  }

  .diagnostico-candidatos__acciones-finales-botones .ui-boton-barra-accion,
  .diagnostico-candidatos__paginadores .ui-boton-barra-accion,
  .diagnostico-candidatos__boton-buscar {
    width: 100%;
  }

  .diagnostico-candidatos__switch-contenedor,
  .diagnostico-candidatos-dock {
    min-width: 0;
    width: min(100%, calc(100vw - 2rem));
  }
}
