/* Contenedor de filtros */
.lfa-filtros {
  margin-bottom: 20px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Inputs y select */
.lfa-filtros input,
.lfa-filtros select {
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  transition: all 0.3s ease;
}

.lfa-filtros input:focus,
.lfa-filtros select:focus {
  border-color: #095e2c;
  box-shadow: 0 0 5px rgba(108, 92, 231, 0.3);
  outline: none;
}

/* Botón */
.lfa-filtros button {
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  background: #23A455;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}

.lfa-filtros button:hover {
  background: #166133;
}

/* Tabla */
.lfa-tabla {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Encabezado */
.lfa-tabla thead {
  background: #3cbf6fa8;
}

.lfa-tabla th {
  padding: 12px;
  text-align: left;
  font-weight: 600;
  font-size: 14px;
  color: #444;
  border-bottom: 2px solid #eee;
}

/* Filas */
.lfa-tabla tbody tr {
  border-bottom: 1px solid #f1f1f1;
  transition: background 0.2s ease;
}

.lfa-tabla tbody tr:nth-child(even) {
  background: #fafafa;
}

.lfa-tabla tbody tr:hover {
  background: #F0FFF6;
}

/* Celdas */
.lfa-tabla td {
  padding: 12px;
  font-size: 14px;
  color: #333;
}

.lfa-tabla a.lfa-toggle {
  color: #0073aa;
  text-decoration: underline;
  cursor: pointer;
}

.lfa-tabla a.lfa-toggle:hover {
  color: #005177;
}

/* Bloque detalle */
.lfa-detalle-contenido {
  background: #fafafa;
  padding: 15px;
  border-radius: 8px;
}

.lfa-cerrar {
  margin-top: 10px;
  padding: 6px 12px;
  border: none;
  background: #23A455;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
}

.lfa-cerrar:hover {
  background: #166133;
}


/* Paginación */ 
.lfa-paginacion { 
	margin-top: 20px; 
	margin-bottom:20px; 
	text-align: center; 
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
} 
.lfa-paginacion a, .lfa-paginacion span { 
	display: inline-block; 
	margin: 0 5px; 
	padding: 8px 14px; 
	border-radius: 6px; 
	background: #eee; 
	text-decoration: none; 
	font-size: 14px; 
	color: #333; 
	transition: all 0.3s ease; 
} 
.lfa-paginacion a:hover { 
	background: #ddd; 
} 
.lfa-paginacion .current { 
	background: #23A455; 
	color: #fff; 
	font-weight: bold; 
}


/* 🔹 Adaptación para pantallas móviles */
@media (max-width: 768px) {
  /* Contenedor de filtros */
  .lfa-filtros {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .lfa-filtros input,
  .lfa-filtros select,
  .lfa-filtros button {
    width: 100%;
    font-size: 16px;
  }

  /* Tabla responsive */
  .lfa-tabla,
  .lfa-tabla thead,
  .lfa-tabla tbody,
  .lfa-tabla th,
  .lfa-tabla td,
  .lfa-tabla tr {
    display: block;
    width: 100%;
  }

  .lfa-tabla thead {
    display: none; /* Ocultar encabezado en mobile */
  }

  .lfa-tabla tr {
    margin-bottom: 15px;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 10px;
    background: #fff;
  }

  .lfa-tabla td {
    padding: 8px 10px;
    text-align: left;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #f1f1f1;
  }

  .lfa-tabla td:last-child {
    border-bottom: none;
  }

  /* Mostrar nombre de la columna antes del valor */
  .lfa-tabla td::before {
    content: attr(data-label);
    font-weight: 600;
    color: #555;
    flex: 1;
    margin-right: 10px;
  }

  /* Botón cerrar detalle */
  .lfa-cerrar {
    width: 100%;
    font-size: 14px;
  }

  /* Paginación */
  .lfa-paginacion a, 
  .lfa-paginacion span {
    padding: 10px 12px;
    font-size: 14px;
  }
}